Come rimandare al pagamento con carta di credito usando PayPal

Questo articolo è dedicato a chi usa PayPal per i pagamenti sul proprio sito. Ottimizzare lo strumento per rendere l’esperienza di acquisto più semplice possibile è certamente uno degli obiettivi di chi vende online. Far atterrare quindi l’acquirente sulla pagina di pagamento più corretta per le proprie esigenze va senz’altro in questa direzione.

Di seguito vedremo quindi come forzare PayPal a far atterrare l’utente sul form di pagamento con la carta di credito, invece che su quello di login del proprio account.

Cos’è PayPal e perché ha avuto tutto questo successo

PayPal è uno dei sistemi di pagamento sicuramente più utilizzati sui siti di commercio online. Il suo punto di forza principale è la facilità d’uso e di integrazione su ogni sito web: dal semplice pulsante di pagamento alle API più sofisticate, sarà facile trovare la soluzione idonea alla propria situazione.

Per quanto guarda i costi, non è certamente economico, dato che nel peggiore dei casi prevede una commissione pari a 0,34 Euro + il 3,4% dell’importo della transazione. Tale percentuale può comunque scendere all’aumentare del fatturato mensile. Quello che lo rende però interessante per molti esercenti è che non ha costi fissi, ma si paga solamente in base al venduto, cosa assolutamente importante nella fase di avvio di un nuovo business.

Dove far atterrare l’acquirente?

Il cliente che si trova a pagare in questa modalità può così scegliere se usare il proprio conto PayPal, nel caso ne abbia uno, o tramite carta di credito. Ed è con questa considerazione che ci avviciniamo al motivo di questo articolo: la preoccupazione di molti venditori infatti è quella che il cliente non sia informato della possibilità di usare una di queste due modalità e creda invece che sia necessario un conto PayPal per pagare.

La pagina su cui atterra l’acquirente dopo aver scelto la modalità di pagamento in genere è quella con il form di login su PayPal riservato a chi è già iscritto alla piattaforma. Solo sotto è indicata la possibilità di pagare con carta, a cui si può accedere con un click.

Ma siamo sicuri che questa possibilità sia chiara ed accessibile a tutti?

Pur non essendo molto documentata, in realtà esiste la possibilità di invertire la sequenza, facendo atterrare il cliente direttamente sulla pagina di pagamento con carta di credito. Vediamo come.

Integrazione con API o con PayPal Button

La modalità per impostare l’atterraggio sul form della carta di credito è differente a seconda che si stia usando l’integrazione con API o con il bottone di PayPal.

Integrazione con API

Ci riferiamo in questo caso alle API di tipo NVP o SOAP, le cui documentazioni sono in comune. Questa integrazione prevede il metodo SetExpressCheckout per impostare i dati della transazione.

Tra i vari argomenti che è possibile inviare con questo metodo, ne esiste uno dal nome LANDINGPAGE, che può assumente due valori: Billing e Login. Quest’ultimo, il valore predefinito, farà si che l’utente atterri sul form di login di Paypal. Usare l’altro otterrà quindi l’effetto opposto, ovvero quello di avere l’atterraggio sul form di pagamento con carta di credito.

Integrazione con bottone di PayPal

Nel caso si gestisca il passaggio al gateway di PayPal usando la modalità dei bottoni, la situazione è simile, sebbene non del tutto uguale. Trovare una soluzione in questo caso è stato più difficile, dato che non è ufficialmente documentata.

Si tratta però semplicemente di inviare un campo ulteriore tramite il form del bottone di PayPal. Preciso, per chi dovesse averne bisogno, che questa soluzione non prevede necessariamente la presenza del bottone all’interno del sito: il funzionamento del bottone può essere infatti simulato semplicemente inviando al gateway di PayPal i dati necessari all’interno della propria applicazione, tramite POST o anche GET.

Il nome del campo in questo caso è landing_page, mentre il valore da utilizzare per ottenere l’effetto desiderato è sempre Billing.

Nel caso si usi un form HTML, questo è il codice del campo da inserire:

<input name="landing_page" type="hidden" value="Billing">

Implementazione nei CMS più diffusi

Essendo da tempo un programmatore di WordPress e altre piattaforme, conosco i dettagli di implementazione di questa soluzione per due diffusi CMS per ecommerce, che sono anche quelli che uso abitualmente: WooCommerce per WordPress e Prestashop. Nel caso conosciate come integrare tutto questo con altri CMS e vogliate comunicarmela, sarà lieto di integrare il post.

WooCommerce per WordPress

WooCommerce usa l’impostazione dei bottoni di PayPal. Il problema può essere elegantemente risolto creando un filtro sull’hook di WooCommerce woocommerce_paypal_args.

Questo è il codice PHP, da inserire nel proprio tema o in un plugin:

function woocommerce_paypal_args_for_billing_landingpage($paypal_args){

$paypal_args['landing_page'] = 'Billing';

return $paypal_args;

}

add_filter('woocommerce_paypal_args', 'woocommerce_paypal_args_for_billing_landingpage');

Prestashop

Il modulo PayPal predefinito di Prestashop, nel momento in cui scrivo giunto alla versione 3.11.4, non prevede esplicitamente la possibilità di selezionare la pagina di atterraggio tramite la configurazione. È necessario quindi agire direttamente sul codice del modulo.

Il file da modificare si chiama process.php e risiede nella cartella /modules/paypal/express_checkout/, partendo dalla root del CMS. È necessario individuare il metodo setExpressCheckout e trovare il punto dove viene valorizzata la variabile $fields[‘LANDINGPAGE’]. Nella versione degli sviluppatori a questa viene assegnato il valore Login, che andrà invece modificato in Billing come illustrato precedentemente.

La riga in questione dovrà diventare quindi questa:

$fields['LANDINGPAGE'] = 'Billing';

A questo punto potrebbe opportuno specificare che una modifica custom ad un componente di Prestashop sviluppato da altri è a rischio ogni volta che si dovesse aggiornare il componente. Questo non vuole essere un invito a non effettuare gli aggiornamenti: è necessario solo tenere la questione a mente e replicare la modifica ogni volta che ce ne dovesse essere bisogno.

Per concludere

Se si gestisce un sito i cui pagamenti online sono implementati tramite PayPal, può essere opportuno provare a rimandare i clienti direttamente sulla pagina di pagamento con carta invece che su quello di login di PayPal.

Ovviamente non esistono verità assolute: fare dei test è sempre e comunque l’idea migliore.

10 Comments

  1. molto utile, grazie. non ho trovato l’informazione da nessun’altra parte!

  2. Nicola

    4 Febbraio 2018 at 9:37 am

    Mi fa piacere che l’articolo sia stato utile! Un saluto e buon lavoro 🙂

  3. Bravo, per la miseria!! 🙂
    Scusa, è che DAVVERO non si trova facilmente questa informazione, e credo sia un problema di molti.
    Grazie per l’ottima soluzione!

  4. Nicola

    18 Maggio 2018 at 12:35 pm

    Grazie, mi fa piacere che le informazioni siano state utili. Buon proseguimento 😉

  5. Ciao, è una info che cercavo da un po, scusa la domanda probabilmente sciocca…
    Ma facendo cosi, le percentuali che paypal trattiene sono le stesse oppure no?
    Nel senso riuscirei a evitare di farmi trattenere il 3.5% che mi sembra essere esagerato?

  6. Nicola

    22 Febbraio 2019 at 12:58 pm

    Ciao Marco, non credo che questa modifica abbia influenze significative sulla parte economica: le commissioni di PayPal non dipendono dalla modalità con cui il cliente paga, quindi anche se seleziona la carta di credito saranno dovuto ugualmente. Questa modifica serve nel caso che si presuma che i propri clienti preferiscano pagare con carta di credito e non siano clienti di PayPal: in questo modo gli si presenta subito la pagina dive inserire i dati della carta. Spero di esserti stato utile.

  7. Ciao Nicola, complimenti per articolo tutto molto chiaro!
    Ne approfitto per chiederti una cosa, secondo te esiste la possibilità con WooCommerce+ Paypal di fare un pagamento posticipato? del tipo il cliente acquista il servizio da noi proposto…. noi verifichiamo l’effettiva disponibilità e solo in quel momento (tipicamente dopo 24ore) facciamo addebito sulla carta.

    Grazie del tuo tempo, buon lavoro, Fabio.

  8. Nicola

    9 Ottobre 2019 at 7:57 am

    Ciao Fabio, grazie per gli apprezzamenti! La possibilità di un pagamento posticipato con Paypal esiste, è la procedura Authorize and Capture: https://developer.paypal.com/docs/integration/direct/payments/authorize-and-capture-payments/
    È implementata nella REST API, che però non è la modalità di collegamento usata dal plugin standard di WooCommerce, quindi non ti so dire come potrebbe essere integrata. Può darsi che esistano dei plugin alternativi che integrano questa possibilità, con Paypal o in altre modalità. Necessiterebbe di un approfondimento.

  9. grande, praticamente introvabile. la cercavo penso da un paio di anni

  10. Nicola

    13 Maggio 2020 at 2:23 pm

    Lieto di essere stato di aiuto e grazie per aver lasciato la tua testimonianza! 🙂

Lascia un commento

La tua email non verrà pubblicata

*