Making payments with SEPA Instant Credit Transfer
This tutorial describes how you can make SEPA Instant Credit Transfer (SCT Inst) payments with the PagoNxt Payments Hub API and accompanies the header information found in the Customer Credit Transfer message tutorial
For this tutorial, consider a scenario where a customer is based in Madrid and wants to transfer funds to a relative in Barcelona. To do so, they need to initiate an SCT Inst payment, which instantly transfers EUR between accounts in the Single European Payments Area (SEPA) countries. If there are enough funds in the customer's account, the Payments Hub API can be used to transfer the money to the other account. This tutorial describes, in 2 separate sections, how you can first make the SCT Inst payment using the ISO pacs.008 message and then receive a notification whenever the payment status changes, allowing you to retrieve its status using the ISO pacs.002 message.
Sandbox
The instructions in this tutorial apply to the sandbox environment
Request body
The request must include a JSON payload object in the request body. The JSON payload is a pacs.008 ISO message with the fitoFICstmrCdtTrf root element, and it contains the request details for submitting a payment.
The following table only provides information about some especially important fields. For details on all the required and optional message fields, see Message field definition for pacs.008 .
Message field | Description | Data type | Required/Optional |
|---|---|---|---|
grpHdr.msgId | Message ID, which must uniquely identify each request you send. This ID is used internally for idempotency of the API. | String | Required |
grpHdr.creDtTm | Date and time of the payment request | String | Required |
grpHdr.nbOfTxs | Number of transactions within the message. Value: 1 | Number | Required |
grpHdr.sttlmInf.sttlmMtd | Settlement method. Value: CLRG | String | Required |
grpHdr.sttlmInf.clrSys.prtry | Clearing system. Value: TIP for TIPS | String | Required |
grpHdr.intrBkSttlmDt | Date when the interbank settlement amount moves from the instructing agent to the instructed agent | String | Required |
cdtTrfTxInf.pmtId.endToEndId | End-to-end ID, which can be used to track the transaction between payment systems. If no end-to-end ID then it should be populated with NOTPROVIDED | String | Required |
cdtTrfTxInf.pmtId.txId | Transaction ID. | String | Optional |
Payment scheme type. Value: SEPA | String | Required | |
Payment scheme type. Value: INST | String | Required | |
cdtTrfTxInf.intrBkSttlmAmt | Data structure containing the payment currency and the amount to be transferred. The currency must be EUR and the amount must be a positive value. | Object | Required |
cdtTrfTxInf.chrgBr | Charge bearer type. Value: SLEV | String | Required |
cdtTrfTxInf ► .dbtr ► .dbtrAcct ► .dbtrAgt | Data structures containing the details for the debtor, the debtor’s account, and the debtor agent | Object | Required |
cdtTrfTxInf ► .cdtr ► .cdtrAcct ► .cdtrAgt | Data structures containing the details for the creditor agent, the creditor, and the creditor’s account | Object | Required |
Example request body:
{
"fitoFICstmrCdtTrf": {
"grpHdr": {
"msgId": "dd5299f6954156319c92511dd01159f25",
"nbOfTxs": "1",
"creDtTm": "2025-06-18T09:11:08.231Z",
"intrBkSttlmDt": "2025-06-18",
"sttlmInf": {
"sttlmMtd": "CLRG",
"clrSys": {
"prtry": "TIP"
}
}
},
"cdtTrfTxInf": [
{
"pmtId": {
"endToEndId": "V1SEPAOTH8555990"
},
"pmtTpInf": {
"svcLvl": [
{
"cd": "SEPA"
}
],
"lclInstrm": {
"cd": "INST"
}
},
"intrBkSttlmAmt": {
"ccy": "EUR",
"value": 1000
},
"chrgBr": "SLEV",
"cdtrAgt": {
"finInstnId": {
"bicfi": "BSCHITMMXXX"
}
},
"cdtr": {
"nm": "Nombre Beneficiario 1",
"pstlAdr": {
"twnNm": "Venecia",
"ctry": "IT",
"adrLine": [
"Calle",
"Calle"
]
}
},
"cdtrAcct": {
"id": {
"iban": "IT63K0338901600010411502250"
}
},
"dbtrAgt": {
"finInstnId": {
"bicfi": "BSCHDEFFXXX"
}
},
"dbtr": {
"nm": "Nombre Beneficiario 3",
"pstlAdr": {
"twnNm": "ESSEN",
"pstCd": "45143",
"ctry": "DE",
"strtNm": "THYSSENKRUPP ALLEE",
"bldgNb": "1"
}
},
"dbtrAcct": {
"id": {
"iban": "DE90503205000315248250"
}
}
}
],
"splmtryData": [
{
"envlp": {
"any": {
"indctrs": {
"fxInd": "N"
},
"rltdPmts": {
"blkMsgId": "32187RYYY8",
"blkHubId": "b37533b8-8e7f-34fe-b7a5-43f768dc9f64"
}
}
}
}
]
}
}