Il termine Tokenization/Tokenizzazione nell’ambito dei pagamenti si traduce nella sostituzione di uno o più dati sensibili del compratore (es. numero carta di credito) con un elemento alternativo chiamato Token.
Tokenizzazione e iFrame sono servizi associabili esclusivamente ai piani tariffari Professional ed Enterprise.
La tokenizzazione viene utilizzata da Fabrick con l’obiettivo di aiutare i suoi merchant ad essere compliant con i requisiti PCI-DSS, definiti per proteggere i dati sensibili dei titolari di carta.
Grazie alla tokenizzazione gli esercenti possono salvare i dati di carta dei loro clienti, offrendo loro la possibilità di pagare senza inserirli ad ogni acquisto.
Tuttavia, questo comportamento potrebbe non essere compliant con allo standard PCI-DSS.
È possibile archiviare i dati di carta dei clienti sui server del merchant SOLO se si è ottenuta la certificazione PCI-DSS adeguata a questa necessità.
In modo da offrire la stessa esperienza a tutti i clienti senza dover sostenere certificazioni onerose, è possibile fruire della funzionalità di Tokenizzazione offerta da Fabrick in combinazione con la soluzione iFrame.
Con la Tokenizzazione è possibile salvare i dati di carta sui server di Fabrick che li archivia e li associa a dei Token che, restituiti in risposta, possono essere salvati sui server dell’Ecommerce senza necessità di richiedere la certificazione PCI-DSS alla quale è stato fatto cenno in precedenza ed inviati a Fabrick dal secondo pagamento in avanti.
Si possono richiedere nuovi Token grazie all’architettura iFrame ed utilizzare quelli generati in precedenza tramite l’architettura Server-to-Server.
È consigliabile approfondire le sezioni dedicate ad iFrame e Server-to-Server prima di decidere come integrare Fabrick Payment Orchestra.
Richiedere ed ottenere un nuovo token durante una transazione nell’architettura iFrame è molto semplice. Le fasi coinvolte sono la crittografia dei dati relativi alla transazione e la decodifica della risposta di Fabrick Payment Orchestra.
Per richiedere un nuovo token, è necessario impostare un valore per requestToken nella call Encrypt verso il metodo del webservice WsCryptDecrypt.
Un esempio della richiesta Encrypt:
1<Encrypt>
2 <shopLogin>9000001</shopLogin>
3 <uicCode>242</uicCode>
4 <amount>985</amount>
5 <shopTransactionId>34az85ord19</shopTransactionId>
6 <!-- standard way to retreive the token -->
7 <requestToken>MASKEDPAN</requestToken>
8</Encrypt>
Per ricevere i dati del token, è necessario leggere i valori TokenExpiryMonth e TokenExpiryYear del token nella risposta del metodo Decrypt del webservice WsCryptDecrypt.
Ecco un esempio della chiamata di decrypt:
1<DecryptResult>
2 <GestPayCryptDecrypt xmlns="">
3 <TransactionType>DECRYPT</TransactionType>
4 <TransactionResult>OK</TransactionResult>
5 <ShopTransactionID>34az85ord19</ShopTransactionID>
6 <BankTransactionID>656</BankTransactionID>
7 <AuthorizationCode>983RT4</AuthorizationCode>
8 <Currency>242</Currency>
9 <Amount>985.40</Amount>
10 <TOKEN>12XYZWABCDEF3456</TOKEN>
11 <TokenExpiryMonth>10</TokenExpiryMonth>
12 <TokenExpiryYear>21</TokenExpiryYear>
13 </GestPayCryptDecrypt>
14</DecryptResult>
Il token contiene il valore che verrò anche usato in futuro. TokenExpiryMonth e TokenExpiryYear non vengono usati nella comunicazione con Fabrick: possono essere utili per conoscere il tempo di validità del token.
Per ottenere il token dall’Encrypt, è sufficiente aggiungere il valore MASKEDPAN nel requestToken:
<requestToken>MASKEDPAN</requestToken>
È possibile creare il token nel metodo Encrypt del webservice WsCryptDecrypt anche se la transazione non viene autorizzata. Per ottenerlo è necessario usare :FORCED: prima della richiesta del token:
<requestToken>:FORCED:MASKEDPAN</requestToken>
Fabrick Payment Orchestra può gestire due tipi di token: standard e personalizzati.
I token standard vengono creati come numeri di carta mascherati. Il codice inizia con i primi due 2 numeri della carta che sostituisce e finisce con gli ultimi 4, per la restante parte è composto da una stringa alfanumerica, di 10 caratteri, che contribuisce alla lunghezza totale di 16 caratteri.
I primi 4 caratteri della stringa alfanumerica sono sempre uguali per lo stesso merchant.
Un esempio:
1234567890123456
MASKEDPAN
12XYZWABCDEF3456
3456789012345678
MASKEDPAN
34XYZWGHIJKL5678
I token personalizzati sono definiti dall’esercente inviando i dati a Fabrick che li associa alla carta da sostituire.
Il token personalizzato restituito viene composto dai primi 4 caratteri che identificano il merchant, seguito da caratteri a scelta dell’esercente.
Un esempio:
1234567890123456
JOHN_SMITH_5533
XYZWJOHN_SMITH_5533
3456789012345678
JACK_JONES_1234
XYZWJACK_JONES_1234
Si può scegliere la tipologia di token in fase di richiesta dello stesso specificando il valore nel campo requestToken.
Quando si richiede un nuovo token è necessario inviare a Fabrick il campo requestToken valorizzato, viene poi utilizzato quel valore per creare il nuovo token. Se requestToken contiene la parola MASKEDPAN, Fabrick crea un token standard, se invece viene popolato con un altro valore viene creato un token personalizzato, le cui 4 cifre iniziali identificano quel merchant.
I token personalizzati, una volta definiti dal merchant, vengono inviati a Fabrick che li valida, aggiunge il prefisso e li archivia.
Di seguito alcune regole da seguire per i token custom:
Il Token deve essere lungo almeno 10 caratteri
Il Token deve essere lungo al massimo 20 caratteri
Può contenere solo lettere, numeri e underscore (_)
Il numero massimo di numeri che può contenere è 8
Non sono case sensitive. Fabrick trasforma tutte le minuscole in maiuscole
Una volta salvato il token con mese e anno di scadenza è possibile richiedere un pagamento usando il webservice callPagamS2S che effettua una richiesta autorizzativa e, se configurato M.O.T.O. di conseguenza, movimenta la somma.
Per eseguire un pagamento è necessario usare tokenValue invece di cardNumber e data di scadenza.
Ecco un esempio di chiamata con i dati obbligatori:
1<callPagamS2S>
2 <shopLogin>9000002</shopLogin>
3 <uicCode>242</uicCode><!-- euro -->
4 <amount>24.21</amount>
5 <shopTransactionId>MYSHOP-0001</shopTransactionId>
6 <tokenValue>12XYZWABCDEF3456</tokenValue>
7</callPagamS2S>
I token possono essere condivisi all’interno di un gruppo di shop login che definisce l’esercente e va comunicato a Fabrick, che può gestire aggiunte o eliminazioni di altri shop login.
È possibile effettuare pagamenti ricorrenti specificando il billing agreement di PayPal.
Per i pagamenti ricorrenti con Amazon Pay, prendere visione della pagina dedicata.