Pagamenti CIT – Card On File (COF)
Pagamenti CIT – Card On File
Per pagamenti COF si intendono quei pagamenti effettuati con carta tokenizzata (Card On File). I pagamenti CIT – Card On File in modalità redirect permettono all’utente di non dover digitare i dati carta, rendendo più veloce l’esperienza di acquisto.
Per poter eseguire pagamenti COF sarà necessario tokenizzare la carta eseguendo un primo pagamento E‑Commerce (vedi flusso Pagamento E‑Commerce).
In risposta alla chiamata Verify verrà tornato il token (tokenValue) da usare per i pagamenti successivi.
Come eseguire un pagamento COF NEXT
- Invocare il servizio
01_Init_CIT_NEXTimpostando il campopi.tokenValuecon il token restituito daVerifydella prima transazione. - Quando il browser del cliente atterra sulla
notifyURL, invocare il servizio04_Verify_CIT_NEXTper recuperare l’esito della transazione.
POST 01_Init_CIT_FIRST
Url
{{endpoint}}/pgw/payment/init
Il primo pagamento COF è un pagamento E‑Commerce semplice.
- Impostare
txOpVERIFICATIONper validare la carta (può essere eseguita con importo a 0).RESERVATION/SALEper tokenizzare la carta contestualmente a un pagamento.
REQUEST
{
"txHead": {
"merId": "{{merId}}",
"txId": "test2"
},
"txReq": {
"txOp": "VERIFICATION",
"txIndicatorType": "CIT_COF_FIRST",
"amount": {
"value": 0,
"currency": "EUR"
},
"description": "Description"
},
"poiInfo": {
"pitype": "CC"
},
"buyer": {
"email": "paymentgateway@netsgroup.com",
"language": "IT",
"name": "Name",
"lastName": "Surname"
},
"errorURL": "https://www.merchant.com/error",
"callbackURL": "https://www.merchant.com/server2server",
"notifyURL": "https://www.merchant.com/done"
}
RESPONSE
{
"txHead": {
"merId": "{{merId}}",
"txId": "test2",
"resultCode": "IGFS_000",
"errDescription": ""
},
"paymentId": "139271104108079467",
"redirectURL": "https://testeps.netswgroup.it/IGFS_CG_WEB/app/cc/main/show?referenceData=82DA029ADC15BC47E38B3FB01F69DCC6"
}
GET 02_Verify_CIT_FIRST
Url
{{endpoint}}/pgw/payment/verify
Il servizio Verify restituisce l’esito di un pagamento.
In caso di primo pagamento COF, il merchant dovrà assicurarsi di salvare il TOKEN (tokenValue) da usare per pagamenti COF successivi.
Query Parameters
| Nome | Valore | Descrizione |
|---|---|---|
| merId | {{merId}} | ID merchant |
| paymentId | 139271104108079467 | ID pagamento |
| txId | test2 | ID transazione |
REQUEST
{{endpoint}}/pgw/payment/verify?merId={{merId}}&paymentId=139271104108079467&txId=test2
RESPONSE
{
"txHead": {
"merId": "{{merId}}",
"txId": "test2",
"resultCode": "IGFS_000",
"errDescription": "TRANSAZIONE OK"
},
"txRes": {
"paymentId": "139271104108079467",
"tranId": 3069867760524570,
"status": "OK"
},
"amount": {
"value": 0,
"currency": "EUR"
},
"nssResult": "909",
"payer": {
"name": "tito",
"lastName": "lare"
},
"threeD": {
"protocolVersion": "2.1.0",
"enrStatus": "Y",
"authStatus": "Y",
"eci": "05"
},
"procRes": {
"procId": "00",
"procName": "SIMULATORE",
"authCode": "000002",
"addData": {
"posId": "01427002",
"merId": "7563667",
"acquirerID": "00",
"acquirerName": "SIMULATORE"
}
},
"poiInfo": {
"pitype": "CC",
"poiId": "TEST_MOBI"
},
"pi": {
"tokenValue": "0D9971E639F08C458511E0DD67B4166D"
},
"cardInfo": {
"maskedpan": "444433******1111",
"expDate": "2402",
"brand": "VISA"
}
}
POST 03_Init_CIT_NEXT
Url
{{endpoint}}/pgw/payment/init
Per eseguire un pagamento COF NEXT in modalità redirect, valorizzare i parametri:
tokenValue– TOKEN ricevuto alla fine della prima operazione (dapi.tokenValueinVerify).
REQUEST
{
"txHead": {
"merId": "{{merId}}",
"txId": "test3"
},
"txReq": {
"txOp": "SALE",
"txIndicatorType": "CIT_COF_NEXT",
"amount": {
"value": 500,
"currency": "EUR"
},
"description": "Description"
},
"poiInfo": {
"pitype": "CC"
},
"pi": {
"tokenValue": "0D9971E639F08C458511E0DD67B4166D"
},
"buyer": {
"email": "paymentgateway@netsgroup.com",
"language": "IT",
"name": "Name",
"lastName": "Surname"
},
"errorURL": "https://www.merchant.com/error",
"callbackURL": "https://www.merchant.com/server2server",
"notifyURL": "https://www.merchant.com/done"
}
RESPONSE
{
"txHead": {
"merId": "{{merId}}",
"txId": "test3",
"resultCode": "IGFS_000",
"errDescription": ""
},
"paymentId": "139239459108079471",
"redirectURL": "https://testeps.netswgroup.it/IGFS_CG_WEB/app/cc/main/show?referenceData=0548AB278E3A5B4734F35F168D641455"
}
GET 04_Verify_CIT_NEXT
Url
{{endpoint}}/pgw/payment/verify
Il servizio Verify restituisce l’esito di un pagamento.
Anche per i pagamenti CIT COF NEXT è necessario interrogare Verify per:
- ottenere lo stato definitivo
- aggiornare lo stato ordine sul lato merchant
Query Parameters
| Nome | Valore | Descrizione |
|---|---|---|
| merId | {{merId}} | ID merchant |
| paymentId | 139239459108079471 | ID pagamento |
| txId | test3 | ID transazione |
REQUEST
{{endpoint}}/pgw/payment/verify?merId={{merId}}&paymentId=139239459108079471&txId=test3
RESPONSE
{
"txHead": {
"merId": "{{merId}}",
"txId": "test3",
"resultCode": "IGFS_000",
"errDescription": "TRANSAZIONE OK"
},
"txRes": {
"paymentId": "139239459108079471",
"tranId": 3069867770758310,
"status": "OK"
},
"amount": {
"value": 500,
"currency": "EUR"
},
"nssResult": "909",
"payer": {
"name": "tito",
"lastName": "lare"
},
"threeD": {
"protocolVersion": "2.1.0",
"enrStatus": "Y",
"authStatus": "Y",
"eci": "05"
},
"procRes": {
"procId": "00",
"procName": "SIMULATORE",
"authCode": "000002",
"addData": {
"posId": "01427002",
"merId": "7563667",
"acquirerID": "00",
"acquirerName": "SIMULATORE"
}
},
"poiInfo": {
"pitype": "CC",
"poiId": "TEST_MOBI"
},
"pi": {
"tokenValue": "0D9971E639F08C458511E0DD67B4166D"
},
"cardInfo": {
"maskedpan": "444433******1111",
"expDate": "2402",
"brand": "VISA"
}
}