Enviando o número de telefone do usuário para Authorize.Net

Gostaria de enviar o número de telefone dos utilizadores que preenchem o seu formulário de pagamento para Authorize.net? Por padrão, o WPForms já lhe dá opções para enviar o nome do cliente, endereço de e-mail e endereço da guia Authroize.net dentro das configurações de pagamento.

Neste tutorial, vamos mostrar-lhe como enviar o número de telefone com cada transação utilizando um snippet PHP personalizado.


Criar o formulário de pagamento

Nota: É necessário um nível de licença Elite para aceder ao método de pagamento Authorize.net.

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

Depois de criarmos o formulário, definiremos o separador Pagamentos para processar transacções Authorize.net. Se precisar de ajuda para criar um formulário Authorize.net, consulte esta documentação útil.

Mapeamento dos campos

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

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

Ativar pagamentos Authorize.net

Depois de ativar esta opção, mapeie os campos adequados e forneça a descrição do pagamento e qualquer lógica condicional que pretenda.

Para este tutorial, não utilizaremos a funcionalidade Ativar lógica condicional, pelo que esta permanecerá desactivada.

pode mapear o nome, o correio eletrónico e o endereço para authorize.net a partir do construtor de formulários WPForms

Adicionar o snippet

Agora, é hora de adicionar o snippet ao nosso site. Se precisar de ajuda para saber 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 que está definido para o número de telefone. Neste caso, o ID de campo para o nosso campo Telefone é 3. Em seguida, armazena esse número e processa-o na função seguinte para definirPhoneNumber nas informações de faturação da transação.

ID do campo do telefone

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

Agora, quando as transacções forem processadas, verá facilmente que o número de telefone faz agora parte das informações de faturação do cliente.

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

Perguntas mais frequentes

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

P: Porque é que este excerto não está a funcionar para mim?

A: Se não vir o número de telefone nas suas transacções, certifique-se de que actualizou a ID no interior fields[3][ 'value' ].

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

Em seguida, também gostaria de enviar um número de fatura para o Authorize.Net? Não deixe de consultar o nosso tutorial sobre como enviar um número de fatura através de pagamentos Authorize.Net.

Referências de filtros: