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.

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.

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.

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.

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.
Relacionadas
Referências de filtros: