Come integrare il pagamento tramite carta di credito in un sito e-commerce

Integrare il pagamento con carta di credito in un sito permette al proprietario dell'e-commerce di ricevere pagamenti in modo facile e automatico. Ecco la soluzione che abbiamo trovato per Buono Store.

Richiesta e obiettivo

Alcune settimane fa Luca Tonizzo di VENFRI S.r.l. ci ha contattati per realizzare una piattaforma e-commerce per il supermercato Buono Market (www.buonostore.it). Fra le sue richieste c'era l'esigenza di dare all'utente la possibilità in fase di check-out di pagare, oltre che in contanti alla consegna, anche con carta di credito.

Soluzione

Per l'integrazione del pagamento con carta di credito in un sito abbiamo scelto di utilizzare un gateway bancario. È un istituto di credito che chiede all'utente i dati della sua carta di credito, verifica la presenza dei soldi sulla carta ed effettua il trasferimento dell'importo pattuito dal conto corrente dell'acquirente al conto corrente dell'esercente. Una volta effettuata la transazione, il gateway riporta l'utente all'e-commerce e comunica all'e-commerce l'esito della transazione: positivo o negativo.

Esistono vari gateway bancari, sia italiani che internazionali; ogni gateway ha proprie "specifiche tecniche" che descrivono come realizzare l'integrazione tra l'e-commerce e il servizio offerto dalla banca.

Il cliente ci ha comunicato di voler utilizzare Xpay di NEXI. NEXI fornisce alcuni strumenti già pronti (plugin per WordPress e PrestaShop) da scaricare e installare per effettuare l'integrazione. Avendo però realizzato una piattaforma e-commerce dotata di molte funzionalità su misura, facendo ricorso a un CMS personalizzato, non potevamo usare i plugin standard e abbiamo dovuto intervenire appositamente sul codice PHP.

Leggendo la guida per gli sviluppatori sul sito di NEXI, ci è stato chiaro che, per far effettuare il pagamento, dovevamo inviare in POST al server di NEXI i seguenti parametri:

  • codice identificativo del profilo esercente (fornito da NEXI);
  • Message Code Authentication (calcolato tramite chiave segreta fornita da NEXI);
  • importo da autorizzare;
  • codice di identificazione del pagamento;
  • url sul sito e-commerce nel quale indirizzare l'utente dopo la conclusione del pagamento;
  • url sul sito e-commerce nel quale indirizzare l'utente che avesse deciso di annullare il pagamento;
  • un eventuale url sul sito e-commerce dove comunicare all'esercente l'esito della transazione (positiva o negativa).

L'integrazione gestita avviene quindi in questo modo:

  • l'utente in fase di check-out sceglie come metodo di pagamento la carta di credito;
  • al termine del check-out viene reindirizzato su una pagina intermedia in cui è presente un form con settati i parametri elencati precedentemente;
  • il form viene inviato automaticamente al server di NEXI che successivamente reindirizza l'utente su una pagina dove può inserire i dati della sua carta di credito.

nexi

A questo punto l'utente può decidere di annullare o confermare la transazione. In entrambi i casi viene reindirizzato automaticamente al sito e-commerce:

  • se decide di annullare la transazione troverà un messaggio di transazione annullata;
  • se decide di concludere la transazione troverà un messaggio di pagamento effettuato.