This tutorial describes how you can make domestic Faster Payments (FP) payments with the Payments Hub API and accompanies the information found in the general Customer Credit Transfer tutorial.
For this tutorial, consider a scenario where a customer wants to make an FP payment - send money from their UK bank account to another UK bank account. If the customer has enough funds in their account, the Payments Hub API can be used to transfer the money to the other account.
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 .
Table: Submit the payment - Relevant request body elements.
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.ttlIntrBkSttlmAmt | Data structure containing the payment currency and the amount for the total interbank settlement. The currency must be GBP and the amount must be a positive value. If these fields are used, the amount must be equal to the sum of all the transactions in the message. | Object | Optional |
grpHdr.sttlmInf.sttlmMtd | Settlement method. Value: CLRG | String | Required |
cdtTrfTxInf.pmtId.endToEndId | End-to-end ID, which can be used to track the transaction between payment systems | String | Required |
cdtTrfTxInf.pmtId.txId | Transaction ID, which must uniquely identify each transaction within the message | String | Required |
cdtTrfTxInf.pmtTpInf.svcLvl.prtry | Payment scheme type. Value: FP | String | Optional |
cdtTrfTxInf.pmtTpInf.lclInstrm.prtry | Faster Payments Scheme (FPS) processing code | String | Optional |
cdtTrfTxInf.pmtTpInf.ctgyPurp.prtry | Payment channel | String | Optional |
cdtTrfTxInf.intrBkSttlmAmt | Data structure containing the payment currency and the amount to be transferred. The currency must be GBP and the amount must be a positive value. | Object | Required |
cdtTrfTxInf.chrgBr | Charge bearer type. The possible values are:
| 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 ► .cdtrAgt ► .cdtr ► .cdtrAcct | Data structures containing the details for the creditor agent, the creditor, and the creditor’s account | Object | Required |
cdtTrfTxInf.rmtInf | Data structure containing remittance details | Object | Optional |
Example request body
{
"fitoFICstmrCdtTrf": {
"grpHdr": {
"msgId": "599302431952709700000000000",
"creDtTm": "2023-11-17T04:30:31.111Z",
"nbOfTxs": "1",
"sttlmInf": {
"sttlmMtd": "CLRG"
}
},
"cdtTrfTxInf": [
{
"pmtId": {
"endToEndId": "599302431952709700000000000",
"txId": "599302431952709700000000000",
"uetr": "14973c74-b91a-42fd-9b39-6435a7d6e1f4"
},
"pmtTpInf": {
"svcLvl": [
{
"prtry": "FP"
}
],
"lclInstrm": {
"prtry": "10"
}
},
"intrBkSttlmAmt": {
"value": 5.18,
"ccy": "GBP"
},
"chrgBr": "SLEV",
"dbtr": {
"nm": "MISS LARA NOBLES",
"pstlAdr": {
"adrLine": [
"119",
"FUNNY ROAD",
"BOURNEMOUTH",
"BH8 10QT",
"GBR"
]
}
},
"dbtrAcct": {
"id": {
"othr": {
"id": "00000000"
}
},
"nm": "MISS LARA NOBLES"
},
"dbtrAgt": {
"finInstnId": {
"clrSysMmbId": {
"mmbId": "000000"
}
}
},
"cdtrAgt": {
"finInstnId": {
"clrSysMmbId": {
"mmbId": "000000"
}
}
},
"cdtr": {
"nm": "Jessica Gale",
"pstlAdr": {
"adrLine": [
"17",
"Very Bright Street",
"Golden Sand road",
"Birmingham",
"C1 1BN",
"UK"
]
}
},
"cdtrAcct": {
"id": {
"othr": {
"id": "00000000"
}
},
"nm": "Jessica Gale"
},
"rmtInf": {
"ustrd": [
"debtor-reference1"
],
"strd": [
{
"cdtrRefInf": {
"ref": "creditor-ref1"
},
"addtlRmtInf": [
"P11607098610056"
]
}
]
}
}
]
}
}