Codifica dati pratica
La chiamata di inizializzazione pratica prevede l’invio dei dati di Input in maniera criptata. L’encrypt dei dati deve essere fatto tramite una chiamata server to server, utilizzando la seguente API esposta da Fabrick. L’esercente dovrà inviare tutti i dati che saranno utili a creare la cessione del credito sul servizio APPpago. In ambiente di PREPRODUZIONE utilizzare il codice APPPAGO_MERCHANT_ID=183
API
POST /merchant/{{APPPAGO_MERCHANT_ID}}/encryptProcedureData
L’header di questa chiamata dovrà contenere il token di comunicazione del servizio, all’interno del campo Motif-Session-Token (in ambiente di PREPRODUZIONE utilizzare il valore CRY c1ph3r). Il token da utilizzare in produzione sarà comunicato tramite un diverso canale.
Parametri
Il payload della request sarà in formato JSON e dovrà contenere i seguenti parametri:
Nome | Tipo | Obbligatorietà (M/O) | Descrizione |
---|---|---|---|
olMerchantTrxId | String (100 char) | Mandatory | Identificativo pratica esercente. Campo utile per collegare le procedure tra i diversi sistemi coinvolti. |
merchantId | String | M | APPPAGO_MERCHANT_ID. |
loanTotalAmount | Float (12,3 char) | M | Importo pratica, in formato 100.00. Verificare che il separatore utilizzato sia corretto “.” e che vengano utilizzate 2 cifre decimali. |
installmentNumber | Float (12,3 char) | Optional | Numero rate da cui sarà composto il finanziamento. Se utilizzato, questo dato NON sarà più modificabile dal cliente. |
firstname | String (255 char) | O | Nome cliente (NB. Gli spazi dovranno essere sostituiti dal seguente carattere: ‘-‘.) |
lastname | String (255 char) | O | Cognome cliente (NB. Gli spazi dovranno essere sostituiti dal seguente carattere: ‘-‘.) |
taxCode | String (255 char) | M | Codice fiscale cliente |
gender | String (20char) | O | Sesso |
dateOfBirth | DateTime | O | Data di nascita del cliente (formato YYYY-MM-GG) |
cityOfBirth | String (255 char) | O | Città di nascita del cliente (NB. Gli spazi dovranno essere sostituiti dal seguente carattere: ‘-‘. es. Venaria-Reale) |
stateOfBirth | String (255 char) | O | Provincia di nascita del cliente (codice a 2 caratteri) |
residenceAddress | String (255 char) | O | Indirizzo di residenza del cliente (NB. Gli spazi dovranno essere sostituiti dal seguente carattere: ‘-‘. es. via-garibaldi-18) |
residenceCity | String (255 char) | O | Città di residenza del cliente (NB. Gli spazi dovranno essere sostituiti dal seguente carattere: ‘-‘. es. Venaria-Reale) |
residenceState | String (255 char) | O | Provincia di residenza del cliente (codice a 2 caratteri) |
residencePostalCode | String (7 char) | O | CAP di residenza del cliente |
String (255 char) | O | E-mail del cliente | |
phone | String (255 char) | O | Numero di telefono del cliente. Il sistema accetta solo numeri italiani scritti senza prefisso intermazionale (sarà gestito in automatico il +39) e senza spazi all’interno del numero (es. 3330000111) |
merchantRedirect | String (1.000 char) | O | URL di callback dell’esercente |
checkDigit | String (1.000 char) | O | Parametro a disposizione del Merchant, che sarà restituito nella callback finale come codice di verifica. |
Esempio
Esito
I dati ricevuti saranno criptati con cifratura AES e daranno come risposta, in caso di esito positivo, la stringa che dovrà essere utilizzata per la chiamata successiva.
Checkdigit
Se ricevuto nella chiamata iniziale, questo parametro sarà escluso dalla stringa criptata inviata nell’esito della chiamata.
Il valore sarà salvato su DataBase e legato alla pratica nelle prime fasi del flusso, in modo da non risultare mai visibile sul browser.
Il parametro risulterà legato alla pratica e verrà nuovamente inviato al merchant solo sulla callback finale, come descritto nel paragrafo dedicato.