ClearBank

CHAPS

CHAPS

ClearBank accounts support inbound and outbound CHAPS payments. As CHAPS is the UK’s high value payment scheme, there is no amount limit associated with inbound or outbound CHAPS payments. However, you can only send or return CHAPS payments between 08:00 – 17:00 Monday to Friday (excluding UK public holidays).

The latest versions of the CHAPS endpoints support the new ISO20022 payment message formats. See FIN to ISO20022 field mapping for guidance on how the previous MT numbered field values map to the new ISO20022 XML tags.

CHAPS validation

ElementTypeValidationDescription
namestringmaxLength: 140
minLength: 1
pattern: [0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+
Also known as Account Holder Name
This the Creditor’s name.
If max length exceeds 35 characters, this will be truncated before sending to scheme.
referencestringmaxLength: 35
minLength: 0
pattern: [0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+
Also known as the Payment Reference
This is the Payment reference under remittance information.

The character set defined by the pattern for the name and reference fields includes all SWIFT allowed characters. These are alphanumeric (uppercase and lowercase) and the special characters shown in this table:

Special characterDescriptionSpecial characterDescription
!Exclamation mark|Pipe
#Hash}Right curly bracket
$Dollar sign~Tilde
%Percent"Double straight quote
&Ampersand(Left parenthesis
'Single straight quote)Right parenthesis
*Asterisk,Comma
+Plus sign:Colon
-Hyphen;Semicolon
/Forward slash<Left angle bracket
=Equals sign>Right angle bracket
?Question mark@At sign
^Caret[Left square bracket
_Underscore\Backslash
`Backtick]Right square bracket
{Left curly bracket

Version 5 mandatory fields

In line with the Bank of England's ISO 20022 data enhancement requirements, you will be required to provide additional details on the debtor and creditor such as the Legal Entity Identifier (LEI), Purpose Code and Category Purpose Code.

You can find further details about these fields on our Knowledge Centre, or access a list of all the recommended Purpose and Category Purpose Codes and their definitions on the Bank of England website: UK recommended Purpose Code PDF

Legal Entity Identifer (LEI)

The LEI is a 20-character, alpha-numeric code based on the ISO 17442 standard and contains information about an entity’s ownership structure. Providing the LEI is mandatory for pacs.008 where the party being described (debtor or creditor) is a financial institution. Otherwise, it is an optional field but strongly recommended to include when the party is an organisation.

Purpose Codes and Category Purpose Codes

The Purpose Code captures the nature of the payment and should be transported end to end. The Purpose Code is 4 characters used to abbreviate the purpose, for example, IVPT - Invoice Payment.

The Category Purpose Code is used to identify the broader nature of the payment and is used by agents. There are fewer Category Purpose Codes as this is providing a higher level understanding. In total there are 127 Purpose Codes and 28 Category Purpose Codes.

To help make sense of the various codes, they have been broken down into eight categories in the following table. The categories have been created by ClearBank to support our clients in finding the appropriate codes for their use case when making GBP Cross-Border payments.

For your convenience, Purpose Codes and Category Purpose Codes with the same value are shown in bold.

GroupNameDescriptionPurpose CodesCategory Purpose Codes
1Personal financeThese codes can be used if the payment relates to something specific to a person, for example, alimony payment or dental services.ALMY, BECH, BENE, CHAR, CLPR, DNTS, EDUC, GAMB, LOTT, LTCF, MDCS, SALA, SAVG, SSBE, SUBS, TRFD, VIEWGP2P, MP2P, SALA, SSBE
2Finance and accountingThese codes can be used if the payment relates to invoices or managing finances.ACCT, AREN, BKIP, BKPP, CASH, CSDB, INTC, INTP, IVPT, LIMA, NETT, REOD, TREA, LOAN, LOAR, INTECASH, TREA, INTC, INTE, LOAN
3CorporateThese codes can be used if the payment relates to topics that impact corporations.ADCS, AGRT, BEXP, BONU, COMC, COMM, COMP, COMT, CPYR, DEPT, DIVD, ECPR, EPAY, GDSV, GIFT, GSCB, HREC, INSM, PEFC, REBT, REFU, RELG, ROYA, TRAD, SUPP, PENSBONU, DIVI, DVPM, PENS, RRCT, SUPP
4Tax & government specificThese codes can be used if the payment relates to tax or for government related activities.ESTX, FAND, GOVT, HSTX, PENO, RDTX, TAXR, TAXS, VATX, WHLD, PTXPGOVT, TAXS, VATX, WHLD
5InsuranceThese codes can be used if the payment relates to insurance.HLTI, INPC, INPR, INSC, INSU, INTX, LBRI, LIFI, PPTIOTHR
6PropertyThese codes must be used if the payment is related to property. It is a priority to identify these payments correctly.HLRP, HLST, PCOM, PDEP, PLDS, PLRFOTHR
7Financial productsThese codes can be used if the payment relates to a financial product.BKFE, BNET, BOCE, CBLK, CMDT, COLL, CORT, DERI, EXTD, FNET, FORW, FREX, FUTR, FXNT, HEDG, INVS, OTCD, REPO, SBSC, SECU, SLEB, SWFP, SWPP, SWRS, SWUF, LREB, LREVCBLK, CORT, HEDG, TRAD, SECU
8Bills and feesThese codes can be used if the payment being made is related to a bill or fee being applied.CBTV, CDBL, LICF, SERV, TCSC, UBIL, WTER, PHON, ELEC, GASB, CPKC, FEES, BLDM, DBTC, RENTCCRD, DCRD, FCOL

Common use case examples

The following table details common uses of Purpose Codes and Category Purpose Codes which you can refer to when making payments.

Use casePurpose CodeCategory Purpose Code
Buying a property – payment of a depositPDEP – Property DepositOTHR – Other Payment
Buying a property – final payment to complete the purchase of a propertyPCOM – Property Completion PaymentOTHR – Other Payment
Payments made in relation to salariesSALA – Salary PaymentSALA – Salary Payment
Moving money for the same company from a ClearBank to a non-ClearBank accountINTC – Intra Company PaymentINTC – Intra Company Payment
Moving money for the same individual(s) from a ClearBank to a non-ClearBank accountINTP – Intra Party PaymentGP2P – Person to Person Payment
Paying a supplierSUPP – Supplier PaymentSUPP – Supplier Payment
Paying a business expenseBEXP – Business ExpensesOTHR – Other Payment
Paying a generic tax billTAXS – Tax PaymentTAXS – Tax Payment
Payment of an insurance premiumINSU – Insurance PremiumOTHR – Other Payment
Paying VATVATX – Value Added Tax PaymentVATX – Value Added Tax Payment
Making a payment for a tradeTRAD - TradeCORT – Trade Settlement Payment
Paying an invoiceIVPT – Invoice PaymentCASH – Cash Management Transfer
Paying fees of some sortFEES – Payment of FeesOTHR – Other Payment
Payment of building maintenanceBLDM – Building MaintenanceOTHR – Other Payment
Repayment of a loanLOAR – Loan RepaymentLOAN - Loan
Funding your account at Bank of England (pacs.009)LIMA – Liquidity ManagementCASH – Cash Management Transfer

Send a CHAPS payment

post/payments/chaps/v5/customer-payments

This endpoint will send a CHAPS customer payment (pacs.008).

Parameters

  • Authorization string, header, Required

    Your API token retrieved from the ClearBank portal.

  • DigitalSignature string, header, Required

    Signed hash of the body of the request. The hash is signed by your private key.

  • X-Request-Id string, header, Required

    A unique identifier for the request.

Request Payload (application/json)

  • instructionIdentification string, Required

    Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction. Usage: The instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.

    Minimum length
    1
    Maximum length
    35
    Pattern
    ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
  • endToEndIdentification string, Required

    Unique identification, as assigned by the initiating party, to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. Usage: In case there are technical limitations to pass on multiple references, the end-to-end identification must be passed on throughout the entire end-to-end chain.

    Minimum length
    1
    Maximum length
    35
    Pattern
    ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]+$
  • instructedAmount object, Required

    A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.

  • sourceAccount object, Required

    The ClearBank account that will be credited or debited based on the successful completion of the payment instruction. You need to include EITHER iban OR schemeName, proprietary, and identification as shown in the groups below.

  • debtorAccount object, Required

    Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction. You need to include EITHER iban OR schemeName, proprietary, and identification as shown in the groups below.

  • debtor object, Required

    Party that owes an amount of money to the (ultimate) creditor.

  • creditorAccount object, Required

    Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction. You need to include EITHER iban OR schemeName, proprietary, and identification as shown in the groups below.

  • creditor object, Required

    Party to which an amount of money is due.

  • purpose string, Required

    Underlying reason for the payment transaction, as published in an external Purpose Code list.

    Minimum length
    4
    Maximum length
    4
    Enum array
    BKFE, BKIP, BKPP, CBLK, ACCT, CASH, COLL, CSDB, DEPT, INTC, INTP, LIMA, NETT, EXTD, OTCD, REPO, SBSC, SLEB, AGRT, AREN, BEXP, BOCE, COMC, CPYR, GDSV, GSCB, LICF, ROYA, SERV, SUBS, SUPP, TRAD, CHAR, COMT, ECPR, EPAY, CLPR, COMP, DBTC, HLRP, HLST, INPC, INPR, INSC, INSU, INTE, LBRI, LIFI, LOAN, LOAR, PENO, PPTI, RELG, TRFD, FORW, FXNT, BLDM, BNET, CDBL, CORT, CPKC, EDUC, FAND, FEES, GIFT, GOVT, INSM, IVPT, REBT, REFU, RENT, REOD, TCSC, CMDT, DERI, DIVD, FREX, HEDG, INVS, SAVG, SECU, TREA, FNET, FUTR, DNTS, HLTI, LTCF, MDCS, VIEW, SWFP, SWPP, SWRS, SWUF, ADCS, ALMY, BECH, BENE, BONU, COMM, HREC, PEFC, PENS, SALA, SSBE, LREB, LREV, ESTX, HSTX, INTX, PTXP, RDTX, TAXS, VATX, WHLD, TAXR, CBTV, ELEC, GASB, PHON, UBIL, WTER, GAMB, LOTT, PCOM, PDEP, PLDS, PLRF
  • categoryPurpose string, Required

    Broader nature of the payment, as published in an external Category Purpose Code list.

    Minimum length
    4
    Maximum length
    4
    Enum array
    BONU, CASH, CBLK, CCRD, CORT, DCRD, DIVI, DVPM, FCOL, GP2P, GOVT, HEDG, INTC, INTE, LOAN, MP2P, OTHR, PENS, RRCT, SALA, SECU, SSBE, SUPP, TAXS, TRAD, TREA, VATX, WHLD
  • remittanceInformation object

    Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.

request

{
"instructionIdentification": "163f8yk55a9bb4w335qa5f",
"endToEndIdentification": "5850154964795488434534",
"instructedAmount": {
"amount": "1477.85",
"currency": "GBP"
},
"sourceAccount": {
"iban": "string"
},
"debtorAccount": {
"iban": "string"
},
"debtor": {
"name": "string",
"postalAddress": {
"buildingNumber": "string",
"buildingName": "string",
"streetName": "string",
"townName": "string",
"country": "st",
"postCode": "string"
},
"organisationIdentifier": {
"bic": "string",
"lei": "646700J3LMYRBDP9MA86",
"otherIdentification": "string"
},
"privateIdentifier": {
"otherIdentification": "string"
}
},
"creditorAccount": {
"iban": "string"
},
"creditor": {
"name": "string",
"postalAddress": {
"buildingNumber": "string",
"buildingName": "string",
"streetName": "string",
"townName": "string",
"country": "st",
"postCode": "string"
},
"organisationIdentifier": {
"bic": "string",
"lei": "646700J3LMYRBDP9MA86",
"otherIdentification": "string"
},
"privateIdentifier": {
"otherIdentification": "string"
}
},
"purpose": "LOAN",
"categoryPurpose": "LOAN",
"remittanceInformation": {
"creditorReferenceInformation": "ACC88451775LOAN"
}
}
Code copied

Response (application/json)

  • 202 Accepted
  • 400 Bad Request

Accepted

{
"paymentId": "472e651e-5a1e-424d-8098-23858bf03ad7"
}
Code copied

Bad Request

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Associated Webhooks

Return a CHAPS payment

post/payments/chaps/v5/return-payments

Return a CHAPS payment. All CHAPS returns must be made by the next working day. The same operating hours apply for CHAPS returns as for regular CHAPS payments. Note that this endpoint only supports returning CHAPS payments made after the Bank of England's RTGS Renewal Programme went live (all payments made on or after 19 June 2023).

Parameters

  • Authorization string, header, Required

    Your API token retrieved from the ClearBank portal.

  • DigitalSignature string, header, Required

    Signed hash of the body of the request. The hash is signed by your private key.

  • X-Request-Id string, header, Required

    A unique identifier for the request.

Request Payload (application/json)

  • paymentId string, Required

    ClearBank identifier that uniquely identifies the inbound payment instruction.

  • reason string, Required

    Specifies the reason for the return.

    Enum array
    AC01, AC02, AC03, AC04, AC06, AC07, AC13, AC14, AC15, AC16, AC17, AG01, AG02, AG07, AGNT, AM01, AM02, AM03, AM04, AM05, AM06, AM07, AM09, AM10, ARDT, BE01, BE04, BE05, BE06, BE07, BE08, BE10, BE11, BE16, BE17, CN01, CNOR, CNPC, CURR, CUST, DNOR, DS28, DT01, DT02, ED01, ED03, ED05, EMVL, ERIN, FF03, FF04, FF05, FF06, FF07, FOCR, FR01, FRTR, G004, MD01, MD02, MD05, MD06, MD07, MS02, MS03, NOAS, NOCM, NOOR, PINL, RC01, RC07, RC08, RC11, RF01, RR01, RR02, RR03, RR04, RR05, RR06, RR07, RR08, RR09, RR11, RR12, RUTA, SL01, SL02, SL11, SL12, SL13, SL14, SP01, SP02, SVNR, TM01, TRAC, UPAY
  • instructionIdentification string, Required

    Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction. Usage: The instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.

    Minimum length
    1
    Maximum length
    35
    Pattern
    ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$

request

{
"paymentId": "bd382f05e8fa4056b25e531e561",
"reason": "AC04",
"instructionIdentification": "string"
}
Code copied

Response (application/json)

  • 202 Accepted
  • 400 Bad Request

Accepted

{
"paymentId": "472e651e-5a1e-424d-8098-23858bf03ad7"
}
Code copied

Bad Request

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Associated Webhooks

Send a CHAPS bank-to-bank payment

post/payments/chaps/v5/institution-payments

Create an outbound bank-to-bank payment. This endpoint is used to send CHAPS Pacs.009 payments between financial institutions and is only available to authorised institutions.

Parameters

  • Authorization string, header, Required

    Your API token retrieved from the ClearBank portal.

  • DigitalSignature string, header, Required

    Signed hash of the body of the request. The hash is signed by your private key.

  • X-Request-Id string, header, Required

    A unique identifier for the request.

Request Payload (application/json)

  • instructionIdentification string, Required

    Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction. Usage: The instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.

    Minimum length
    1
    Maximum length
    35
    Pattern
    ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
  • endToEndIdentification string, Required

    Unique identification, as assigned by the initiating party, to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. Usage: In case there are technical limitations to pass on multiple references, the end-to-end identification must be passed on throughout the entire end-to-end chain.

    Minimum length
    1
    Maximum length
    35
    Pattern
    ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]+$
  • instructedAmount object, Required

    A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.

  • sourceAccount object, Required

    The ClearBank account that will be credited or debited based on the successful completion of the payment instruction. You need to include EITHER iban OR schemeName, proprietary, and identification as shown in the groups below.

  • debtor object, Required

    Party that owes an amount of money to the (ultimate) creditor.

  • creditorAccount object, Required

    Party is owed an amount of money as the (ultimate) creditor. You need to include EITHER iban OR schemeName, proprietary, and identification as shown in the groups below.

  • creditor object, Required

    Party to which an amount of money is due.

  • purpose string, Required

    Underlying reason for the payment transaction, as published in an external Purpose Code list.

    Minimum length
    4
    Maximum length
    4
    Enum array
    BKFE, BKIP, BKPP, CBLK, ACCT, CASH, COLL, CSDB, DEPT, INTC, INTP, LIMA, NETT, EXTD, OTCD, REPO, SBSC, SLEB, AGRT, AREN, BEXP, BOCE, COMC, CPYR, GDSV, GSCB, LICF, ROYA, SERV, SUBS, SUPP, TRAD, CHAR, COMT, ECPR, EPAY, CLPR, COMP, DBTC, HLRP, HLST, INPC, INPR, INSC, INSU, INTE, LBRI, LIFI, LOAN, LOAR, PENO, PPTI, RELG, TRFD, FORW, FXNT, BLDM, BNET, CDBL, CORT, CPKC, EDUC, FAND, FEES, GIFT, GOVT, INSM, IVPT, REBT, REFU, RENT, REOD, TCSC, CMDT, DERI, DIVD, FREX, HEDG, INVS, SAVG, SECU, TREA, FNET, FUTR, DNTS, HLTI, LTCF, MDCS, VIEW, SWFP, SWPP, SWRS, SWUF, ADCS, ALMY, BECH, BENE, BONU, COMM, HREC, PEFC, PENS, SALA, SSBE, LREB, LREV, ESTX, HSTX, INTX, PTXP, RDTX, TAXS, VATX, WHLD, TAXR, CBTV, ELEC, GASB, PHON, UBIL, WTER, GAMB, LOTT, PCOM, PDEP, PLDS, PLRF
  • categoryPurpose string, Required

    Broader nature of the payment, as published in an external Category Purpose Code list.

    Minimum length
    4
    Maximum length
    4
    Enum array
    BONU, CASH, CBLK, CCRD, CORT, DCRD, DIVI, DVPM, FCOL, GP2P, GOVT, HEDG, INTC, INTE, LOAN, MP2P, OTHR, PENS, RRCT, SALA, SECU, SSBE, SUPP, TAXS, TRAD, TREA, VATX, WHLD
  • remittanceInformation object

    Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.

request

{
"instructionIdentification": "string",
"endToEndIdentification": "string",
"instructedAmount": {
"amount": "18540.78",
"currency": "GBP"
},
"sourceAccount": {
"iban": "string"
},
"debtor": {
"name": "string",
"postalAddress": {
"buildingNumber": "string",
"buildingName": "string",
"streetName": "string",
"townName": "string",
"country": "st",
"postCode": "string"
},
"lei": "string"
},
"creditorAccount": {
"iban": "string"
},
"creditor": {
"name": "string",
"postalAddress": {
"buildingNumber": "string",
"buildingName": "string",
"streetName": "string",
"townName": "string",
"country": "st",
"postCode": "string"
},
"lei": "string"
},
"purpose": "INTC",
"categoryPurpose": "INTC",
"remittanceInformation": {
"unstructured": "string"
}
}
Code copied

Response (application/json)

  • 202 Accepted
  • 400 Bad Request

Accepted

{
"paymentId": "472e651e-5a1e-424d-8098-23858bf03ad7"
}
Code copied

Bad Request

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Associated Webhooks

CHAPS simulation endpoints

These endpoints can be used to simulate payments. You can also use them for automated testing.

The ClearBank Payment Simulator should no longer be used for CHAPS payments.

Simulate an inbound CHAPS payment

post/inbound-payment-simulation/chaps/v1/customer-payments

Define a CHAPS payment to be received by an account in sim.

This endpoint exists to support your testing and development in our simulation environment. It does not apply to production. You can use it to send a simulated inbound CHAPS payment, so that you will have a payment available to return. Note that if this request is not successful because the payment details are incorrect, you will not receive a webhook.

Parameters

  • Authorization string, header, Required

    Your API token retrieved from the portal

  • DigitalSignature string, header, Required

    The hash of the request body signed with your private key

  • X-Request-Id string, header, Required

    A unique identifier for the request.

Request Payload (application/json)

  • instructionIdentification string, Required

    Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction.

    Minimum length
    1
    Maximum length
    35
  • endToEndIdentification string, Required

    Unique identification, as assigned by the initiating party, to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.

    Minimum length
    1
    Maximum length
    35
  • instructedAmount object, Required

    Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.

  • debtorBic string, Required

    Valid BIC for the debtor account.

    Minimum length
    1
  • debtorAccount object, Required

    Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction. You need to include EITHER the iban field OR the schemeName and identification fields in this object.

  • debtor object, Required

    Party that owes an amount of money to the (ultimate) creditor.

  • creditorBic string, Required

    Valid BIC for the creditor account.

    Minimum length
    1
  • creditorAccount object, Required

    Unambiguous identification of the account of the creditor to which a credit entry will be made as a result of the transaction. You need to include EITHER the iban field OR the schemeName and identification fields in this object.

  • creditor object, Required

    Party that is owed an amount of money by the (ultimate) debtor.

  • purpose string

    Underlying reason for the payment transaction, as published in an external purpose code list.

    Minimum length
    1
    Maximum length
    35
    Enum array
    Deposit, IntraCompanyPayment, IntraPartyPayment, AgriculturalTransfer, CommercialPayment, PurchaseSaleOfGoodsAndServices, SupplierPayment, CharityPayment, CompensationPayment, PropertyLoanRepayment, PropertyLoanSettlement, PaymentOfInsuranceClaim, LoanRepayment, TradeSettlementPayment, PaymentOfFees, Gift, InvoicePayment, ForeignExchange, Savings, TaxPayment, Utilities, LotteryPayment, PropertyCompletionPayment, PropertyDeposit, PropertyLoanDisbursement, PropertyLoanRefinancing
  • categoryPurpose string

    Category purpose, in a proprietary form.

    Minimum length
    1
    Maximum length
    35
    Enum array
    TradeSettlementPayment, PersonToPersonPayment, GovernmentPayment, IntraCompanyPayment, Loan, OtherPayment, SupplierPayment, TaxPayment, Trade, TreasuryPayment
  • remittanceInformation object

    Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.

request

{
"instructionIdentification": "string",
"endToEndIdentification": "string",
"instructedAmount": {
"amount": 0,
"currency": "GBP"
},
"debtorBic": "string",
"debtorAccount": {
"iban": "string",
"schemeName": "BBan",
"identification": "string"
},
"debtor": {
"name": "string",
"postalAddress": {
"buildingNumber": "string",
"buildingName": "string",
"streetName": "string",
"townName": "string",
"country": "string",
"postCode": "string"
}
},
"creditorBic": "string",
"creditorAccount": {
"iban": "string",
"schemeName": "BBan",
"identification": "string"
},
"creditor": {
"name": "string",
"postalAddress": {
"buildingNumber": "string",
"buildingName": "string",
"streetName": "string",
"townName": "string",
"country": "string",
"postCode": "string"
}
},
"purpose": "Deposit",
"categoryPurpose": "TradeSettlementPayment",
"remittanceInformation": {
"creditorReferenceInformation": "string"
}
}
Code copied

Response (application/json)

  • 202 Accepted
  • 400 Bad Request

Accepted

{
"uetr": "string"
}
Code copied

Bad Request

{
"detail": "string",
"errors": null,
"instance": "string",
"status": "string",
"title": "string",
"type": "string"
}
Code copied

Associated Webhooks

Simulate a returned CHAPS payment

post/inbound-payment-simulation/chaps/v1/return-payments

Define a returned CHAPS payment to be received by an account in sim.

This endpoint exists to support your testing and development in our simulation environment. It does not apply to production. You can use it to send a simulated returned CHAPS payment. Note that if this request is not successful because the payment details are incorrect, you will not receive a webhook.

Parameters

    Request Payload (application/json)

    • originalUetr string, Required

      Universally unique identifier to provide the original end-to-end reference of a payment transaction.

      Pattern
      [a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}
    • returnReasonCode string, Required

      Enum array
      WrongAmount, InconsistentWithEndCustomer, MissingCreditorAddress, UnrecognisedInitiatingParty, UnknownEndCustomer, FollowingCancellationRequest, RefundRequestByEndCustomer
    • originalInstructionIdentification string, Required

      Unique identification, as assigned by the original instructing party for the original instructed party, to unambiguously identify the original instruction.

      Minimum length
      1
      Maximum length
      35
    • originalEndToEndIdentification string, Required

      Unique identification, as assigned by the original initiating party, to unambiguously identify the original transaction.

      Minimum length
      1
      Maximum length
      35
    • originalReference string, Required

      Minimum length
      1
    • instructedAmount object, Required

      Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. Usage: This amount has to be transported unchanged through the transaction chain.

    • debtorName string

      Name of the person or business who owns the debtor account.

    • debtorBic string, Required

      Valid BIC for the debtor account.

      Minimum length
      1
    • creditorName string

      Name of the person or business who owns the creditor account.

    • creditorBic string, Required

      Valid BIC for the creditor account.

      Minimum length
      1

    request

    {
    "originalUetr": "string",
    "returnReasonCode": "WrongAmount",
    "originalInstructionIdentification": "string",
    "originalEndToEndIdentification": "string",
    "originalReference": "string",
    "instructedAmount": {
    "amount": 0,
    "currency": "GBP"
    },
    "debtorName": "string",
    "debtorBic": "string",
    "creditorName": "string",
    "creditorBic": "string"
    }
    Code copied

    Response (application/json)

    • 202 Accepted
    • 400 Bad Request

    Accepted

    {
    "uetr": "string"
    }
    Code copied

    Bad Request

    {
    "detail": "string",
    "errors": null,
    "instance": "string",
    "status": "string",
    "title": "string",
    "type": "string"
    }
    Code copied

    Associated Webhooks

    Simulate a CHAPS bank-to-bank payment

    post/inbound-payment-simulation/chaps/v1/institution-payments

    Define a CHAPS bank-to-bank payment to be received by an account in sim.

    This endpoint exists to support your testing and development in our simulation environment. It does not apply to production. You can use it to send a simulated inbound bank-to-bank payment. Note that if this request is not successful because the payment details are incorrect, you will not receive a webhook.

    Parameters

      Request Payload (application/json)

      • instructionIdentification string, Required

        Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction.

        Minimum length
        1
        Maximum length
        35
      • endToEndIdentification string, Required

        Unique identification, as assigned by the initiating party, to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.

        Minimum length
        1
        Maximum length
        35
      • instructedAmount object, Required

        Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.

      • debtorAccount object, Required

        Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction. You need to include EITHER the iban field OR the schemeName and identification fields in this object.

      • debtorBic string, Required

        Valid BIC for the debtor account.

        Minimum length
        1
      • debtor object, Required

        Party that owes an amount of money to the (ultimate) creditor.

      • creditorBic string, Required

        Valid BIC for the creditor account.

        Minimum length
        1
      • creditorAccount object, Required

        Unambiguous identification of the account of the creditor to which a credit entry will be made as a result of the transaction. You need to include EITHER the iban field OR the schemeName and identification fields in this object.

      • creditor object, Required

        Party that owes an amount of money to the (ultimate) creditor.

      • purpose string

        Underlying reason for the payment transaction, as published in an external purpose code list.

        Minimum length
        1
        Maximum length
        35
        Enum array
        Deposit, IntraCompanyPayment, IntraPartyPayment, AgriculturalTransfer, CommercialPayment, PurchaseSaleOfGoodsAndServices, SupplierPayment, CharityPayment, CompensationPayment, PropertyLoanRepayment, PropertyLoanSettlement, PaymentOfInsuranceClaim, LoanRepayment, TradeSettlementPayment, PaymentOfFees, Gift, InvoicePayment, ForeignExchange, Savings, TaxPayment, Utilities, LotteryPayment, PropertyCompletionPayment, PropertyDeposit, PropertyLoanDisbursement, PropertyLoanRefinancing
      • categoryPurpose string

        Category purpose, in a proprietary form.

        Minimum length
        1
        Maximum length
        35
        Enum array
        TradeSettlementPayment, PersonToPersonPayment, GovernmentPayment, IntraCompanyPayment, Loan, OtherPayment, SupplierPayment, TaxPayment, Trade, TreasuryPayment
      • remittanceInformation object

        Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.

      request

      {
      "instructionIdentification": "string",
      "endToEndIdentification": "string",
      "instructedAmount": {
      "amount": 0,
      "currency": "GBP"
      },
      "debtorAccount": {
      "iban": "string",
      "schemeName": "BBan",
      "identification": "string"
      },
      "debtorBic": "string",
      "debtor": {
      "name": "string",
      "postalAddress": {
      "buildingNumber": "string",
      "buildingName": "string",
      "streetName": "string",
      "townName": "string",
      "country": "string",
      "postCode": "string"
      }
      },
      "creditorBic": "string",
      "creditorAccount": {
      "iban": "string",
      "schemeName": "BBan",
      "identification": "string"
      },
      "creditor": {
      "name": "string",
      "postalAddress": {
      "buildingNumber": "string",
      "buildingName": "string",
      "streetName": "string",
      "townName": "string",
      "country": "string",
      "postCode": "string"
      }
      },
      "purpose": "Deposit",
      "categoryPurpose": "TradeSettlementPayment",
      "remittanceInformation": {
      "unstructured": "string"
      }
      }
      Code copied

      Response (application/json)

      • 202 Accepted
      • 400 Bad Request

      Accepted

      {
      "uetr": "string"
      }
      Code copied

      Bad Request

      {
      "detail": "string",
      "errors": null,
      "instance": "string",
      "status": "string",
      "title": "string",
      "type": "string"
      }
      Code copied

      Associated Webhooks

      FIN to ISO20022 field mapping

      As part of the Bank of England's RTGS Renewal Programme, the previous message format known as MT messages has changed to MX messages that are compliant with ISO20022.

      This table provides information on the most relevant fields within the messages and their associated conversions.

      FieldField nameMT103MT202Explanationpacs.008
      (MT103 successor)
      pacs.009
      (MT202 successor)
      pacs.004
      (MT202 RTN successor)
      :20Transaction Reference NumberMandatoryMandatoryThis field specifies the unique reference assigned by the sender to unambiguously identify the message.<PmtId><InstrId><PmtId><InstrId><RtrId>
      :21Related ReferenceMandatoryThis field contains a reference to the related transaction.<PmtId><EndToEndId><OrgnlInstrId>
      :23BBank Operation CodeMandatoryThis field identifies the type of operation. By the nature of the ISO message, the payment is always credit, so there is no need to specify the type in the message itself.

      In FIN, it's usually populated CRED - Normal credit transfer.
      :32AValue date / Currency / Interbank SettledMandatoryMandatoryThis field specifies the value date, currency, and settlement amount. The settlement amount is the amount to be booked/reconciled at interbank level.<IntrBkSttlmAmt><Ccy>

      <IntrBkSttlmDt>
      <IntrBkSttlmAmt><Ccy>

      <IntrBkSttlmDt>
      <RtrdIntrBkSttlmAmt><Ccy>

      <IntrBkSttlmDt>
      :50A, F, or KOrdering Customer (Payer)MandatoryThis field specifies the customer ordering the transaction.<Dbtr>

      <DbtrAcct>
      <RtrChain><Dbtr><Pty>
      :52A or DOrdering Institution (Payer's Bank)OptionalOptionalThis field specifies the financial institution of the ordering customer.<DbtrAgt> Supercedes Field 52a - Ordering Institution

      <DbtrAgtAcct> Supercedes Field 52a - Ordering Institution Account Number subfield
      <Dbtr> Supercedes Field 52a - Ordering Institution

      <DbtrAcct> Supercedes Field 52a - Ordering Institution Account Number subfield
      <RtrChain><Dbtr><Agt>
      :57A, B, C, or DAccount with Institution (Beneficiary's Bank)OptionalOptionalThis field specifies the financial institution which services the account for the beneficiary customer.<CdtrAgt> Supercedes Field 57a – Account With Institution

      <CdtrAgtAcct> Supercedes Field 57a – Account With Institution Account Number subfield
      <CdtrAgt> Supercedes Field 57a – Account With Institution

      <CdtrAgtAcct> Supercedes Field 57a – Account With Institution Account Number subfield
      <RtrChain><CdtrAgt>
      :58A or DBeneficiary InstitutionMandatoryThis field specifies the financial institution which has been designated by the ordering institution as the ultimate recipient of the funds being transferred.<Cdtr>

      <CdtrAcct>
      <RtrChain><Cdtr><Agt>
      :59 or 59A, FBeneficiaryMandatoryThis field specifies the customer which will be paid.<Cdtr>

      <CdtrAcct>
      <RtrChain><Cdtr><Pty>
      :70Remittance Information (payment reference)OptionalThis field specifies either the details of the individual transaction, or a reference to another message containing the details which are to be transmitted to the beneficiary customer.<PmtId><EndToEndId> Supercedes Field 70 - preceded by codeword /ROC/

      <UltmtDbtr> Supercedes Field 70 - preceded by codeword /ULTD/

      <UltmtCdtr> Supercedes Field 70 - preceded by codeword /ULTB/

      <RltdRmtInf> Supercedes Field 70 - preceded by codeword /RELID/

      <RmtInf> Supercedes Field 70 - Remittance Information
      <RmtInf>
      :71ADetails of ChargesMandatoryThis field specifies which party will bear the charges for the transaction.

      Previous FIN charge codes:
      BEN - Beneficiary
      OUR - Our Customer charged
      SHA - Shared Charges
      <ChrgBr>
      Borne by Creditor - CRED
      Borne by Debtor - DEBT
      Shared - SHAR
      <ChrgBr>
      Borne by Creditor - CRED
      Borne by Debtor - DEBT
      Shared - SHAR
      :72Sender to Receiver InformationOptionalOptionalThis field specifies additional information for the Receiver or other party specified.

      Previously, in FIN, if the first six characters in line 1 contain the character string /REJT/ or /RETN/, then it is mandatory to follow the Payments Reject/Return Guidelines described in the Standards MT Usage Guidelines.
      <PmtTpInf><LclInstrm> Supercedes Field 72 – preceded by codeword /LOCINS/

      <PrvsInstgAgt1><PrvsInstgAgt2><PrvsInstgAgt3> Supercedes Field 72 – preceded by codeword /INS/

      <InstgAgt> Sender

      <InstdAgt>Receiver

      <IntrmyAgt2><IntrmyAgt3> Supercedes Field 72 – preceded by codeword /INTA/

      <InstrForCdtrAgt> Supercedes Field 72 – preceded by codeword /ACC/

      <InstrForNxtAgt> Supercedes Field 72 – preceded by codeword /REC/

      <PmtTpInf><LclInstrm> Supercedes Field 72 – preceded by codeword /LOCINS/ Also CLS-specific codewords

      <PmtTpInf><CtgyPurp> Supercedes Field 72 – preceded by codeword /CATPURP/

      <PrvsInstgAgt1><PrvsInstgAgt2><PrvsInstgAgt3> Supercedes Field 72 – preceded by codeword /INS/

      <IntrmyAgt2><IntrmyAgt3> Supercedes Field 72 – preceded by codeword /INTA/

      <DbtrAgt> Supercedes Field 72 – preceded by codeword /INS/

      <InstrForCdtrAgt> Supercedes Field 72 – preceded by codeword /ACC/, /PHONBEN/, /TELEBEN/

      <InstrForNxtAgt> Supercedes Field 72 – preceded by codeword /REC/

      <Purp> Supercedes Field 72 – preceded by codeword /PURP/

      <RmtInf> Supercedes Field 72 – preceded by codeword /BNF/ or /TSU/

      <RtrRsnInf><Rsn><Cd> Supercedes Field 72 - Sender to Receiver Info - Line 2

      <OrgnlEndToEndId> Supercedes Field 72 - Sender to Receiver Info - Line 4

      <ChrgsInf><Amt> Supercedes Field 72 - Sender to Receiver Info - Line 5

      <OrgnlIntrBkSttlmDt> Supercedes Field 72 - Sender to Receiver Info - Line 6

      CHAPS return reason codes

      The following table details the CHAPS return reason codes used to populate the reason field of the Return a CHAPS payment endpoint.

      Code ValueCode NameCode Definition
      AC01IncorrectAccountNumberFormat of the account number specified is not correct.
      AC02InvalidDebtorAccountNumberDebtor account number invalid or missing.
      AC03InvalidCreditorAccountNumberWrong IBAN in SCT.
      AC04ClosedAccountNumberAccount number specified has been closed on the bank of account's books.
      AC06BlockedAccountAccount specified is blocked, prohibiting posting of transactions against it.
      AC07ClosedCreditorAccountNumberCreditor account number closed.
      AC13InvalidDebtorAccountTypeDebtor account type is missing or invalid.
      AC14InvalidAgentAn agent in the payment chain is invalid.
      AC15AccountDetailsChangedAccount details have changed.
      AC16AccountInSequestrationAccount is in sequestration.
      AC17AccountInLiquidationAccount is in liquidation.
      AG01TransactionForbiddenTransaction forbidden on this type of account (formerly NoAgreement).
      AG02InvalidBankOperationCodeBank Operation code specified in the message is not valid for receiver.
      AG07UnsuccesfulDirectDebitDebtor account cannot be debited for a generic reason. Usage: Code value may be used in general purposes and as a replacement for AM04 if debtor bank does not reveal its customer's insufficient funds for privacy reasons.
      AGNTIncorrectAgentAgent in the payment workflow is incorrect.
      AM01ZeroAmountSpecified message amount is equal to zero.
      AM02NotAllowedAmountSpecific transaction/message amount is greater than allowed maximum.
      AM03NotAllowedCurrencySpecified message amount is a non-processable currency outside of existing agreement.
      AM04InsufficientFundsAmount of funds available to cover specified message amount is insufficient.
      AM05DuplicationDuplication
      AM06TooLowAmountSpecified transaction amount is less than agreed minimum.
      AM07BlockedAmountAmount specified in message has been blocked by regulatory authorities.
      AM09WrongAmountAmount received is not the amount agreed or expected.
      AM10InvalidControlSumSum of instructed amounts does not equal the control sum.
      ARDTAlreadyReturnedTransactionAlready returned original SCT.
      BE01InconsistenWithEndCustomerIdentification of end customer is not consistent with associated account number, organisation ID, or private ID.
      BE04MissingCreditorAddressSpecification of creditor's address, which is required for payment, is missing/not correct (formerly IncorrectCreditorAddress).
      BE05UnrecognisedInitiatingPartyParty who initiated the message is not recognized by the end customer.
      BE06UnknownEndCustomerEnd customer specified is not known at associated Sort/National Bank Code or does no longer exist in the books.
      BE07MissingDebtorAddressSpecification of debtor's address, which is required for payment, is missing/not correct.
      BE08BankErrorReturned as a result of a bank error.
      BE10InvalidDebtorCountryDebtor country code is missing or invalid.
      BE11InvalidCreditorCountryCreditor country code is missing or invalid.
      BE16InvalidDebtorIdentificationCodeDebtor or Ultimate Debtor identification code missing or invalid.
      BE17InvalidCreditorIdentificationCodeCreditor or Ultimate Creditor identification code missing or invalid.
      CN01AuthorisationCancelledAuthorisation is cancelled.
      CNORCreditorBankIsNotRegisteredCreditor bank is not registered under this BIC in the CSM.
      CNPCCashNotPickedUpCash not picked up by Creditor or cash could not be delivered to Creditor.
      CURRIncorrectCurrencyCurrency of the payment is incorrect.
      CUSTRequestedByCustomerCancellation requested by the Debtor.
      DNORDebtorBankIsNotRegisteredDebtor bank is not registered under this BIC in the CSM.
      DS28ReturnForTechnicalReasonReturn following technical problems resulting in erroneous transaction.
      DT01InvalidDateInvalid date (e.g., wrong settlement date).
      DT02ChequeExpiredCheque has been issued but not deposited and is considered expired.
      ED01CorrespondentBankNotPossibleCorrespondent bank not possible.
      ED03BalanceInfoRequestBalance of payments complementary info is requested.
      ED05SettlementFailedSettlement of the transaction has failed.
      EMVLEMVLiabilityShiftThe card payment is fraudulent and was not processed with EMV technology for an EMV card.
      ERINERIOptionNotSupportedThe Extended Remittance Information (ERI) option is not supported.
      FF03InvalidPaymentTypeInformationPayment Type Information is missing or invalid. Generic usage if cannot specify Service Level or Local Instrument code.
      FF04InvalidServiceLevelCodeService Level code is missing or invalid.
      FF05InvalidLocalInstrumentCodeLocal Instrument code is missing or invalid.
      FF06InvalidCategoryPurposeCodeCategory Purpose code is missing or invalid.
      FF07InvalidPurposePurpose is missing or invalid.
      FOCRFollowingCancellationRequestReturn following a cancellation request.
      FR01FraudReturned as a result of fraud.
      FRTRFinalResponseMandateCancelledFinal response/tracking is recalled as mandate is cancelled.
      G004CreditPendingFundsIn a FIToFI Customer Credit Transfer: Credit to the creditor’s account is pending, status Originator is waiting for funds provided via a cover. Update will follow from the Status Originator.
      MD01NoMandateNo Mandate.
      MD02MissingMandatoryInformationInMandateMandate related information data required by the scheme is missing.
      MD05CollectionNotDueCreditor or creditor's agent should not have collected the direct debit.
      MD06RefundRequestByEndCustomerReturn of funds requested by end customer.
      MD07EndCustomerDeceasedEnd customer is deceased.
      MS02NotSpecifiedReasonCustomerGeneratedReason has not been specified by end customer.
      MS03NotSpecifiedReasonAgentGeneratedReason has not been specified by agent.
      NARRNarrativeReason is provided as narrative information in the additional reason information. This reason code is not available when sending return payments but may be used by other parties when you receive inbound return payments.
      NOASNoAnswerFromCustomerNo response from crediting customer.
      NOCMNotCompliantCustomer account is not compliant with regulatory requirements, for example FICA (in South Africa) or any other regulatory requirements which render an account inactive for certain processing.
      NOORNoOriginalTransactionReceivedOriginal SCT never received.
      PINLPINLiabilityShiftThe card payment is fraudulent (lost and stolen fraud) and was processed as EMV transaction without PIN verification.
      RC01BankIdentifierIncorrectBank Identifier code specified in the message has an incorrect format (formerly IncorrectFormatForRoutingCode).
      RC07InvalidCreditorBICIdentifierIncorrect BIC of the creditor Bank in the SCTR.
      RC08InvalidClearingSystemMemberIdentifierClearingSystemMemberidentifier is invalid or missing. Generic usage if cannot specify between debit or credit account.
      RC11InvalidIntermediaryAgentIntermediary Agent is invalid or missing.
      RF01NotUniqueTransactionReferenceTransaction reference is not unique within the message.
      RR01MissingDebtorAccountOrIdentificationSpecification of the debtor’s account or unique identification needed for reasons of regulatory requirements is insufficient or missing.
      RR02MissingDebtorNameOrAddressSpecification of the debtor’s name and/or address needed for regulatory requirements is insufficient or missing.
      RR03MissingCreditorNameOrAddressSpecification of the creditor’s name and/or address needed for regulatory requirements is insufficient or missing.
      RR04RegulatoryReasonRegulatory Reason.
      RR05RegulatoryInformationInvalidRegulatory or Central Bank Reporting information missing, incomplete, or invalid.
      RR06TaxInformationInvalidTax information missing, incomplete, or invalid.
      RR07RemittanceInformationInvalidRemittance information structure does not comply with rules for payment type.
      RR08RemittanceInformationTruncatedRemittance information truncated to comply with rules for payment type.
      RR09InvalidStructuredCreditorReferenceStructured creditor reference invalid or missing.
      RR11InvalidDebtorAgentServiceIdentificationInvalid or missing identification of a bank proprietary service.
      RR12InvalidPartyIdentificationInvalid or missing identification required within a particular country or payment type.
      RUTAReturnUponUnableToApplyReturn following investigation request and no remediation possible.
      SL01SpecificServiceOfferedByDebtorAgentDue to specific service offered by the Debtor Agent.
      SL02SpecificServiceOfferedByCreditorAgentDue to specific service offered by the Creditor Agent.
      SL11CreditorNotOnWhitelistOfDebtorWhitelisting service offered by the Debtor Agent; Debtor has not included the Creditor on its “Whitelist” (yet). In the Whitelist, the Debtor may list all allowed Creditors to debit Debtor bank account.
      SL12CreditorOnBlacklistOfDebtorBlacklisting service offered by the Debtor Agent; Debtor included the Creditor on his “Blacklist”. In the Blacklist, the Debtor may list all Creditors not allowed to debit Debtor bank account.
      SL13MaximumNumberOfDirectDebitTransactionsExceededDue to Maximum allowed Direct Debit Transactions per period service offered by the Debtor Agent.
      SL14MaximumDirectDebitTransactionAmountExceededDue to Maximum allowed Direct Debit Transaction amount service offered by the Debtor Agent.
      SP01PaymentStoppedPayment is stopped by the account holder.
      SP02PreviouslyStoppedPreviously stopped by means of a stop payment advise.
      SVNRServiceNotRenderedThe card payment is returned since a cash amount rendered was not correct or goods or a service was not rendered to the customer, e.g., in an e-commerce situation.
      TM01CutOffTimeAssociated message was received after the agreed processing cut-off time.
      TRACRemovedFromTrackingReturn following a direct debit being removed from the tracking process.
      UPAYUnduePaymentPayment is not justified.