• Resolved bsantana

    (@bsantana)


    Estou usando o woocommerce-extra-checkout junto com o vindi e quando preencho os campos do cart?o e clico em concluir ele me da o aviso de telefone invalido sendo que n?o tenho esse campo, eu o removi com as actions do woocommerce.
    Ah um outro porem, quando me cadastro por depósito ou qualquer outra forma sem ser cart?o de crédito o erro n?o persiste e ele finaliza certinho o cadastro.

    Esse seria o erro:

    Número de telefone inválido
    Erro ao cadastrar o telefone
    Falha ao registrar o usuário. Verifique os dados e tente novamente.

    já até ativei o campo novamente para testar e tirei o required dele e continua o mesmo erro…

    • This topic was modified 7 years, 5 months ago by bsantana.
    • This topic was modified 7 years, 5 months ago by bsantana.
Viewing 8 replies - 1 through 8 (of 8 total)
  • Thread Starter bsantana

    (@bsantana)

    Infelizmente descobri que o erro vinha do vindi,
    n?o sei se ajuda em algo mas vou por o log do email que mandei pro pessoal de lá, irei copiar aqui pois sou novo em dev e gostaria de saber a solu??o desse problema por ambas as partes…

    –###########################–
    Olá, estudando o código do plugin “Vindi” realmente vi que vocês n?o funcionam com o campo de celular “billing_cellphone” do woocommerce extra checkout fields for brazil, onde no arquivo includes/class-vindi-payment.php vocês fazendo uma chamada direta ao woocommerce
    /**
    * Order that will be paid;
    * @var WC_Order
    */
    protected $order;

    já no mesmo arquivo na linha 28 vocês fazem a seguinte chamada do woocommerce
    $phone_number = preg_replace(‘/\D+/’, ”, ’55’ . $this->order->get_billing_phone());

    onde o get_billing_phone() somente trás o campo de billing_phone padr?o do woocommerce e n?o do extra checkout que seria o billing_cellphone para celulares.

    na documenta??o de vocês n?o explica nada de impedimento em caso de número de celular alias lá está escrito telefone(s) e o campo está como opcional.
    phones (array[Phone], opcional): Lista de números de telefone do cliente

    No caso como eu realmente n?o estava passando nenhum numero de telefone ele continuava avisando o erro mesmo dizendo que é opcional na documenta??o da api. Verificando o log de erro ele adiciona um código +55 que seria do país e assim talvez tratando o valor do campo com 2 digitos como invalido gerando o erro. segue o log abaixo:

    “phones”:[{“phone_type”:”landline”,”number”:”55″}],”metadata”:[]}
    06-28-2017 @ 14:42:23 – [Request #1900936857]: Nova Resposta da API.
    422 Unprocessable Entity
    {“errors”:[{“id”:”invalid_parameter”,”parameter”:”phones.number”,”message”:”inválido(a)”},{“id”:”invalid_parameter”,”parameter”:”phones”,”message”:”inválido(a)”}]}
    06-28-2017 @ 14:42:23 – [Request #786631382]: Novo Request para a API.
    GET https://app.vindi.com.br/api/v1/customers/

    Olá bsantana como resolveu? estou com o mesmo problema.

    Thread Starter bsantana

    (@bsantana)

    Você está utilizando o vindi?

    Sim, mesma aplica??o e mesmo problema, segue a resposta do suporte deles, eu entendi o problema, mas realmente n?o é interessante para mim manter o telefone no checkout:

    “Esta mensagem de erro está impedindo a finaliza??o da compra porque um número inválido de telefone está sendo enviado durante o checkout. Caso você tenha desabilitado o preenchimento deste campo, é capaz que a sua integra??o ainda esteja enviando o DDD, isso faz com que a nossa plataforma espere o número completo, que n?o é enviado.

    O melhor a se fazer neste caso será remover possíveis informa??es passadas para o checkout de forma invisível (como o DDD). Esta informa??o provavelmente está vinculada ao seu Woocommerce Extra Checkout Fields for Brazil. Você também pode optar por ativar este campo em seu checkout, desta forma, o cliente informará o número, que será registrado com sucesso em nossa plataforma.

    Qualquer dúvida, conte comigo!”

    Thread Starter bsantana

    (@bsantana)

    Ent?o cara, quando eu entrei em contato com eles, mal souberam me informar o motivo nem a solu??o, olhando o código do plugin realmente ah um erro por parte deles, pois o vindi me obriga a passar algum telefone algo que n?o deveria caso eu n?o quisesse nenhum tipo de telefone no checkout, você só tem uma saída no momento que seria manter o campo de telefone que foi o que eu tive que fazer com o cliente para resolver o erro de imediato pois estavamos com os pagamentos parado… agora tem que ver com os caras do vindi como resolver isso caso você n?o queria nenhum telefone obrigatório… caso você queira resolver o erro rápido sem manter nenhum telefone terá que alterar o código do plugin direto, comentando uma linha onde ele adiciona o código do país “Que também n?o é uma boa pratica alterar o código do plugin por causa das atualiza??es”… enfim vai de cada um! tenta entrar em contato de novo e refor?a a ideia de que o cliente n?o quer passar nenhum tipo de telefone se esse for o seu caso.

    • This reply was modified 7 years, 4 months ago by bsantana.

    Segue a resposta deles:

    O telefone n?o é obrigatório, mas, caso você informe qualquer digito (como o DDD), a plataforma esperará o número completo.

    Analisei internamente no Vindi Woocommerce Subscriptions e identifiquei no código onde possivelmente está sendo enviado:
    https://github.com/vindi/vindi-woocommerce-subscriptions/blob/master/includes/class-vindi-payment.php#L128

    No link acima, você conseguirá verificar onde a altera??o deverá ser feita para que a sua integra??o deixe de enviar o “55”. Assim, você conseguirá remover o campo de telefone do seu checkout sem nenhum problema.

    Thread Starter bsantana

    (@bsantana)

    ent?o nessa linha mesmo, se você for ver mesmo você n?o passando nenhum telefone ele adiciona esse 55 que é o código do país por isso do erro estar acontecendo, seria só você ir nessa linha do plugin e alterar deixando a variavel $phone_number vazia, só que quando você atualizar o plugin ira sair a modifica??o.

    Eu setei um telefone qualquer e ele funcionou por algumas horas n?o sei se eles mudaram algo la, mas simplesmente parou de funcionar novamente, deixando a variável vazia também n?o funciona.

Viewing 8 replies - 1 through 8 (of 8 total)
  • The topic ‘TELEFONE INVALIDO’ is closed to new replies.