Atenção!

Este artigo contém código PHP e destina-se a desenvolvedores. Oferecemos este código como uma cortesia, mas não fornecemos suporte para personalizações de código ou desenvolvimento de terceiros.

Para orientação extra, consulte o tutorial do WPBeginner sobre como adicionar código personalizado.

Dispensar

Enviando o Número de Telefone do Usuário para Authorize.Net

Você gostaria de enviar o número de telefone dos usuários que preenchem seu formulário de pagamento para o Authorize.net? Por padrão, o WPForms já oferece opções para enviar o nome, endereço de e-mail e endereço do cliente na aba Authorize.net dentro das configurações de Pagamento.

Neste tutorial, vamos guiá-lo através de como enviar o número de telefone com cada transação usando um snippet PHP personalizado.


Criando Seu Formulário de Pagamento

Observação: Você precisará de um nível de licença Elite para acessar o método de pagamento Authorize.net.

Para começar, vamos criar um novo formulário de pagamento e adicionar nossos campos a este formulário. No formulário, também incluiremos o campo Telefone que usaremos para capturar o número de telefone do usuário.

Depois de criarmos o formulário, configuraremos a aba Pagamentos para processar transações do Authorize.net. Se precisar de ajuda para criar um formulário do Authorize.net, consulte esta documentação útil.

Mapeando os Campos

Em seguida, mapearemos nossos campos de Nome, E-mail e Endereço para enviar essas informações com cada envio de formulário.

Para fazer isso, vá para Pagamentos » Authorize.net dentro do construtor de formulários. Em seguida, ative a opção Ativar pagamentos Authorize.Net para a posição ligada.

Habilitar pagamentos Authorize.net

Depois de ativar esta opção, prossiga e mapeie os campos apropriados e forneça a descrição do pagamento e qualquer lógica condicional que você possa querer.

Para este tutorial, não usaremos o recurso Ativar Lógica Condicional, então ele permanecerá desativado.

você pode mapear o nome, e-mail e endereço para o authorize.net a partir do construtor de formulários WPForms

Adicionando o Snippet

Agora, é hora de adicionar o snippet ao nosso site. Se precisar de ajuda sobre como e onde adicionar snippets personalizados, consulte este tutorial.

/*
 * Include a phone number with Authorize.Net args.
 *
 * @link  https://wpforms.com/developers/how-to-send-the-phone-number-to-authorize-net/
 */
  
function wpf_dev_authorize_net_process_payment_single_add_phone_to_args( $args, $process ) {
      
    // Replace 26 in $process->fields[3] to an id of your phone field.
    if ( isset( $process->fields[3][ 'value' ] ) ) {
          
        $args[ 'phone' ] = $process->fields[3][ 'value' ];
          
    }
      
    return $args;
}
  
add_filter( 'wpforms_authorize_net_process_payment_single_args', 'wpf_dev_authorize_net_process_payment_single_add_phone_to_args', 10, 2 );
  
/**
 * Set the phone number on customer billing information.
 *
 * @link  https://wpforms.com/developers/how-to-send-the-phone-number-to-authorize-net/
 */
   
function wpf_dev_authorize_net_process_transaction_add_phone_to_transaction( $transaction, $args ) {
  
   $bill_to = $transaction->getBillTo();
  
   if ( is_null( $bill_to ) ) {
      $bill_to = new netauthorizeapicontractv1CustomerAddressType();
   }
  
   $phone = $args[ 'phone' ];
  
   $bill_to->setPhoneNumber( $phone );
  
   $transaction->setBillTo( $bill_to );
  
   return $transaction;
}
  
add_filter( 'wpforms_authorize_net_process_transaction', 'wpf_dev_authorize_net_process_transaction_add_phone_to_transaction', 10, 2 );

Este snippet procurará o ID do campo definido para o número de telefone. Neste caso, o ID do campo para o nosso campo Telefone é 3. Ele então armazenará esse número e o processará na próxima função para setPhoneNumber nas informações de faturamento da transação.

ID do campo de telefone

Você precisará atualizar o ID do campo para corresponder ao seu próprio ID para o campo Telefone. Se precisar de ajuda para encontrar seu número de ID, consulte este tutorial.

Agora, quando as transações forem processadas, você verá facilmente que o número de telefone agora faz parte das informações de faturamento do cliente.

o número de telefone foi passado com a transação e está armazenado nas informações de faturamento do cliente

Perguntas Frequentes

Estas são as respostas para algumas das principais perguntas que vemos sobre o envio do valor do campo de número de telefone para o Authorize.Net.

P: Por que este snippet não está funcionando para mim?

R: Se você não estiver vendo o número de telefone em suas transações, certifique-se de ter atualizado o ID dentro de fields[3][ 'value' ].

É isso! Você aprendeu como adicionar o valor do campo de número de telefone aos pagamentos do Authorize.Net.

Em seguida, você também gostaria de enviar um número de fatura para o Authorize.Net? Certifique-se de conferir nosso tutorial sobre como enviar um número de fatura através dos pagamentos do Authorize.Net.

Referências de Filtro: