Questo tutorial ha lo scopo di fornire le informazioni necessarie per l’integrazione di Fabrick Payment Orchestra e la creazione del primo pagamento, dopo aver configurato il profilo esercente secondo le indicazioni fornite nei capitoli precedenti.
Fabrick Payment Orchestra può essere integrato con un Ecommerce di due modi:
Pagina di pagamento standard
Pagina di pagamento personalizzata
La prima parte di questo tutorial è valida per entrambe le tipologie di integrazione.
La prima cosa da fare, prima di reindirizzare il buyer su Fabrick Payment Orchestra dal sito, è la creazione di un POST verso payment/create per iniziare il processo di pagamento. Cliccando sul link è possibile prendere visione delle API.
payment/create e payment/submit devono essere usati in ogni transazione per creare il processo di pagamento. L’unico caso in cui non è necessaria la chiamata payment/submit è quando il pagamento viene avviene tramite uno strumento di pagamento alternativo.
Ci sono due endpoint disponibili, test e produzione:
POST https://sandbox.gestpay.net/api/v1/payment/create/
POST https://ecomms2s.sella.it/api/v1/payment/create/
La chiamata POST a payment/create chiede ad Fabrick Payment Orchestra di processare il pagamento. Imposta gli authorization headers:
Authorization: apikey R0VTUEFZNjU5ODcjI0VzZXJjZW50ZSBUZX....
Content-Type: application/json
Ogni chiamata POST deve avere Content-type: application/json header.
E il corpo:
1{
2 "shopLogin":"GESPAY65987",
3 "amount":"27.30",
4 "currency":"EUR",
5 "shopTransactionID":"your-custom-id"
6}
Fabrick Payment Orchestra risponderà con:
1{
2 "error": {
3 "code": "0", // everything ok!
4 "description": "request correctly processed"
5 },
6 "payload": {
7 "paymentToken": "1c3f27af-1997-4761-8673-b94fbe508f31",
8 "paymentID": "1081814508",
9 "userRedirect": {
10 "href": null
11 }
12 }
13}
Con il paymentToken (1c3f27af-1997-4761-8673-b94fbe508f31) e il paymentID (1081814508) l’acquirente può essere reindirizzato alla pagina di pagamento.
A questo punto occorre scegliere il tipo di pagina di pagamento: di seguito riportiamo le istruzioni per la soluzione Lightbox, altrimenti è possibile passare al capitolo successivo Integrare la pagina di pagamento personalizzata.
Nel caso in cui non sia necessaria una pagina di pagamento personalizzata, la soluzione Lightbox di Fabrick Payment Orchestra è la risposta alle esigenze di facile integrazione e rapida gestione dei pagamenti su qualsiasi dispositivo, grazie al fatto che si adatta facilmente a qualsiasi dimensione dello schermo, mobile o desktop.
Maggiori informazioni sono disponibili sulla pagina dedicata alla documentazione della Lightbox.
Questa soluzione è la più indicata per personalizzare il processo di pagamento e offrire un layout della pagina di pagamento secondo le proprie esigenze e in linea con il design del proprio Ecommerce.
Una volta creato la chiamata POST payment/create, è necessario disegnare un form HTML che contenga i dati di carta: numero di carta, data di scadenza e CVV.
A questo punto occorre effettuare una chiamata POST payment/submit con i dati di carta e il paymentToken generato dalla payment/create:
fetch('https://sandbox.gestpay.net/api/v1/payment/submit/',
{
method: 'POST',
headers: {
'paymentToken': `${PAYMENT_TOKEN}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
"buyer":{
"email":"test@email.com",
"name":"Test Payment"
},
"paymentTypeDetails": {
"creditcard": {
"number":"4012001037141112",
"expMonth":"05",
"expYear":"27",
"CVV":"444",
"DCC":null
}
},
"shopLogin":"GESPAY65987"
}
})
}
)
La POST payment/submit permette di pagare con le carte e molti altri pagamenti alternativi. La lista completa è disponibile nella documentazione API.
Arrivati qui, gli scenari possono essere due:
La carta di credito non ha i protocolli 3D Secure
La carta di credito ha i protocolli e va reindirizzata alla pagina della banca emittente per l’inserimento del codice di sicurezza
La carta non richiede particolari autorizzazioni e la risposta alla call POST payment/submit sarà simile alla seguente:
1{
2 "error":{
3 "code":"0",
4 "description":"request correctly processed"
5 },
6 "payload":{
7 "transactionType":"submit",
8 "transactionResult":"OK",
9 ...
10 "paymentID":"1700444660",
11 "userRedirect":{
12 "href":"https://hype-app.github.io/gestpay-doc-beta/demo/response.html"
13 }
14 }
15}
Ora è possibile direzionare il cliente su userRedirect.href, che sarà popolato secondo la configurazione impostata su backoffice o in accordo con i dati personalizzati presenti nella POST payment/submit.
Se la carta di credito ha i protocolli 3DS, Fabrick Payment Orchestra risponderà con l’errore ErrorCode 8006 che richiede un’autenticazione della carta verso l’issuer:
1{
2 "error":{
3 "code":"0",
4 "description":"request correctly processed"
5 },
6 "payload":{
7 "transactionType":"submit",
8 "transactionResult":"",
9 "transactionErrorCode":"8006",
10 "transactionErrorDescription":"Verify By Visa",
11 "paymentID":"1546124641",
12 ...
13 "userRedirect":{
14 "href":"https://sandbox.gestpay.net/pagam/pagam3d.aspx?a=GESPAY65987&b=40cd411e-39a3-430f-b964-cb2018cd51a2&axerve3D=True"
15 }
16 }
17}
Per completare il processo di pagamento, è necessario ridirezionare il buyer verso userRedirect.href e completare il pagamento. Al termine, il cliente atterrerà sulla pagina configurata nel backoffice.
In questo tutorial, abbiamo visto come integrare Fabrick Payment Orchestra su un sito Ecommerce. La documentazione prosegue con molte altre informazioni: dai pagamenti alternativi alle API per integrare servizi a valore aggiunto.