Volete inviare il numero di telefono degli utenti che compilano il vostro modulo di pagamento ad Authorize.net? Per impostazione predefinita, WPForms offre già la possibilità di inviare il nome, l'indirizzo e-mail e l'indirizzo del cliente dalla scheda Authroize.net nelle impostazioni di pagamento.
In questo tutorial vi spiegheremo come inviare il numero di telefono a ogni transazione utilizzando uno snippet PHP personalizzato.
Creazione del modulo di pagamento
Nota: per accedere al metodo di pagamento Authorize.net è necessario un livello di licenza Elite.
Per iniziare, creeremo un nuovo modulo di pagamento e vi aggiungeremo i nostri campi. Nel modulo, includeremo anche il campo Telefono, che utilizzeremo per acquisire il numero di telefono dell'utente.
Una volta creato il modulo, imposteremo la scheda Pagamenti per elaborare le transazioni Authorize.net. Se avete bisogno di assistenza per creare un modulo Authorize.net, consultate questa utile documentazione.
Mappatura dei campi
Quindi, mappiamo i campi Nome, Email e Indirizzo per inviare queste informazioni a ogni invio del modulo.
Per farlo, andare su Pagamenti " Authorize.net dall'interno del costruttore di moduli. Quindi, attivare l'opzione Abilita pagamenti Authorize.Net.

Una volta attivata questa opzione, è possibile mappare i campi appropriati e fornire la descrizione del pagamento e la logica condizionale desiderata.
Per questa esercitazione, non utilizzeremo la funzione Abilita logica condizionale, che rimarrà quindi disattivata.

Aggiunta dello snippet
Ora è il momento di aggiungere lo snippet al nostro sito. Se avete bisogno di assistenza su come e dove aggiungere gli snippet personalizzati, consultate questo 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 );
Questo frammento cercherà l'ID del campo impostato per il numero di telefono. In questo caso, l'ID del campo Telefono è 3. Memorizza il numero e lo elabora nella funzione successiva per impostare il numero di telefono nelle informazioni di fatturazione della transazione.

È necessario aggiornare l'ID del campo in modo che corrisponda al proprio ID per il campo Telefono. Se avete bisogno di aiuto per trovare il vostro numero ID, consultate questa guida.
Ora, quando le transazioni vengono elaborate, è facile vedere che il numero di telefono fa ora parte delle informazioni di fatturazione del cliente.

Domande frequenti
Queste sono le risposte ad alcune delle domande più frequenti sull'invio del valore del campo numero di telefono ad Authorize.Net.
D: Perché questo frammento non funziona per me?
A: Se non vedete il numero di telefono sulle vostre transazioni, assicuratevi di aver aggiornato l'ID all'interno del sito. fields[
3][ 'value' ]
.
Ecco fatto! Avete imparato come aggiungere il valore del campo del numero di telefono ai pagamenti Authorize.Net.
Poi, volete anche inviare un numero di fattura ad Authorize.Net? Consultate il nostro tutorial su come inviare un numero di fattura attraverso i pagamenti Authorize.Net.
Correlato
Riferimenti ai filtri: