• Resolved wp_edu

    (@alemao2k6)


    Tenho um plugin de checkout (método de pagamento) que adiciona seu próprio campo de “CPF ou CNPJ” no checkout do Woocommerce, pois necessita dessa informa??o para uma requisi??o via API.

    Usando o Extra Checkout Fields for Brazil, este campo n?o é utilizado mas acaba funcionando apenas o CPF para a requisi??o via API deste meu checkout.

    Gostaria de sugerir adicionar uma op??o para combinar os campos billing_cpf e billing_cnpj em um único campo (poderia ser o billing_cpf), ao invés de termos ambos sempre separados. Isso requer mexer ou desativar a valida??o do campo também, quando esta op??o estiver ligada.

    Com essa nova op??o, ficaria mais simples de personalizar qual campo deve ser usado por outros plugins que usam os campos de CPF/CNPJ, sem ter que mexer com a programa??o deste plugin.

    Se já tiver alguma alternativa, filtro ou algo que possa ser feito já neste plugin para que o campo CNPJ seja o mesmo que o CPF, pe?o a gentileza de me orientar na dire??o certa.

    Grato

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Author Claudio Sanches

    (@claudiosanches)

    Oi @alemao2k6.

    Ent?o, eu acho que n?o vai ser possível isso, além de ser mega especifico, eu n?o acho que seja necessário. No seu plugin você consegue pegar ambos os campos e usar o que esta disponível. Também da para verificar as op??es do deste plugin para ver se precisar aceitar CPF ou CNPJ.

    Se você quiser eu consigo te ajudar arrumar isso.

    Thread Starter wp_edu

    (@alemao2k6)

    Entendo perfeitamente. O que está me pegando é que o argumento que é enviado para a API ao finalizar a compra é este:


    ‘client[cpf]’ => sanitize_text_field($_POST[‘billing_cpf’]),


    Mas n?o consigo encontrar uma maneira de verificar na página de checkout, se o cliente escolheu PF ou PJ, para pegar o valor de billing_cnpj quando está fazendo a compra como pessoa jurídica.

    Tudo que tentei até agora dá erro no WP/PHP.

    Como eu poderia popular este campo com o CNPJ, quando o cliente está comprando como PJ?

    (Acredito que o objeto $order ainda n?o exista neste ponto, pois é antes de criar o pedido?)

    Obrigado

    Plugin Author Claudio Sanches

    (@claudiosanches)

    @alemao2k6 Aqui um exemplo de como pode ser feito:

    // Recupera as configura??es do plugin.
    $wcbcf_settings = get_option( 'wcbcf_settings' );
    
    // Recupera o tipo de pessoa configurado no plugin.
    // 1 = PF e PJ, 2 = PF, 3 = PJ.
    $setting_person_type = intval( $wcbcf_settings['person_type'] );
    
    // Recupera o tipo de pessoa selecionado no checkout.
    $billing_person_type = isset( $_POST['billing_persontype'] ) ? intval( wp_unslash( $_POST['billing_persontype'] ) ) : 0;
    
    if (
        ( 1 === $setting_person_type && 1 === $billing_person_type )
        || 2 === $setting_person_type
    ) {
        $data['client']['cpf'] = sanitize_text_field( wp_unslash( $_POST['billing_cpf'] ) );
    }
    
    if (
        ( 1 === $setting_person_type && 2 === $billing_person_type )
        || 3 === $setting_person_type
    ) {
        $data['client']['cnpj'] = sanitize_text_field( wp_unslash( $_POST['billing_cnpj'] ) );
    }

    Assim da para considerar as op??es do plugin e recuperar o campo correto selecionado durante o checkout.

    Thread Starter wp_edu

    (@alemao2k6)

    Que maravilha. Muito obrigado Claudio. Vou testar o código nos próximos dias, hoje n?o consegui o tempo para isso, mas confio que dará 100% certo, ent?o vou marcar aqui como resolvido. Mais uma vez, muito obrigado.

    Plugin Author Claudio Sanches

    (@claudiosanches)

    Se estiver em um repositório publico eu consigo até contribuir lá para te ajudar.

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Op??o de ter CPF/CNPJ em um único (mesmo) campo’ is closed to new replies.