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á lhe dá opções para enviar o nome, o endereço de e-mail e o endereço do cliente na guia Authroize.net dentro das configurações de pagamento.
Neste tutorial, mostraremos como enviar o número de telefone com cada transação usando um snippet PHP personalizado.
Como criar 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, criaremos um novo formulário de pagamento e adicionaremos nossos campos a esse formulário. No formulário, também incluiremos o campo Phone que usaremos para capturar o número de telefone do usuário.
Depois de criarmos o formulário, definiremos a guia Payments (Pagamentos) para processar transaçõ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 nossos campos Nome, E-mail e Endereço para enviar essas informações a cada envio de formulário.
Para fazer isso, vá para Payments " Authorize.net dentro do construtor de formulários. Em seguida, alterne a opção Habilitar pagamentos do Authorize.Net para a posição ativada.

Depois de ativar essa opção, vá em frente e mapeie os campos apropriados e forneça a descrição do pagamento e qualquer lógica condicional que desejar.
Para este tutorial, não usaremos o recurso Enable Conditional Logic (Ativar lógica condicional), portanto, ele permanecerá desativado.

Adicionando 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 );
Esse snippet procurará o ID do campo definido para o número de telefone. Nesse caso, o ID do campo Phone é 3. Em seguida, ele armazenará esse número e o processará na próxima função para definirPhoneNumber nas informações de faturamento da transação.

Você precisará atualizar o ID do campo para que corresponda ao seu próprio ID do campo Phone. 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 cobrança do cliente.

Perguntas frequentes
Estas são as respostas para algumas das principais perguntas que recebemos sobre o envio do valor do campo de número de telefone para o Authorize.Net.
P: Por que esse snippet não está funcionando para mim?
A: Se não estiver vendo o número de telefone em suas transações, verifique se atualizou o ID dentro do site fields[
3][ 'value' ]
.
É isso aí! Agora você aprendeu a adicionar o valor do campo do 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? Não deixe de conferir nosso tutorial sobre como enviar um número de fatura por meio de pagamentos do Authorize.Net.
Relacionado
Referências de filtros: