Pagamenti MIT Recurrent
Pagamenti MIT Recurrent
Con il termine Recurrent si intendono quei pagamenti con carta tokenizzata eseguiti in modalità MIT (Merchant Initiated Transaction), con importo e cadenza fissa.
Secondo la normativa PSD2, i pagamenti ricorrenti successivi al primo devono mantenere un legame con il primo pagamento E‑Commerce. Per gestire correttamente i pagamenti ricorrenti, il merchant deve:
- eseguire un primo pagamento E‑Commerce con i marcatori necessari a identificarlo come RECURRENT FIRST
- sottomettere le transazioni successive tramite il servizio
Auth, impostando l’identificativotraceChainIddella prima transazione E‑Commerce.
POST 01_Init_CIT_FIRST (primo pagamento ricorrente)
Url
{{endpoint}}/pgw/payment/init
Il primo pagamento Recurrent è un pagamento E‑Commerce con gli indicatori recurrent abilitati:
txIndicatorType=CIT_RECURRENT_COF_FIRSTper marcare la transazione come Prima RicorrentetraceChainId= identificativo univoco del servizio/account per cui si sta inizializzando il flusso ricorrente. Questo valore dovrà essere presente in tutte le operazioni MIT RECURRENT successive.
Come per i COF FIRST, la prima transazione ricorrente può essere:
- di tipo
VERIFICATION(validazione carta, importo 0) - oppure
RESERVATION/SALE(con acquisto contestuale).
REQUEST
{
"txHead": {
"merId": "{{merId}}",
"txId": "test4"
},
"txReq": {
"txOp": "VERIFICATION",
"txIndicatorType": "CIT_RECURRENT_COF_FIRST",
"description": "Recurrent FIRST",
"traceChainId": "CHAINID-20221205-1457",
"amount": {
"value": 0,
"currency": "EUR"
}
},
"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": "test4",
"resultCode": "IGFS_000",
"errDescription": ""
},
"paymentId": "139389586108079481",
"redirectURL": "https://testeps.netswgroup.it/IGFS_CG_WEB/app/cc/main/show?referenceData=6614EDC8D412F3780333339DEA12F590"
}
GET 02_Verify_CIT_FIRST
Url
{{endpoint}}/pgw/payment/verify
Il servizio Verify restituisce l’esito della prima transazione ricorrente.
Il merchant deve:
- salvare il token (
tokenValue) per eventuali pagamenti COF successivi - conservare il
traceChainIdda usare nelle MIT RECURRENT.
Query Parameters
| Nome | Valore | Descrizione |
|---|---|---|
merId | {{merId}} | ID merchant |
paymentId | 139389586108079481 | ID pagamento |
txId | test4 | ID transazione |
REQUEST
{{endpoint}}/pgw/payment/verify?merId={{merId}}&paymentId=139389586108079481&txId=test4
RESPONSE (esempio schema)
{
"txHead": {
"merId": "{{merId}}",
"txId": "test4",
"resultCode": "IGFS_000",
"errDescription": ""
},
"paymentId": "139389586108079481",
"redirectURL": "https://testeps.netswgroup.it/IGFS_CG_WEB/app/cc/main/show?referenceData=6614EDC8D412F3780333339DEA12F590"
}
POST 03_Auth_MIT_NEXT (MIT Recurrent successivi)
Url
{{endpoint}}/pgw/payment/auth
I pagamenti Recurrent successivi vengono sottomessi in modalità MIT (Merchant Initiated Transaction), senza coinvolgimento diretto del buyer.
Per eseguire una transazione MIT RECURRENT è necessario invocare il servizio Auth con:
txIndicatorType=MIT_RECURRENT_COF_NEXTtraceChainId= identificativo usato nella prima transazione ricorrente
Il servizio Auth risponde in modo sincrono con l’esito della transazione.
Se l’esito è positivo, vengono restituite tutte le informazioni di dettaglio.
REQUEST
{
"txHead": {
"merId": "{{merIdMoto}}",
"txId": "test5"
},
"txReq": {
"txOp": "SALE",
"txIndicatorType": "MIT_RECURRENT_COF_NEXT",
"amount": {
"value": 200,
"currency": "EUR"
},
"description": "Recur Next TraceChain",
"traceChainId": "CHAINID-20221205-1457"
},
"poiInfo": {
"pitype": "CC"
},
"buyer": {
"email": "paymentgateway@netsgroup.com",
"language": "IT",
"name": "Name",
"lastName": "Surname"
},
"pi": {
"tokenValue": "0D9971E639F08C458511E0DD67B4166D"
},
"errorURL": "https://www.merchant.com/error",
"callbackURL": "https://www.merchant.com/server2server",
"notifyURL": "https://www.merchant.com/done"
}
RESPONSE
{
"txHead": {
"merId": "TEST-M",
"txId": "test5",
"resultCode": "IGFS_000",
"errDescription": "TRANSAZIONE OK"
},
"txRes": {
"paymentId": "139974371108079492",
"tranId": 3069867790128034,
"status": "OK"
},
"procRes": {
"procId": "00",
"procName": "SIMULATORE",
"authCode": "000002",
"addData": {
"posId": "22222222",
"merId": "1234567",
"acquirerID": "00",
"acquirerName": "SIMULATORE"
}
},
"pi": {
"tokenValue": "0D9971E639F08C458511E0DD67B4166D"
},
"poiInfo": {
"pitype": "CC",
"poiId": "TEST_MOTO"
},
"cardInfo": {
"maskedpan": "444433******1111",
"brand": "VISA"
}
}