Passa al contenuto principale

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’identificativo traceChainId della prima transazione E‑Commerce.

Esempio flusso pagamenti MIT Recurrent

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_FIRST per marcare la transazione come Prima Ricorrente
  • traceChainId = 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 traceChainId da usare nelle MIT RECURRENT.

Query Parameters

NomeValoreDescrizione
merId{{merId}}ID merchant
paymentId139389586108079481ID pagamento
txIdtest4ID 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_NEXT
  • traceChainId = 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"
}
}