EPC API for calling Electrum (15.2.0)

The Electrum EPC API for calling Electrum is an asynchronous API that allows Corporate Clients to participate in various nationally regulated payment schemes This document describes the operations exposed by Electrum for partners to consume in order to initiate outbound or respond to inbound payments.

Download OpenAPI description
Overview
Languages
Servers
Mock server
https://docs.electrumsoftware.com/_mock/openapi/epc/bpp-elpapi/
Payments API sandbox
https://example.com/path/payments/api/v1/

credit-transfer

Operations related to credit transfer transactions.

Operations

scheme-inquiry

Operations that are related to retrieving information from industry for a particular scheme.

Operations

request-to-pay

Operations which pertain to a request for payment from a creditor to a debtor

Operations

Schema

traceparent

A value used to trace an HTTP message within an Electrum Regulated Payments implementation. This field must be set as per the traceparent element defined in the W3C Trace Context Level 2 specification.

string(traceparent)^[A-Fa-f0-9]{2}\-[A-Fa-f0-9]{32}\-[A-Fa-f0-9]...

A value used to trace an HTTP message within an Electrum Regulated Payments implementation. This field must be set as per the traceparent element defined in the W3C Trace Context Level 2 specification.

"string"

tracestate

A value used to provide context to an HTTP message as it is traced within an Electrum Regulated Payments implementation. This field must be set as per the traceparent element defined in the W3C Trace Context Level 2 specification.

string(tracestate)^[A-Za-z0-9=, _\*/@]{0,1024}$

A value used to provide context to an HTTP message as it is traced within an Electrum Regulated Payments implementation. This field must be set as per the traceparent element defined in the W3C Trace Context Level 2 specification.

"string"

MessageIdentifiers

Holds a point-to-point unique message identification string as well as a message's creation date time.

creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

{ "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }

SupplementaryData

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

property name*stringadditional property
{ "property1": "string", "property2": "string" }

BaseMessage

A model containing the foundational elements shared across messages and generally expected in a message used during processing with the Electrum Regulated Payments API.

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

{ "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "supplementaryData": { "property1": "string", "property2": "string" } }

BaseResponseMessage

An extension of BaseMessage which includes additional information pertinent to an asynchronous response message. In particular, original message identifiers.

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

originalMessageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

originalMessageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

originalMessageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

{ "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "supplementaryData": { "property1": "string", "property2": "string" }, "originalMessageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" } }

TransactionIdentifiers

Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.

endToEndIdentificationstring<= 35 charactersrequired

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. Note: this is distinct from the UETR.

transactionIdentificationstring<= 35 characters

Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. Usage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. Usage: The instructing agent has to make sure that the transaction identification is unique for a pre- agreed period.

uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference of a payment transaction. This identifier remains the same for all messages related to the same transaction.

{ "endToEndIdentification": "string", "transactionIdentification": "string", "uetr": "string" }

BaseTransactionResponseMessage

An extension of BaseTransactionMessage which includes additional information pertinent to an asynchronous response message. In particular, original message identifiers.

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

originalMessageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

originalMessageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

originalMessageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

transactionIdentifiersobject(TransactionIdentifiers)required

Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.

transactionIdentifiers.​endToEndIdentificationstring<= 35 charactersrequired

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. Note: this is distinct from the UETR.

transactionIdentifiers.​transactionIdentificationstring<= 35 characters

Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. Usage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. Usage: The instructing agent has to make sure that the transaction identification is unique for a pre- agreed period.

transactionIdentifiers.​uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference of a payment transaction. This identifier remains the same for all messages related to the same transaction.

{ "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "supplementaryData": { "property1": "string", "property2": "string" }, "originalMessageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "transactionIdentifiers": { "endToEndIdentification": "string", "transactionIdentification": "string", "uetr": "string" } }

CustomIdentifier

namespacestring[ 1 .. 40 ] characters

An identifier's namespace provides a context for the identifier to distinguish different identifiers which may have the same value but be intended to identify different accounts. For example, a bank may use the same MSISDN (identifier) with different namespaces to distinguish between a customer's cheque or savings accounts.

This may be used by the following schemes:

  • ZA_RPP
schemastring

Indicates the schema of the identifier, e.g. MOBILE, CUSTOM.

Discriminator
valuestring[ 1 .. 2048 ] charactersrequired
{ "namespace": "string", "schema": "CUSTOM", "value": "string" }

NonBankingIdentifier

namespacestring[ 1 .. 40 ] characters

An identifier's namespace provides a context for the identifier to distinguish different identifiers which may have the same value but be intended to identify different accounts. For example, a bank may use the same MSISDN (identifier) with different namespaces to distinguish between a customer's cheque or savings accounts.

This may be used by the following schemes:

  • ZA_RPP
schemastring

Indicates the schema of the identifier, e.g. MOBILE, CUSTOM.

Discriminator
valuestring[ 1 .. 2048 ] charactersrequired
{ "namespace": "string", "schema": "CUSTOM", "value": "string" }

PhoneNumber

string(PhoneNumber)^\+[0-9]{1,3}-[0-9()+\-]{1,30}$
"string"

MobileNumberIdentifier

namespacestring[ 1 .. 40 ] characters

An identifier's namespace provides a context for the identifier to distinguish different identifiers which may have the same value but be intended to identify different accounts. For example, a bank may use the same MSISDN (identifier) with different namespaces to distinguish between a customer's cheque or savings accounts.

This may be used by the following schemes:

  • ZA_RPP
schemastring

Indicates the schema of the identifier, e.g. MOBILE, CUSTOM.

Discriminator
valuestring[ 1 .. 2048 ] charactersrequired
{ "namespace": "string", "schema": "CUSTOM", "value": "string" }

FinancialInstitutionIdentifier

bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

memberIdstring<= 35 characters

Identification of a member of a clearing system.

namespacesArray of strings
schemastringrequired

Indicates the account identifier is a Financial Institution Identifier, always FII

{ "bicfi": "string", "memberId": "string", "namespaces": [ "string" ], "schema": "string" }

ExternalAccountIdentificationCode

  • AIIN: Issuer Identification Number - identifies a card issuing institution in an international interchange environment. Issued by ABA (American Bankers Association).
  • BBAN: Basic Bank Account Number - identifier used nationally by financial institutions, ie, in individual countries, generally as part of a National Account Numbering Scheme(s), to uniquely identify the account of a customer.
  • CUID: (United States) Clearing House Interbank Payments System (CHIPS) Universal Identification (UID) - identifies entities that own accounts at CHIPS participating financial institutions, through which CHIPS payments are effected. The CHIPS UID is assigned by the New York Clearing House.
  • UPIC: Universal Payment Identification Code - identifier used by the New York Clearing House to mask confidential data, such as bank accounts and bank routing numbers. UPIC numbers remain with business customers, regardless of banking relationship changes.
string(ExternalAccountIdentificationCode)
  • AIIN: Issuer Identification Number - identifies a card issuing institution in an international interchange environment. Issued by ABA (American Bankers Association).
  • BBAN: Basic Bank Account Number - identifier used nationally by financial institutions, ie, in individual countries, generally as part of a National Account Numbering Scheme(s), to uniquely identify the account of a customer.
  • CUID: (United States) Clearing House Interbank Payments System (CHIPS) Universal Identification (UID) - identifies entities that own accounts at CHIPS participating financial institutions, through which CHIPS payments are effected. The CHIPS UID is assigned by the New York Clearing House.
  • UPIC: Universal Payment Identification Code - identifier used by the New York Clearing House to mask confidential data, such as bank accounts and bank routing numbers. UPIC numbers remain with business customers, regardless of banking relationship changes.
Enum"AIIN""BBAN""CUID""UPIC"
"AIIN"

GenericAccountIdentificationSchemeCode

schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

valuestring(ExternalAccountIdentificationCode)required
  • AIIN: Issuer Identification Number - identifies a card issuing institution in an international interchange environment. Issued by ABA (American Bankers Association).
  • BBAN: Basic Bank Account Number - identifier used nationally by financial institutions, ie, in individual countries, generally as part of a National Account Numbering Scheme(s), to uniquely identify the account of a customer.
  • CUID: (United States) Clearing House Interbank Payments System (CHIPS) Universal Identification (UID) - identifies entities that own accounts at CHIPS participating financial institutions, through which CHIPS payments are effected. The CHIPS UID is assigned by the New York Clearing House.
  • UPIC: Universal Payment Identification Code - identifier used by the New York Clearing House to mask confidential data, such as bank accounts and bank routing numbers. UPIC numbers remain with business customers, regardless of banking relationship changes.
Enum"AIIN""BBAN""CUID""UPIC"
{ "schema": "string", "value": "AIIN" }

ProprietaryValueLiteral

A proprietary value.

string(ProprietaryValueLiteral)<= 35 characters

A proprietary value.

"string"

ProprietaryValue

A model that describes a proprietary value assigned by some party, the purpose of which is to provide for the possibility of parties using values that are not standardised.

schemastringrequired

Identifies the value as being proprietary (i.e. not published in an external list). Always PROPRIETARY

valuestring(ProprietaryValueLiteral)<= 35 charactersrequired

A proprietary value.

{ "schema": "string", "value": "string" }

GenericAccountIdentificationScheme

Identifies the scheme that defines the identification of a generic account.

schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

Discriminator
valuestring(ExternalAccountIdentificationCode)required
  • AIIN: Issuer Identification Number - identifies a card issuing institution in an international interchange environment. Issued by ABA (American Bankers Association).
  • BBAN: Basic Bank Account Number - identifier used nationally by financial institutions, ie, in individual countries, generally as part of a National Account Numbering Scheme(s), to uniquely identify the account of a customer.
  • CUID: (United States) Clearing House Interbank Payments System (CHIPS) Universal Identification (UID) - identifies entities that own accounts at CHIPS participating financial institutions, through which CHIPS payments are effected. The CHIPS UID is assigned by the New York Clearing House.
  • UPIC: Universal Payment Identification Code - identifier used by the New York Clearing House to mask confidential data, such as bank accounts and bank routing numbers. UPIC numbers remain with business customers, regardless of banking relationship changes.
Enum"AIIN""BBAN""CUID""UPIC"
{ "schema": "CODE", "value": "AIIN" }

GenericAccountIdentifier

issuerstring<= 35 characters

The entity that assigns the identification

schemastringrequired

Identifies this account identifier as generic, always GENERIC

schemeobject(GenericAccountIdentificationScheme)

Identifies the scheme that defines the identification of a generic account.

valuestring[ 1 .. 40 ] charactersrequired
{ "issuer": "string", "schema": "string", "scheme": { "schema": "string", "value": "AIIN" }, "value": "string" }

IBAN

An identifier used internationally by financial institutions to uniquely identify the account of a customer at a financial institution, as described in the latest edition of the international standard ISO 13616: 2007

string(IBAN)[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}

An identifier used internationally by financial institutions to uniquely identify the account of a customer at a financial institution, as described in the latest edition of the international standard ISO 13616: 2007

"string"

IBANIdentifier

schemastringrequired

Indicates the account identifier is an IBAN, always IBAN

valuestring(IBAN)[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}required

An identifier used internationally by financial institutions to uniquely identify the account of a customer at a financial institution, as described in the latest edition of the international standard ISO 13616: 2007

{ "schema": "string", "value": "string" }

AccountIdentifier

namespacestring[ 1 .. 40 ] characters

An identifier's namespace provides a context for the identifier to distinguish different identifiers which may have the same value but be intended to identify different accounts. For example, a bank may use the same MSISDN (identifier) with different namespaces to distinguish between a customer's cheque or savings accounts.

This may be used by the following schemes:

  • ZA_RPP
schemastring

Indicates the schema of the identifier, e.g. MOBILE, CUSTOM.

Discriminator
valuestring[ 1 .. 2048 ] charactersrequired
{ "namespace": "string", "schema": "CUSTOM", "value": "string" }

PaymentSchemeName

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
string(PaymentSchemeName)

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
"ZA_RTC"

AccountIdentification

Holds details pertaining to an identifier of an account or store of value.

accountKnownAsstring<= 40 characters

A name or label of the account.

identifierobject(AccountIdentifier)required
identifier.​namespacestring[ 1 .. 40 ] characters

An identifier's namespace provides a context for the identifier to distinguish different identifiers which may have the same value but be intended to identify different accounts. For example, a bank may use the same MSISDN (identifier) with different namespaces to distinguish between a customer's cheque or savings accounts.

This may be used by the following schemes:

  • ZA_RPP
identifier.​schemastring

Indicates the schema of the identifier, e.g. MOBILE, CUSTOM.

Discriminator
identifier.​valuestring[ 1 .. 2048 ] charactersrequired
registeredSchemesArray of strings(PaymentSchemeName)

The list of schemes with which the identifier is registered.

Items Enum"ZA_RTC""ZA_RPP""ZA_EFT"
{ "accountKnownAs": "string", "identifier": { "schema": "string", "value": "string" }, "registeredSchemes": [ "ZA_RTC" ] }

AddressTypeCode

  • ADDR: A postal address.
  • PBOX: A postal office (PO) box address.
  • HOME: A (residential) home address.
  • BIZZ: A business address.
  • MLTO: Address to which mail is sent.
  • DLVY: Address to which delivery is to take place
string(AddressTypeCode)
  • ADDR: A postal address.
  • PBOX: A postal office (PO) box address.
  • HOME: A (residential) home address.
  • BIZZ: A business address.
  • MLTO: Address to which mail is sent.
  • DLVY: Address to which delivery is to take place
Enum"ADDR""PBOX""HOME""BIZZ""MLTO""DLVY"
"ADDR"

CountryCode

A code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).

string(CountryCode)[A-Z]{2,2}

A code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).

"string"

PostalAddress

addressLineArray of strings[ 0 .. 7 ] items
addressTypestring(AddressTypeCode)
  • ADDR: A postal address.
  • PBOX: A postal office (PO) box address.
  • HOME: A (residential) home address.
  • BIZZ: A business address.
  • MLTO: Address to which mail is sent.
  • DLVY: Address to which delivery is to take place
Enum"ADDR""PBOX""HOME""BIZZ""MLTO""DLVY"
buildingNamestring[ 1 .. 35 ] characters
buildingNumberstring[ 1 .. 16 ] characters
countrystring(CountryCode)[A-Z]{2,2}

A code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).

countrySubDivisionstring[ 1 .. 35 ] characters
departmentstring[ 1 .. 70 ] characters
districtNamestring[ 1 .. 35 ] characters
floorstring[ 1 .. 70 ] characters
postBoxstring[ 1 .. 16 ] characters
postCodestring[ 1 .. 16 ] characters
streetNamestring[ 1 .. 70 ] characters
townLocationNamestring[ 1 .. 35 ] characters
townNamestring[ 1 .. 35 ] characters
{ "addressLine": [ "string" ], "addressType": "ADDR", "buildingName": "string", "buildingNumber": "string", "country": "string", "countrySubDivision": "string", "department": "string", "districtName": "string", "floor": "string", "postBox": "string", "postCode": "string", "streetName": "string", "townLocationName": "string", "townName": "string" }

BranchIdentification

addressobject(PostalAddress)
identificationstringrequired

Unique and unambiguous identification of a branch of a financial institution.

namestring<= 140 characters

The name by which this branch is known and is usually used to identify the branch.

{ "address": { "addressLine": [], "addressType": "ADDR", "buildingName": "string", "buildingNumber": "string", "country": "string", "countrySubDivision": "string", "department": "string", "districtName": "string", "floor": "string", "postBox": "string", "postCode": "string", "streetName": "string", "townLocationName": "string", "townName": "string" }, "identification": "string", "name": "string" }

InstitutionIdentification

additionalIdentificationsArray of objects(AccountIdentification)
bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

branchobject(BranchIdentification)
companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

memberIdstring<= 35 characters

Identification of a member of a clearing system.

namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

{ "additionalIdentifications": [ {} ], "bicfi": "string", "branch": { "address": {}, "identification": "string", "name": "string" }, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }

Amount

currencystring^[A-Z]{3}$required

A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.

valuenumber(double)>= 0required

The payment amount in the denomination of the indicated currency, in the format '. with the number of minor units (fractional digits) compliant with the number of decimal places published in ISO 4217.

Currency CodeExampleValidNotes
USD10.0Represents 10 USD and no cents.
USD10.00
USD10.001US dollar does not support three decimal places.
JPY10.0Represents 10 Japanese Yen.
JPY10.1Japanese Yen does not support decimal places.
{ "currency": "string", "value": 0.1 }

TransactionAmounts

bankSettlementAmountobject(Amount)required
bankSettlementAmount.​currencystring^[A-Z]{3}$required

A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.

bankSettlementAmount.​valuenumber(double)>= 0required

The payment amount in the denomination of the indicated currency, in the format '. with the number of minor units (fractional digits) compliant with the number of decimal places published in ISO 4217.

Currency CodeExampleValidNotes
USD10.0Represents 10 USD and no cents.
USD10.00
USD10.001US dollar does not support three decimal places.
JPY10.0Represents 10 Japanese Yen.
JPY10.1Japanese Yen does not support decimal places.
instructedAmountobject(Amount)
{ "bankSettlementAmount": { "currency": "string", "value": 0.1 }, "instructedAmount": { "currency": "string", "value": 0.1 } }

ContactDetails

emailAddressstring(email)
mobileNumberstring(PhoneNumber)^\+[0-9]{1,3}-[0-9()+\-]{1,30}$
phoneNumberstring(PhoneNumber)^\+[0-9]{1,3}-[0-9()+\-]{1,30}$
{ "emailAddress": "user@example.com", "mobileNumber": "string", "phoneNumber": "string" }

OrganisationIdentifierBic

An organisation identified by a code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority, as described in ISO 9362: 2014 - Banking - Banking telecommunication messages - Business identifier code (BIC).

BICstring[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]...required
schemastringrequired

Indicates the identifier as a BIC organisation identifier, always BIC

{ "BIC": "string", "schema": "string" }

OrganisationIdentifierLei

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

LEIstring[A-Z0-9]{18,18}[0-9]{2,2}required
schemastringrequired

Indicates the identifier as a LEI organisation identifier, always LEI

{ "LEI": "string", "schema": "string" }

OrganisationIdentificationCode

schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

valuestringrequired
  • BANK : BankPartyIdentification. Unique and unambiguous assignment made by a specific bank or similar financial institution to identify a relationship as defined between the bank and its client.
  • CBID : CentralBankIdentificationNumber. A unique identification number assigned by a central bank to identify an organisation.
  • CHID : ClearingIdentificationNumber. A unique identification number assigned by a clearing house to identify an organisation
  • CINC : CertificateOfIncorporationNumber. A unique identification number assigned by a designated authority to a certificate of incorporation and used to identify an organisation.
  • COID : CountryIdentificationCode. Country authority given organisation identification (e.g., corporate registration number)
  • CUST : CustomerNumber. Number assigned by an issuer to identify a customer or number assigned by a party to identify a creditor or debtor relationship.
  • DUNS : DataUniversalNumberingSystem. A unique identification number provided by Dun & Bradstreet to identify an organisation.
  • EMPL : EmployerIdentificationNumber. Number assigned by a registration authority to an employer.
  • GS1G : GS1GLNIdentifier. Global Location Number. A non-significant reference number used to identify legal entities, functional entities, or physical entities according to GS1 numbering scheme rules.The number is used to retrieve detailed information that is linked to it.
  • SREN : SIREN. The SIREN number is a 9 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation in France.
  • SRET : SIRET. The SIRET number is a 14 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation unit in France. It consists of the SIREN number, followed by a five digit classification number, to identify the local geographical unit of that entity
  • TXID : TaxIdentificationNumber. Number assigned by a tax authority to identify an organisation.
  • BDID : BusinessDomainIdentifier. Identifier of the business domain in which the organisation is active.
  • BOID : BusinessOtherIdentification. Other identification of the organisation.
Enum"BANK""CBID""CHID""CINC""COID""CUST""DUNS""EMPL""GS1G""SREN"
{ "schema": "string", "value": "BANK" }

OrganisationIdentifierScheme

schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

Discriminator
valuestringrequired
  • BANK : BankPartyIdentification. Unique and unambiguous assignment made by a specific bank or similar financial institution to identify a relationship as defined between the bank and its client.
  • CBID : CentralBankIdentificationNumber. A unique identification number assigned by a central bank to identify an organisation.
  • CHID : ClearingIdentificationNumber. A unique identification number assigned by a clearing house to identify an organisation
  • CINC : CertificateOfIncorporationNumber. A unique identification number assigned by a designated authority to a certificate of incorporation and used to identify an organisation.
  • COID : CountryIdentificationCode. Country authority given organisation identification (e.g., corporate registration number)
  • CUST : CustomerNumber. Number assigned by an issuer to identify a customer or number assigned by a party to identify a creditor or debtor relationship.
  • DUNS : DataUniversalNumberingSystem. A unique identification number provided by Dun & Bradstreet to identify an organisation.
  • EMPL : EmployerIdentificationNumber. Number assigned by a registration authority to an employer.
  • GS1G : GS1GLNIdentifier. Global Location Number. A non-significant reference number used to identify legal entities, functional entities, or physical entities according to GS1 numbering scheme rules.The number is used to retrieve detailed information that is linked to it.
  • SREN : SIREN. The SIREN number is a 9 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation in France.
  • SRET : SIRET. The SIRET number is a 14 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation unit in France. It consists of the SIREN number, followed by a five digit classification number, to identify the local geographical unit of that entity
  • TXID : TaxIdentificationNumber. Number assigned by a tax authority to identify an organisation.
  • BDID : BusinessDomainIdentifier. Identifier of the business domain in which the organisation is active.
  • BOID : BusinessOtherIdentification. Other identification of the organisation.
Enum"BANK""CBID""CHID""CINC""COID""CUST""DUNS""EMPL""GS1G""SREN"
{ "schema": "CODE", "value": "BANK" }

OrganisationIdentifierOther

A unique identification of an organisation, as assigned by an institution, using an identification scheme.

identificationstring<= 35 charactersrequired
issuerstring<= 35 characters

The name of the entity that assigns the identification

schemastringrequired

Indicates the identifier as a unique identification of an organisation, as assigned by an institution. Always OTHER

schemeobject(OrganisationIdentifierScheme)
{ "identification": "string", "issuer": "string", "schema": "string", "scheme": { "schema": "string", "value": "BANK" } }

OrganisationIdentifier

Holds identification details for an organisation.

BICstring[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]...required
schemastringrequired

Indicates the identifier as a BIC organisation identifier, always BIC

Discriminator
{ "BIC": "string", "schema": "BIC" }

OrganisationIdentification

identifiersArray of objects(OrganisationIdentifier)required
identifiers[].​BICstring[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]...required
identifiers[].​schemastringrequired

Indicates the identifier as a BIC organisation identifier, always BIC

Discriminator
schemastringrequired

Identifies the party as an organisation, always ORGANISATION

{ "identifiers": [ {} ], "schema": "string" }

PersonIdentificationCode

schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

valuestringrequired
  • ARNU: AlienRegistrationNumber. A number assigned by a social security agency to identify a non-resident person.
  • CCPT: PassportNumber. A number assigned by an authority to identify the passport number of a person.
  • CUST: CustomerIdentificationNumber. A number assigned by an issuer to identify a customer.
  • DRLC: DriversLicenseNumber. A number assigned by an authority to identify a driver's license.
  • EMPL: EmployeeIdentificationNumber. A number assigned by a registration authority to an employee.
  • NIDN: NationalIdentityNumber. A number assigned by an authority to identify the national identity number of a person.
  • SOSE: SocialSecurityNumber. A number assigned by an authority to identify the social security number of a person.
  • TELE: TelephoneNumber. A number assigned by a telephone or mobile phone operator to identify a person. A person may have multiple phone numbers.
  • TXID: TaxIdentificationNumber. A number assigned by a tax authority to identify a person.
  • POID: PersonOtherIdentification. Other identification of the person.
Enum"ARNU""CCPT""CUST""DRLC""EMPL""NIDN""SOSE""TELE""TXID""POID"
{ "schema": "string", "value": "ARNU" }

PersonIdentifierScheme

schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

Discriminator
valuestringrequired
  • ARNU: AlienRegistrationNumber. A number assigned by a social security agency to identify a non-resident person.
  • CCPT: PassportNumber. A number assigned by an authority to identify the passport number of a person.
  • CUST: CustomerIdentificationNumber. A number assigned by an issuer to identify a customer.
  • DRLC: DriversLicenseNumber. A number assigned by an authority to identify a driver's license.
  • EMPL: EmployeeIdentificationNumber. A number assigned by a registration authority to an employee.
  • NIDN: NationalIdentityNumber. A number assigned by an authority to identify the national identity number of a person.
  • SOSE: SocialSecurityNumber. A number assigned by an authority to identify the social security number of a person.
  • TELE: TelephoneNumber. A number assigned by a telephone or mobile phone operator to identify a person. A person may have multiple phone numbers.
  • TXID: TaxIdentificationNumber. A number assigned by a tax authority to identify a person.
  • POID: PersonOtherIdentification. Other identification of the person.
Enum"ARNU""CCPT""CUST""DRLC""EMPL""NIDN""SOSE""TELE""TXID""POID"
{ "schema": "CODE", "value": "ARNU" }

PersonIdentifier

identificationstring<= 35 charactersrequired

Unique and unambiguous identification of a person, for example a passport.

issuerstring<= 35 characters

The entity that assigns the identification

schemeobject(PersonIdentifierScheme)
{ "identification": "string", "issuer": "string", "scheme": { "schema": "string", "value": "ARNU" } }

PersonIdentification

identifiersArray of objects(PersonIdentifier)required
identifiers[].​identificationstring<= 35 charactersrequired

Unique and unambiguous identification of a person, for example a passport.

identifiers[].​issuerstring<= 35 characters

The entity that assigns the identification

identifiers[].​schemeobject(PersonIdentifierScheme)
schemastringrequired

Identifies the party as a person, always PERSON

{ "identifiers": [ {} ], "schema": "string" }

PartyIdentification

The identification of a party, either a person or an organisation.

identifiersArray of objects(OrganisationIdentifier)required
identifiers[].​BICstring[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]...required
identifiers[].​schemastringrequired

Indicates the identifier as a BIC organisation identifier, always BIC

Discriminator
schemastringrequired

Identifies the party as an organisation, always ORGANISATION

Discriminator
{ "identifiers": [ {} ], "schema": "ORGANISATION" }

Party

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

addressobject(PostalAddress)
contactDetailsobject(ContactDetails)
countryOfResidencestring(CountryCode)[A-Z]{2,2}

A code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).

identificationobject(PartyIdentification)

The identification of a party, either a person or an organisation.

knownAsNamestring[ 1 .. 140 ] characters

The name by which this party is commonly known in day to day use. For example, a shortening of their legal name or a nickname that they commonly use. This is "non-official". However, it is acceptable for this field to be set to the same as legalName.

legalNamestring[ 1 .. 140 ] characters

The legal name by which this party is known (the "FICA" name). This is the full name of the party as found on country-issued documentation (national identity, company registration documentation etc).

{ "address": { "addressLine": [], "addressType": "ADDR", "buildingName": "string", "buildingNumber": "string", "country": "string", "countrySubDivision": "string", "department": "string", "districtName": "string", "floor": "string", "postBox": "string", "postCode": "string", "streetName": "string", "townLocationName": "string", "townName": "string" }, "contactDetails": { "emailAddress": "user@example.com", "mobileNumber": "string", "phoneNumber": "string" }, "countryOfResidence": "string", "identification": { "identifiers": [], "schema": "string" }, "knownAsName": "string", "legalName": "string" }

BankingIdentifier

issuerstring<= 35 characters

The entity that assigns the identification

schemastringrequired

Identifies this account identifier as generic, always GENERIC

Discriminator
schemeobject(GenericAccountIdentificationScheme)

Identifies the scheme that defines the identification of a generic account.

valuestring[ 1 .. 40 ] charactersrequired
{ "issuer": "string", "schema": "GENERIC", "scheme": { "schema": "string", "value": "AIIN" }, "value": "string" }

ExternalCashAccountType1Code

  • CACC : Current - Account used to post debits and credits when no specific account has been nominated.
  • CARD : Card Account - Account used for credit card payments.
  • CASH : Cash Payment - Account used for the payment of cash.
  • CHAR : Charges - Account used for charges if different from the account for payment.
  • CISH : Cash Income - Account used for payment of income if different from the current cash account.
  • COMM : Commission - Account used for commission if different from the account for payment.
  • CPAC : Clearing Participant Settlement Account - Account used to post settlement debit and credit entries on behalf of a designated Clearing Participant.
  • LLSV : Limited Liquidity Savings Account - Account used for savings with special interest and withdrawal terms.
  • LOAN : Loan - Account used for loans.
  • MGLD : Marginal Lending - Account used for a marginal lending facility.
  • MOMA : Money Market - Account used for money markets if different from the cash account.
  • NREX : Non-Resident External - Account used for non-resident external.
  • ODFT : Overdraft - Account is used for overdrafts.
  • ONDP : Overnight Deposit - Account used for overnight deposits.
  • OTHR : Other Account - Account not otherwise specified.
  • SACC : Settlement - Account used to post debit and credit entries, as a result of transactions cleared and settled through a specific clearing and settlement system.
  • SLRY : Salary - Accounts used for salary payments.
  • SVGS : Savings - Account used for savings.
  • TAXE : Tax - Account used for taxes if different from the account for payment.
  • TRAN : Transacting Account - A transacting account is the most basic type of bank account that you can get. The main difference between transaction and cheque accounts is that you usually do not get a cheque book with your transacting account and neither are you offered an overdraft facility.
  • TRAS : Cash Trading - Account used for trading if different from the current cash account.
string(ExternalCashAccountType1Code)
  • CACC : Current - Account used to post debits and credits when no specific account has been nominated.
  • CARD : Card Account - Account used for credit card payments.
  • CASH : Cash Payment - Account used for the payment of cash.
  • CHAR : Charges - Account used for charges if different from the account for payment.
  • CISH : Cash Income - Account used for payment of income if different from the current cash account.
  • COMM : Commission - Account used for commission if different from the account for payment.
  • CPAC : Clearing Participant Settlement Account - Account used to post settlement debit and credit entries on behalf of a designated Clearing Participant.
  • LLSV : Limited Liquidity Savings Account - Account used for savings with special interest and withdrawal terms.
  • LOAN : Loan - Account used for loans.
  • MGLD : Marginal Lending - Account used for a marginal lending facility.
  • MOMA : Money Market - Account used for money markets if different from the cash account.
  • NREX : Non-Resident External - Account used for non-resident external.
  • ODFT : Overdraft - Account is used for overdrafts.
  • ONDP : Overnight Deposit - Account used for overnight deposits.
  • OTHR : Other Account - Account not otherwise specified.
  • SACC : Settlement - Account used to post debit and credit entries, as a result of transactions cleared and settled through a specific clearing and settlement system.
  • SLRY : Salary - Accounts used for salary payments.
  • SVGS : Savings - Account used for savings.
  • TAXE : Tax - Account used for taxes if different from the account for payment.
  • TRAN : Transacting Account - A transacting account is the most basic type of bank account that you can get. The main difference between transaction and cheque accounts is that you usually do not get a cheque book with your transacting account and neither are you offered an overdraft facility.
  • TRAS : Cash Trading - Account used for trading if different from the current cash account.
Enum"CACC""CARD""CASH""CHAR""CISH""COMM""CPAC""LLSV""LOAN""MGLD"
"CACC"

AccountTypeCode

schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

valuestring(ExternalCashAccountType1Code)required
  • CACC : Current - Account used to post debits and credits when no specific account has been nominated.
  • CARD : Card Account - Account used for credit card payments.
  • CASH : Cash Payment - Account used for the payment of cash.
  • CHAR : Charges - Account used for charges if different from the account for payment.
  • CISH : Cash Income - Account used for payment of income if different from the current cash account.
  • COMM : Commission - Account used for commission if different from the account for payment.
  • CPAC : Clearing Participant Settlement Account - Account used to post settlement debit and credit entries on behalf of a designated Clearing Participant.
  • LLSV : Limited Liquidity Savings Account - Account used for savings with special interest and withdrawal terms.
  • LOAN : Loan - Account used for loans.
  • MGLD : Marginal Lending - Account used for a marginal lending facility.
  • MOMA : Money Market - Account used for money markets if different from the cash account.
  • NREX : Non-Resident External - Account used for non-resident external.
  • ODFT : Overdraft - Account is used for overdrafts.
  • ONDP : Overnight Deposit - Account used for overnight deposits.
  • OTHR : Other Account - Account not otherwise specified.
  • SACC : Settlement - Account used to post debit and credit entries, as a result of transactions cleared and settled through a specific clearing and settlement system.
  • SLRY : Salary - Accounts used for salary payments.
  • SVGS : Savings - Account used for savings.
  • TAXE : Tax - Account used for taxes if different from the account for payment.
  • TRAN : Transacting Account - A transacting account is the most basic type of bank account that you can get. The main difference between transaction and cheque accounts is that you usually do not get a cheque book with your transacting account and neither are you offered an overdraft facility.
  • TRAS : Cash Trading - Account used for trading if different from the current cash account.
Enum"CACC""CARD""CASH""CHAR""CISH""COMM""CPAC""LLSV""LOAN""MGLD"
{ "schema": "string", "value": "CACC" }

AccountType

schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

Discriminator
valuestring(ExternalCashAccountType1Code)required
  • CACC : Current - Account used to post debits and credits when no specific account has been nominated.
  • CARD : Card Account - Account used for credit card payments.
  • CASH : Cash Payment - Account used for the payment of cash.
  • CHAR : Charges - Account used for charges if different from the account for payment.
  • CISH : Cash Income - Account used for payment of income if different from the current cash account.
  • COMM : Commission - Account used for commission if different from the account for payment.
  • CPAC : Clearing Participant Settlement Account - Account used to post settlement debit and credit entries on behalf of a designated Clearing Participant.
  • LLSV : Limited Liquidity Savings Account - Account used for savings with special interest and withdrawal terms.
  • LOAN : Loan - Account used for loans.
  • MGLD : Marginal Lending - Account used for a marginal lending facility.
  • MOMA : Money Market - Account used for money markets if different from the cash account.
  • NREX : Non-Resident External - Account used for non-resident external.
  • ODFT : Overdraft - Account is used for overdrafts.
  • ONDP : Overnight Deposit - Account used for overnight deposits.
  • OTHR : Other Account - Account not otherwise specified.
  • SACC : Settlement - Account used to post debit and credit entries, as a result of transactions cleared and settled through a specific clearing and settlement system.
  • SLRY : Salary - Accounts used for salary payments.
  • SVGS : Savings - Account used for savings.
  • TAXE : Tax - Account used for taxes if different from the account for payment.
  • TRAN : Transacting Account - A transacting account is the most basic type of bank account that you can get. The main difference between transaction and cheque accounts is that you usually do not get a cheque book with your transacting account and neither are you offered an overdraft facility.
  • TRAS : Cash Trading - Account used for trading if different from the current cash account.
Enum"CACC""CARD""CASH""CHAR""CISH""COMM""CPAC""LLSV""LOAN""MGLD"
{ "schema": "CODE", "value": "CACC" }

PaymentAccount

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

currencystring^[A-Z]{3}$

Identification of the currency in which the account is held.

identificationobject(BankingIdentifier)
namestring<= 70 characters

Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.

proxyobject(NonBankingIdentifier)
typeobject(AccountType)
{ "currency": "string", "identification": { "schema": "string", "value": "string" }, "name": "string", "proxy": { "namespace": "string", "schema": "string" }, "type": { "schema": "string", "value": "CACC" } }

LocalInstrumentTypeCode

schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

valuestringrequired
  • 0000 - BusinessPayment
  • 0001 - ConvertedBankPayment
  • 0002 - StandingOrder
  • 0090 - MassPaymentBeneficiary
  • 0091 - MassPaymentOurs
  • 0092 - MassPaymentShared
  • 0220 - StandingAuthorisationGeneral
  • 0221 - OneOffAuthorisation
  • 0222 - StandingAuthorisationCompanies
  • 0223 - StandingAuthorisationLotteries
  • 0224 - OneOffAuthorisationCharities
  • 0225 - OneOffAuthorisationTuitionFees
  • 0226 - OneOffAuthorisationConstructionIndustry
  • 0227 - StandingAuthorisationCompaniesWithoutDebtorRevocationRight
  • 04 - PreauthorisedDirectDebitDE
  • 05 - NonPreauthorisedDirectDebitDE
  • 08 - PreauthorisedDirectDebitOrdinaireNormalClearing4Day
  • 19 - BusinessToCustomerDirectDebit
  • 58 - BusinessToBusinessDirectDebit
  • 60 - RecoveredBillofExchangeorPromissoryNote
  • 82 - NonPreauthorisedDirectDebitAT
  • 83 - PreauthorisedDirectDebitAT
  • 85 - PreauthorisedDirectDebitAccéléréAcceleratedClearing2DayOrdinaireNormalClearing4Day
  • 89 - PreauthorisedDirectDebitVérifiéVerifiedClearing
  • AC01 - IncorrectAccountNumber
  • ACCEPT - PaymentViaAcceptgiroOwnedByCurrence
  • ADD - AuthenticatedDirectDebit
  • ARC - AccountsReceivableCheck
  • ASTI - AncillarySystemTransferInitiation
  • B2B - SEPABusinessToBusinessDirectDebit
  • B2BAMIPM - SEPAB2BDirectDebitAMI
  • BACP - BackupPayment
  • BPA - BatchPaymentsAruba
  • BSE - PaperlessChequeCollection
  • BTR - BankTransfer
  • CARD - CardClearing
  • CCD - CashConcentrationOrDisbursementCorporateCounterparty
  • CCI - CashConcentrationIntragroup
  • CHN - TruncatedChecks
  • CIE - CustomerInitiatedEntry
  • CKS - CheckSameDaySettlementWire
  • CLSCCPERX - CLSClearedFXForEurex
  • CLSCCPLCH - CLSClearedFXForLCH
  • COR1 - SEPADirectDebit1DaySettlement
  • CORAMIPM - SEPACoreDirectDebitAMI
  • CORE - SEPADirectDebitCore
  • CPP - CashPerPost
  • CR1AMIPM - SEPACoreD1DirectDebitAMI
  • CRP - CreditTransferPreferred
  • CTP - CustomerTransferPlus
  • CTR - CustomerTransfer
  • CTX - CorporateTradeExchange
  • DDFA - DirectDebitFixedAmount
  • DDMC - DirectDebitConfirmedElectronicMandate
  • DDMP - DirectDebitPaperMandateWithPaperAuthorisation
  • DDMU - DirectDebitUnconfirmedElectronicMandate
  • DDNR - CoreNoRefund
  • DDT - DirectDebits
  • DEP - DepositToSendersAccount
  • DRB - BankToBankDrawdownRequestOrResponseNonvalue
  • DRC - CustomerOrCorporateDrawdownRequestOrResponseNonvalue
  • DRW - DrawdownResponseValueToHonorADrawdownRequest
  • FADAMIPM - SEPAFADirectDebitAMI
  • FFR - FedFundsReturned
  • FFS - FedFundsSold
  • GST - TruncatedCreditTransfers
  • IAT - InternationalACH
  • ICMC - IncidentManagementCorrection
  • IDEAL - PaymentsViaInternetOwnedByCurrence
  • IN - CrossBorderCustomerCreditTransfer
  • INST - InstantCreditTransfer
  • INSTIDEAL - PaymentsViaInternetOwnedByCurrenceUsingInstantCreditTransfer
  • INSTNT01 - InstantCreditTransferNotTimeCritical
  • INSTNT01IDEAL - PaymentsViaInternetOwnedByCurrenceUsingInstantCreditTransferNotTimeCritical
  • INSTTC01 - InstantCreditTransferTimeCritical
  • INSTTC01IDEAL - PaymentsViaInternetOwnedByCurrenceUsingInstantCreditTransferTimeCritical
  • IPA - InstantPaymentsAruba
  • ISE - ImageBasedChequeCollection
  • ITP - InstantCreditTransferPreferred
  • MANP - MandatedPayment
  • NLDO - DutchDomesticBulkPayment
  • NLGOV - DirectDebitInitiatedByTheGovernmentWithSpecialConditions
  • NLUP - DutchUrgentPayment
  • ONCL - Overnight
  • PERI - PaymentWithERI
  • POP - PointOfPurchase
  • POS - PointOfSale
  • PPD - PrearrangedPaymentOrDepositConsumerCounterparty
  • RCK - RepresentedCheckEntry
  • RDD - ReturnedDirectDebits
  • RIBA - NonPreauthorisedDirectDebitRIBA
  • RIDO - PreauthorisedRevocableDirectDebit
  • RIDV - PreauthorisedRevocableUrgentDirectDebit
  • RTR - ReturnedCreditTransfers
  • SBTI - SettlementBankTransferInitiation
  • SCN - RevokedTruncatedChecks
  • SDCL - SameDayClearedPayments
  • SDD - RevokedDirectDebits
  • SDN - PaymentsViaStandaardDigitaleNota
  • SGT - RevokedTruncatedCreditTransfers
  • SRD - RevokedReturnedDirectDebits
  • SRT - RevokedReturnedCreditTransfers
  • STR - RevokedCreditTransfers
  • SVC - NonValueServiceMessage
  • TEL - TelephoneInitiatedEntry
  • TRF - CreditTransfers
  • UDD - UnauthenticatedDirectDebit
  • WEB - InternetInitiatedEntry
Enum"0000""0001""0002"909192"0220""0221""0222""0223"
{ "schema": "string", "value": "0000" }

LocalInstrumentType

schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

Discriminator
valuestringrequired
  • 0000 - BusinessPayment
  • 0001 - ConvertedBankPayment
  • 0002 - StandingOrder
  • 0090 - MassPaymentBeneficiary
  • 0091 - MassPaymentOurs
  • 0092 - MassPaymentShared
  • 0220 - StandingAuthorisationGeneral
  • 0221 - OneOffAuthorisation
  • 0222 - StandingAuthorisationCompanies
  • 0223 - StandingAuthorisationLotteries
  • 0224 - OneOffAuthorisationCharities
  • 0225 - OneOffAuthorisationTuitionFees
  • 0226 - OneOffAuthorisationConstructionIndustry
  • 0227 - StandingAuthorisationCompaniesWithoutDebtorRevocationRight
  • 04 - PreauthorisedDirectDebitDE
  • 05 - NonPreauthorisedDirectDebitDE
  • 08 - PreauthorisedDirectDebitOrdinaireNormalClearing4Day
  • 19 - BusinessToCustomerDirectDebit
  • 58 - BusinessToBusinessDirectDebit
  • 60 - RecoveredBillofExchangeorPromissoryNote
  • 82 - NonPreauthorisedDirectDebitAT
  • 83 - PreauthorisedDirectDebitAT
  • 85 - PreauthorisedDirectDebitAccéléréAcceleratedClearing2DayOrdinaireNormalClearing4Day
  • 89 - PreauthorisedDirectDebitVérifiéVerifiedClearing
  • AC01 - IncorrectAccountNumber
  • ACCEPT - PaymentViaAcceptgiroOwnedByCurrence
  • ADD - AuthenticatedDirectDebit
  • ARC - AccountsReceivableCheck
  • ASTI - AncillarySystemTransferInitiation
  • B2B - SEPABusinessToBusinessDirectDebit
  • B2BAMIPM - SEPAB2BDirectDebitAMI
  • BACP - BackupPayment
  • BPA - BatchPaymentsAruba
  • BSE - PaperlessChequeCollection
  • BTR - BankTransfer
  • CARD - CardClearing
  • CCD - CashConcentrationOrDisbursementCorporateCounterparty
  • CCI - CashConcentrationIntragroup
  • CHN - TruncatedChecks
  • CIE - CustomerInitiatedEntry
  • CKS - CheckSameDaySettlementWire
  • CLSCCPERX - CLSClearedFXForEurex
  • CLSCCPLCH - CLSClearedFXForLCH
  • COR1 - SEPADirectDebit1DaySettlement
  • CORAMIPM - SEPACoreDirectDebitAMI
  • CORE - SEPADirectDebitCore
  • CPP - CashPerPost
  • CR1AMIPM - SEPACoreD1DirectDebitAMI
  • CRP - CreditTransferPreferred
  • CTP - CustomerTransferPlus
  • CTR - CustomerTransfer
  • CTX - CorporateTradeExchange
  • DDFA - DirectDebitFixedAmount
  • DDMC - DirectDebitConfirmedElectronicMandate
  • DDMP - DirectDebitPaperMandateWithPaperAuthorisation
  • DDMU - DirectDebitUnconfirmedElectronicMandate
  • DDNR - CoreNoRefund
  • DDT - DirectDebits
  • DEP - DepositToSendersAccount
  • DRB - BankToBankDrawdownRequestOrResponseNonvalue
  • DRC - CustomerOrCorporateDrawdownRequestOrResponseNonvalue
  • DRW - DrawdownResponseValueToHonorADrawdownRequest
  • FADAMIPM - SEPAFADirectDebitAMI
  • FFR - FedFundsReturned
  • FFS - FedFundsSold
  • GST - TruncatedCreditTransfers
  • IAT - InternationalACH
  • ICMC - IncidentManagementCorrection
  • IDEAL - PaymentsViaInternetOwnedByCurrence
  • IN - CrossBorderCustomerCreditTransfer
  • INST - InstantCreditTransfer
  • INSTIDEAL - PaymentsViaInternetOwnedByCurrenceUsingInstantCreditTransfer
  • INSTNT01 - InstantCreditTransferNotTimeCritical
  • INSTNT01IDEAL - PaymentsViaInternetOwnedByCurrenceUsingInstantCreditTransferNotTimeCritical
  • INSTTC01 - InstantCreditTransferTimeCritical
  • INSTTC01IDEAL - PaymentsViaInternetOwnedByCurrenceUsingInstantCreditTransferTimeCritical
  • IPA - InstantPaymentsAruba
  • ISE - ImageBasedChequeCollection
  • ITP - InstantCreditTransferPreferred
  • MANP - MandatedPayment
  • NLDO - DutchDomesticBulkPayment
  • NLGOV - DirectDebitInitiatedByTheGovernmentWithSpecialConditions
  • NLUP - DutchUrgentPayment
  • ONCL - Overnight
  • PERI - PaymentWithERI
  • POP - PointOfPurchase
  • POS - PointOfSale
  • PPD - PrearrangedPaymentOrDepositConsumerCounterparty
  • RCK - RepresentedCheckEntry
  • RDD - ReturnedDirectDebits
  • RIBA - NonPreauthorisedDirectDebitRIBA
  • RIDO - PreauthorisedRevocableDirectDebit
  • RIDV - PreauthorisedRevocableUrgentDirectDebit
  • RTR - ReturnedCreditTransfers
  • SBTI - SettlementBankTransferInitiation
  • SCN - RevokedTruncatedChecks
  • SDCL - SameDayClearedPayments
  • SDD - RevokedDirectDebits
  • SDN - PaymentsViaStandaardDigitaleNota
  • SGT - RevokedTruncatedCreditTransfers
  • SRD - RevokedReturnedDirectDebits
  • SRT - RevokedReturnedCreditTransfers
  • STR - RevokedCreditTransfers
  • SVC - NonValueServiceMessage
  • TEL - TelephoneInitiatedEntry
  • TRF - CreditTransfers
  • UDD - UnauthenticatedDirectDebit
  • WEB - InternetInitiatedEntry
Enum"0000""0001""0002"909192"0220""0221""0222""0223"
{ "schema": "CODE", "value": "0000" }

PaymentTypeInformation

localInstrumentobject(LocalInstrumentType)
{ "localInstrument": { "schema": "string", "value": "0000" } }

CreditorReferenceType

issuerstring<= 35 characters

Entity that assigns the credit reference type

schemastringrequired

Identifies the value as being either proprietary (PROPRIETARY) or as being a pre-defined code (CODE).

Enum"CODE""PROPRIETARY"
Discriminator
valuestringrequired
  • RADM (RemittanceAdviceMessage): Document is a remittance advice sent separately from the current transaction.
  • RPIN (RelatedPaymentInstruction): Document is a linked payment instruction to which the current payment instruction is related, for example, in a cover scenario.
  • FXDR (ForeignExchangeDealReference): Document is a pre-agreed or pre- arranged foreign exchange transaction to which the payment transaction refers.
  • DISP (DispatchAdvice): Document is a dispatch advice.
  • PUOR (PurchaseOrder): Document is a purchase order.
  • SCOR (StructuredCommunicationReference): Document is a structured communication reference provided by the creditor to identify the referred transaction.
Enum"RADM""RPIN""FXDR""DISP""PUOR""SCOR"
{ "issuer": "string", "schema": "CODE", "value": "RADM" }

CreditorReferenceTypeCode

Specifies the type of creditor reference.

issuerstring<= 35 characters

Entity that assigns the credit reference type

schemastringrequired

Identifies the value as being either proprietary (PROPRIETARY) or as being a pre-defined code (CODE).

Enum"CODE""PROPRIETARY"
Discriminator
valuestringrequired
  • RADM (RemittanceAdviceMessage): Document is a remittance advice sent separately from the current transaction.
  • RPIN (RelatedPaymentInstruction): Document is a linked payment instruction to which the current payment instruction is related, for example, in a cover scenario.
  • FXDR (ForeignExchangeDealReference): Document is a pre-agreed or pre- arranged foreign exchange transaction to which the payment transaction refers.
  • DISP (DispatchAdvice): Document is a dispatch advice.
  • PUOR (PurchaseOrder): Document is a purchase order.
  • SCOR (StructuredCommunicationReference): Document is a structured communication reference provided by the creditor to identify the referred transaction.
Enum"RADM""RPIN""FXDR""DISP""PUOR""SCOR"
{ "issuer": "string", "schema": "CODE", "value": "RADM" }

CreditorReferenceTypeProprietary

issuerstring<= 35 characters

Entity that assigns the credit reference type

schemastringrequired

Identifies the value as being either proprietary (PROPRIETARY) or as being a pre-defined code (CODE).

Enum"CODE""PROPRIETARY"
Discriminator
valuestringrequired
  • RADM (RemittanceAdviceMessage): Document is a remittance advice sent separately from the current transaction.
  • RPIN (RelatedPaymentInstruction): Document is a linked payment instruction to which the current payment instruction is related, for example, in a cover scenario.
  • FXDR (ForeignExchangeDealReference): Document is a pre-agreed or pre- arranged foreign exchange transaction to which the payment transaction refers.
  • DISP (DispatchAdvice): Document is a dispatch advice.
  • PUOR (PurchaseOrder): Document is a purchase order.
  • SCOR (StructuredCommunicationReference): Document is a structured communication reference provided by the creditor to identify the referred transaction.
Enum"RADM""RPIN""FXDR""DISP""PUOR""SCOR"
{ "issuer": "string", "schema": "CODE", "value": "RADM" }

CreditorReference

referencestring<= 35 characters

Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.

typeobject(CreditorReferenceType)
{ "reference": "string", "type": { "issuer": "string", "schema": "CODE" } }

ReferredDocumentAmount

duePayableAmountobject(Amount)
remittedAmountobject(Amount)
{ "duePayableAmount": { "currency": "string", "value": 0.1 }, "remittedAmount": { "currency": "string", "value": 0.1 } }

ReferredDocumentType

issuerstring<= 35 characters

Identification of the issuer of the reference document type.

schemastringrequired

Identifies the value as being either proprietary (PROPRIETARY) or as being a pre-defined code (CODE).

Enum"CODE""PROPRIETARY"
Discriminator
valuestringrequired
  • AROI : AccountReceivableOpenItem
  • BOLD : BillOfLading
  • CINV : CommercialInvoice
  • CMCN : CommercialContract
  • CNFA : CreditNoteRelatedToFinancialAdjustment
  • CREN : CreditNote
  • DEBN : DebitNote
  • DISP : DispatchAdvice
  • DNFA : DebitNoteRelatedToFinancialAdjustment
  • HIRI : HireInvoice
  • MSIN : MeteredServiceInvoice
  • PUOR : PurchaseOrder
  • SBIN : SelfBilledInvoice
  • SOAC : StatementOfAccount
  • TSUT : TradeServicesUtilityTransaction
  • VCHR : Voucher
Enum"AROI""BOLD""CINV""CMCN""CNFA""CREN""DEBN""DISP""DNFA""HIRI"
{ "issuer": "string", "schema": "CODE", "value": "AROI" }

ReferredDocumentTypeCode

Specifies the type of referred document

issuerstring<= 35 characters

Identification of the issuer of the reference document type.

schemastringrequired

Identifies the value as being either proprietary (PROPRIETARY) or as being a pre-defined code (CODE).

Enum"CODE""PROPRIETARY"
Discriminator
valuestringrequired
  • AROI : AccountReceivableOpenItem
  • BOLD : BillOfLading
  • CINV : CommercialInvoice
  • CMCN : CommercialContract
  • CNFA : CreditNoteRelatedToFinancialAdjustment
  • CREN : CreditNote
  • DEBN : DebitNote
  • DISP : DispatchAdvice
  • DNFA : DebitNoteRelatedToFinancialAdjustment
  • HIRI : HireInvoice
  • MSIN : MeteredServiceInvoice
  • PUOR : PurchaseOrder
  • SBIN : SelfBilledInvoice
  • SOAC : StatementOfAccount
  • TSUT : TradeServicesUtilityTransaction
  • VCHR : Voucher
Enum"AROI""BOLD""CINV""CMCN""CNFA""CREN""DEBN""DISP""DNFA""HIRI"
{ "issuer": "string", "schema": "CODE", "value": "AROI" }

ReferredDocumentTypeProprietary

issuerstring<= 35 characters

Identification of the issuer of the reference document type.

schemastringrequired

Identifies the value as being either proprietary (PROPRIETARY) or as being a pre-defined code (CODE).

Enum"CODE""PROPRIETARY"
Discriminator
valuestringrequired
  • AROI : AccountReceivableOpenItem
  • BOLD : BillOfLading
  • CINV : CommercialInvoice
  • CMCN : CommercialContract
  • CNFA : CreditNoteRelatedToFinancialAdjustment
  • CREN : CreditNote
  • DEBN : DebitNote
  • DISP : DispatchAdvice
  • DNFA : DebitNoteRelatedToFinancialAdjustment
  • HIRI : HireInvoice
  • MSIN : MeteredServiceInvoice
  • PUOR : PurchaseOrder
  • SBIN : SelfBilledInvoice
  • SOAC : StatementOfAccount
  • TSUT : TradeServicesUtilityTransaction
  • VCHR : Voucher
Enum"AROI""BOLD""CINV""CMCN""CNFA""CREN""DEBN""DISP""DNFA""HIRI"
{ "issuer": "string", "schema": "CODE", "value": "AROI" }

ReferredDocument

documentIdentifierstring<= 35 characters
typeobject(ReferredDocumentType)
{ "documentIdentifier": "string", "type": { "issuer": "string", "schema": "CODE" } }

StructuredRemittanceInformation

additionalRemittanceInformationArray of strings<= 3 items
creditorReferenceobject(CreditorReference)
originatorReferencestring<= 35 characters

An explanation of the transaction, this field may be used to capture the information which may then be displayed on the payment originator's bank statement (ie. the debtor for a credit transfer or the creditor for a direct debit). This field is not supported by all Electrum partner implementations, and will be ignored if provided in an unsupported use-case.

referredDocumentAmountobject(ReferredDocumentAmount)
referredDocumentsArray of objects(ReferredDocument)
{ "additionalRemittanceInformation": [ "string" ], "creditorReference": { "reference": "string", "type": {} }, "originatorReference": "string", "referredDocumentAmount": { "duePayableAmount": {}, "remittedAmount": {} }, "referredDocuments": [ {} ] }

RemittanceInformation

structuredArray of objects(StructuredRemittanceInformation)
unstructuredArray of strings
{ "structured": [ {} ], "unstructured": [ "string" ] }

OriginalTransactionData

Contains key elements related to the original transaction that is being referred to.

amountsobject(TransactionAmounts)
creditorobject(Party)

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

creditorAccountobject(PaymentAccount)

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

creditorAgentobject(InstitutionIdentification)
debtorobject(Party)

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

debtorAccountobject(PaymentAccount)

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

debtorAgentobject(InstitutionIdentification)
paymentMethodstring

Specifies the means of payment for the original transaction.

Enum"CreditTransfer""DirectDebit"
paymentTypeInformationobject(PaymentTypeInformation)
remittanceInformationobject(RemittanceInformation)
settlementDatestring(date)

Date on which the amount of money ceases to be available to the agent that owes it and when the amount of money becomes available to the agent to which it is due.

supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

{ "amounts": { "bankSettlementAmount": {}, "instructedAmount": {} }, "creditor": { "address": {}, "contactDetails": {}, "countryOfResidence": "string", "identification": {}, "knownAsName": "string", "legalName": "string" }, "creditorAccount": { "currency": "string", "identification": {}, "name": "string", "proxy": {}, "type": {} }, "creditorAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "debtor": { "address": {}, "contactDetails": {}, "countryOfResidence": "string", "identification": {}, "knownAsName": "string", "legalName": "string" }, "debtorAccount": { "currency": "string", "identification": {}, "name": "string", "proxy": {}, "type": {} }, "debtorAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "paymentMethod": "CreditTransfer", "paymentTypeInformation": { "localInstrument": {} }, "remittanceInformation": { "structured": [], "unstructured": [] }, "settlementDate": "2019-08-24", "supplementaryData": { "property1": "string", "property2": "string" } }

ZaEftPaymentStatusReportPaymentScheme

schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
{ "schema": "ZA_RTC" }

ZaRppPaymentStatusReportPaymentScheme

schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
{ "schema": "ZA_RTC" }

ZaRtcCreditTransferPaymentSchemeData

businessReferencestring<= 10 characters^\d{2}[\dA-z]{8}$required

Business reference number. The first two numeric digits identify the bank and the last 8 characters contain a unique alphanumeric value generated by the originating bank (unique for the transaction).

originatorEchoDatastring<= 20 characters^[\dA-z ]*$

Echo data reserved for originator use. Must remain unaltered by the beneficiary.

userReferencestring<= 20 characters^[\dA-z ]*$

An explanation of the transaction, e.g. to be printed on the account holder's statement.

{ "businessReference": "string", "originatorEchoData": "string", "userReference": "string" }

ZaRtcPaymentStatusReportPaymentSchemeData

authorisationIdstring<= 6 characters^[\dA-z ]*$

A unique number assigned by the beneficiary bank to identify the transaction if it is approved. Must remain unaltered by the originator.

beneficiaryEchoDatastring<= 20 characters^[\dA-z ]*$

Echo data reserved for beneficiary use. Must remain unaltered by the originator.

{ "authorisationId": "string", "beneficiaryEchoData": "string" }

ZaRtcPaymentStatusReportPaymentScheme

originalSchemeDataobject(ZaRtcCreditTransferPaymentSchemeData)required
originalSchemeData.​businessReferencestring<= 10 characters^\d{2}[\dA-z]{8}$required

Business reference number. The first two numeric digits identify the bank and the last 8 characters contain a unique alphanumeric value generated by the originating bank (unique for the transaction).

originalSchemeData.​originatorEchoDatastring<= 20 characters^[\dA-z ]*$

Echo data reserved for originator use. Must remain unaltered by the beneficiary.

originalSchemeData.​userReferencestring<= 20 characters^[\dA-z ]*$

An explanation of the transaction, e.g. to be printed on the account holder's statement.

schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
schemeDataobject(ZaRtcPaymentStatusReportPaymentSchemeData)required
schemeData.​authorisationIdstring<= 6 characters^[\dA-z ]*$

A unique number assigned by the beneficiary bank to identify the transaction if it is approved. Must remain unaltered by the originator.

schemeData.​beneficiaryEchoDatastring<= 20 characters^[\dA-z ]*$

Echo data reserved for beneficiary use. Must remain unaltered by the originator.

{ "originalSchemeData": { "businessReference": "string", "originatorEchoData": "string", "userReference": "string" }, "schema": "ZA_RTC", "schemeData": { "authorisationId": "string", "beneficiaryEchoData": "string" } }

PaymentStatusReportPaymentScheme

Designates which scheme a payment status report is associated with and describes scheme-specific information for the payment status report.

schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
Discriminator
{ "schema": "ZA_EFT" }

StatusReasonTypeCode

schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

valuestringrequired
  • ACCP: AcceptedCustomerProfile
  • ACCC: AcceptedSettlementCompletedCreditorAccount
  • ACSC: AcceptedSettlementCompletedDebtorAccount
  • ACSP: AcceptedSettlementInProcess
  • ACTC: AcceptedTechnicalValidation
  • ACWC: AcceptedWithChange
  • ACWP: AcceptedWithoutPosting
  • AB01 : AbortedClearingTimeout
  • AB02 : AbortedClearingFatalError
  • AB03 : AbortedSettlementTimeout
  • AB04 : AbortedSettlementFatalError
  • AB05 : TimeoutCreditorAgent
  • AB06 : TimeoutInstructedAgent
  • AB07 : OfflineAgent
  • AB08 : OfflineCreditorAgent
  • AB09 : ErrorCreditorAgent
  • AB10 : ErrorInstructedAgent
  • AB11 : TimeoutDebtorAgent
  • ACC : SuccessfulVerboseCdvOutcome
  • AC01 : IncorrectAccountNumber
  • AC02 : InvalidDebtorAccountNumber
  • AC03 : InvalidCreditorAccountNumber
  • AC04 : ClosedAccountNumber
  • AC05 : ClosedDebtorAccountNumber
  • AC06 : BlockedAccount
  • AC07 : ClosedCreditorAccountNumber
  • AC08 : InvalidBranchCode
  • AC09 : InvalidAccountCurrency
  • AC10 : InvalidDebtorAccountCurrency
  • AC11 : InvalidCreditorAccountCurrency
  • AC12 : InvalidAccountType
  • AC13 : InvalidDebtorAccountType
  • AC14 : InvalidCreditorAccountType
  • AC15 : AccountDetailsChanged
  • AC16 : CardNumberInvalid
  • AC17 : AccountInLiquidation
  • AEXR : AlreadyExpiredRTP
  • AG01 : TransactionForbidden
  • AG02 : InvalidBankOperationCode
  • AG03 : TransactionNotSupported
  • AG04 : InvalidAgentCountry
  • AG05 : InvalidDebtorAgentCountry
  • AG06 : InvalidCreditorAgentCountry
  • AG07 : UnsuccessfulDirectDebit
  • AG08 : InvalidAccessRights
  • AG09 : PaymentNotReceived
  • AG10 : AgentSuspended
  • AG11 : CreditorAgentSuspended
  • AG12 : NotAllowedBookTransfer
  • AG13 : ForbiddenReturnPayment
  • AGNT : IncorrectAgent
  • ALAC : AlreadyAcceptedRTP
  • AM01 : ZeroAmount
  • AM02 : NotAllowedAmount
  • AM03 : NotAllowedCurrency
  • AM04 : InsufficientFunds
  • AM05 : Duplication
  • AM06 : TooLowAmount
  • AM07 : BlockedAmount
  • AM09 : WrongAmount
  • AM10 : InvalidControlSum
  • AM11 : InvalidTransactionCurrency
  • AM12 : InvalidAmount
  • AM13 : AmountExceedsClearingSystemLimit
  • AM14 : AmountExceedsAgreedLimit
  • AM15 : AmountBelowClearingSystemMinimum
  • AM16 : InvalidGroupControlSum
  • AM17 : InvalidPaymentInfoControlSum
  • AM18 : InvalidNumberOfTransactions
  • AM19 : InvalidGroupNumberOfTransactions
  • AM20 : InvalidPaymentInfoNumberOfTransactions
  • AM21 : LimitExceeded
  • AM22 : ZeroAmountNotApplied
  • AM23 : AmountExceedsSettlementLimit
  • APAR : AlreadyPaidRTP
  • ARDT : AlreadyReturnedTransaction
  • ARFR : AlreadyRefusedRTP
  • ARJR : AlreadyRejectedRTP
  • ATNS : AttachmentsNotSupported
  • BE01 : InconsistentWithEndCustomer
  • BE04 : MissingCreditorAddress
  • BE05 : UnrecognisedInitiatingParty
  • BE06 : UnknownEndCustomer
  • BE07 : MissingDebtorAddress
  • BE08 : MissingDebtorName
  • BE09 : InvalidCountry
  • BE10 : InvalidDebtorCountry
  • BE11 : InvalidCreditorCountry
  • BE12 : InvalidCountryOfResidence
  • BE13 : InvalidDebtorCountryOfResidence
  • BE14 : InvalidCreditorCountryOfResidence
  • BE15 : InvalidIdentificationCode
  • BE16 : InvalidDebtorIdentificationCode
  • BE17 : InvalidCreditorIdentificationCode
  • BE18 : InvalidContactDetails
  • BE19 : InvalidChargeBearerCode
  • BE20 : InvalidNameLength
  • BE21 : MissingName
  • BE22 : MissingCreditorName
  • BE23 : AccountProxyInvalid
  • CERI : CheckERI
  • CH03 : RequestedExecutionDateOrRequestedCollectionDateTooFarInFuture
  • CH04 : RequestedExecutionDateOrRequestedCollectionDateTooFarInPast
  • CH07 : ElementIsNotToBeUsedAtB-andC-Level
  • CH09 : MandateChangesNotAllowed
  • CH10 : InformationOnMandateChangesMissing
  • CH11 : CreditorIdentifierIncorrect
  • CH12 : CreditorIdentifierNotUnambiguouslyAtTransaction-Level
  • CH13 : OriginalDebtorAccountIsNotToBeUsed
  • CH14 : OriginalDebtorAgentIsNotToBeUsed
  • CH15 : ElementContentIncludesMoreThan140Characters
  • CH16 : ElementContentFormallyIncorrect
  • CH17 : ElementNotAdmitted
  • CH19 : ValuesWillBeSetToNextTARGETday
  • CH20 : DecimalPointsNotCompatibleWithCurrency
  • CH21 : RequiredCompulsoryElementMissing
  • CH22 : COREandB2BwithinOnemessage
  • CHQC : ChequeSettledOnCreditorAccount
  • CN01 : AuthorisationCancelled
  • CNOR : CreditorBankIsNotRegistered
  • CURR : IncorrectCurrency
  • CUST : RequestedByCustomer
  • DNOR : DebtorBankIsNotRegistered
  • DS01 : ElectronicSignaturesCorrect
  • DS02 : OrderCancelled
  • DS03 : OrderNotCancelled
  • DS04 : OrderRejected
  • DS05 : OrderForwardedForPostprocessing
  • DS06 : TransferOrder
  • DS07 : ProcessingOK
  • DS08 : DecompressionError
  • DS09 : DecryptionError
  • DS0A : DataSignRequested
  • DS0B : UnknownDataSignFormat
  • DS0C : SignerCertificateRevoked
  • DS0D : SignerCertificateNotValid
  • DS0E : IncorrectSignerCertificate
  • DS0F : SignerCertificationAuthoritySignerNotValid
  • DS0G : NotAllowedPayment
  • DS0H : NotAllowedAccount
  • DS0K : NotAllowedNumberOfTransaction
  • DS10 : Signer1CertificateRevoked
  • DS11 : Signer1CertificateNotValid
  • DS12 : IncorrectSigner1Certificate
  • DS13 : SignerCertificationAuthoritySigner1NotValid
  • DS14 : UserDoesNotExist
  • DS15 : IdenticalSignatureFound
  • DS16 : PublicKeyVersionIncorrect
  • DS17 : DifferentOrderDataInSignatures
  • DS18 : RepeatOrder
  • DS19 : ElectronicSignatureRightsInsufficient
  • DS20 : Signer2CertificateRevoked
  • DS21 : Signer2CertificateNotValid
  • DS22 : IncorrectSigner2Certificate
  • DS23 : SignerCertificationAuthoritySigner2NotValid
  • DS24 : WaitingTimeExpired
  • DS25 : OrderFileDeleted
  • DS26 : UserSignedMultipleTimes
  • DS27 : UserNotYetActivated
  • DT01 : InvalidDate
  • DT02 : InvalidCreationDate
  • DT03 : InvalidNonProcessingDate
  • DT04 : FutureDateNotSupported
  • DT05 : InvalidCutOffDate
  • DT06 : ExecutionDateChanged
  • DU01 : DuplicateMessageID
  • DU02 : DuplicatePaymentInformationID
  • DU03 : DuplicateTransaction
  • DU04 : DuplicateEndToEndID
  • DU05 : DuplicateInstructionID
  • DUPL : DuplicatePayment
  • ED01 : CorrespondentBankNotPossible
  • ED03 : BalanceInfoRequest
  • ED05 : SettlementFailed
  • ED06 : SettlementSystemNotAvailable
  • EDTL : ExpiryDateTooLong
  • EDTR : ExpiryDateTimeReached
  • ERIN : ERIOptionNotSupported
  • FF01 : InvalidFileFormat
  • FF02 : SyntaxError
  • FF03 : InvalidPaymentTypeInformation
  • FF04 : InvalidServiceLevelCode
  • FF05 : InvalidLocalInstrumentCode
  • FF06 : InvalidCategoryPurposeCode
  • FF07 : InvalidPurpose
  • FF08 : InvalidEndToEndId
  • FF09 : InvalidChequeNumber
  • FF10 : BankSystemProcessingError
  • FF11 : ClearingRequestAborted
  • FF12 : OriginalTransactionNotEligibleForRequestedReturn
  • FF13 : RequestForCancellationNotFound
  • FOCR : FollowingCancellationRequest
  • FR01 : Fraud
  • FRAD : FraudulentOrigin
  • G000 : PaymentTransferredAndTracked
  • G001 : PaymentTransferredAndNotTracked
  • G002 : CreditDebitNotConfirmed
  • G003 : CreditPendingDocuments
  • G004 : CreditPendingFunds
  • G005 : DeliveredWithServiceLevel
  • G006 : DeliveredWithoutServiceLevel
  • ID01 : CorrespondingOriginalFileStillNotSent
  • IEDT : IncorrectExpiryDateTime
  • IRNR : InitialRTPNeverReceived
  • MD01 : NoMandate
  • MD02 : MissingMandatoryInformationInMandate
  • MD05 : CollectionNotDue
  • MD06 : RefundRequestByEndCustomer
  • MD07 : EndCustomerDeceased
  • MS02 : NotSpecifiedReasonCustomerGenerated
  • MS03 : NotSpecifiedReasonAgentGenerated
  • NARR : Narrative
  • NERI : NoERI
  • NOAR : NonAgreedRTP
  • NOAS : NoAnswerFromCustomer
  • NOCM : NotCompliantGeneric
  • NOOR : NoOriginalTransactionReceived
  • NOPG : NoPaymentGuarantee
  • NRCH : PayerOrPayerRTPSPNotReachable
  • PART : PartiallyAccepted
  • PINS : TypeOfPaymentInstrumentNotSupported
  • RC01 : BankIdentifierIncorrect
  • RC02 : InvalidBankIdentifier
  • RC03 : InvalidDebtorBankIdentifier
  • RC04 : InvalidCreditorBankIdentifier
  • RC05 : InvalidBICIdentifier
  • RC06 : InvalidDebtorBICIdentifier
  • RC07 : InvalidCreditorBICIdentifier
  • RC08 : InvalidClearingSystemMemberIdentifier
  • RC09 : InvalidDebtorClearingSystemMemberIdentifier
  • RC10 : InvalidCreditorClearingSystemMemberIdentifier
  • RC11 : InvalidIntermediaryAgent
  • RC12 : MissingCreditorSchemeId
  • RCON : RMessageConflict
  • RECI : ReceiverCustomerInformation
  • REPR : RTPReceivedCanBeProcessed
  • RF01 : NotUniqueTransactionReference
  • RR01 : MissingDebtorAccountOrIdentification
  • RR02 : MissingDebtorNameOrAddress
  • RR03 : MissingCreditorNameOrAddress
  • RR04 : RegulatoryReason
  • RR05 : RegulatoryInformationInvalid
  • RR06 : TaxInformationInvalid
  • RR07 : RemittanceInformationInvalid
  • RR08 : RemittanceInformationTruncated
  • RR09 : InvalidStructuredCreditorReference
  • RR10 : InvalidCharacterSet
  • RR11 : InvalidDebtorAgentServiceID
  • RR12 : InvalidPartyID
  • RTNS : RTPNotSupportedForDebtor
  • RUTA : ReturnUponUnableToApply
  • S000 : ValidRequestForCancellationAcknowledged
  • S001 : UETRFlaggedForCancellation
  • S002 : NetworkStopOfUETR
  • S003 : RequestForCancellationForwarded
  • S004 : RequestForCancellationDeliveryAcknowledgement
  • SL01 : SpecificServiceOfferedByDebtorAgent
  • SL02 : SpecificServiceOfferedByCreditorAgent
  • SL03 : ServiceofClearingSystem
  • SL11 : CreditorNotOnWhitelistOfDebtor
  • SL12 : CreditorOnBlacklistOfDebtor
  • SL13 : MaximumNumberOfDirectDebitTransactionsExceeded
  • SL14 : MaximumDirectDebitTransactionAmountExceeded
  • SP01 : PaymentStopped
  • SP02 : PreviouslyStopped
  • SPII : RTPServiceProviderIdentifierIncorrect
  • TA01 : TransmissionAborted
  • TD01 : NoDataAvailable
  • TD02 : FileNonReadable
  • TD03 : IncorrectFileStructure
  • TK01 : TokenInvalid
  • TK02 : SenderTokenNotFound
  • TK03 : ReceiverTokenNotFound
  • TK09 : TokenMissing
  • TKCM : TokenCounterpartyMismatch
  • TKSG : TokenSingleUse
  • TKSP : TokenSuspended
  • TKVE : TokenValueLimitExceeded
  • TKXP : TokenExpired
  • TM01 : InvalidCutOffTime
  • TS01 : TransmissionSuccessful
  • TS04 : TransferToSignByHand
  • UCRD : UnknownCreditor
  • UPAY : UnduePayment
Enum"ACCC""ACCP""ACSC""ACTC""ACWP""AB01""AB02""AB03""AB04""AB05"
{ "schema": "string", "value": "ACCC" }

StatusReasonType

schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

Discriminator
valuestringrequired
  • ACCP: AcceptedCustomerProfile
  • ACCC: AcceptedSettlementCompletedCreditorAccount
  • ACSC: AcceptedSettlementCompletedDebtorAccount
  • ACSP: AcceptedSettlementInProcess
  • ACTC: AcceptedTechnicalValidation
  • ACWC: AcceptedWithChange
  • ACWP: AcceptedWithoutPosting
  • AB01 : AbortedClearingTimeout
  • AB02 : AbortedClearingFatalError
  • AB03 : AbortedSettlementTimeout
  • AB04 : AbortedSettlementFatalError
  • AB05 : TimeoutCreditorAgent
  • AB06 : TimeoutInstructedAgent
  • AB07 : OfflineAgent
  • AB08 : OfflineCreditorAgent
  • AB09 : ErrorCreditorAgent
  • AB10 : ErrorInstructedAgent
  • AB11 : TimeoutDebtorAgent
  • ACC : SuccessfulVerboseCdvOutcome
  • AC01 : IncorrectAccountNumber
  • AC02 : InvalidDebtorAccountNumber
  • AC03 : InvalidCreditorAccountNumber
  • AC04 : ClosedAccountNumber
  • AC05 : ClosedDebtorAccountNumber
  • AC06 : BlockedAccount
  • AC07 : ClosedCreditorAccountNumber
  • AC08 : InvalidBranchCode
  • AC09 : InvalidAccountCurrency
  • AC10 : InvalidDebtorAccountCurrency
  • AC11 : InvalidCreditorAccountCurrency
  • AC12 : InvalidAccountType
  • AC13 : InvalidDebtorAccountType
  • AC14 : InvalidCreditorAccountType
  • AC15 : AccountDetailsChanged
  • AC16 : CardNumberInvalid
  • AC17 : AccountInLiquidation
  • AEXR : AlreadyExpiredRTP
  • AG01 : TransactionForbidden
  • AG02 : InvalidBankOperationCode
  • AG03 : TransactionNotSupported
  • AG04 : InvalidAgentCountry
  • AG05 : InvalidDebtorAgentCountry
  • AG06 : InvalidCreditorAgentCountry
  • AG07 : UnsuccessfulDirectDebit
  • AG08 : InvalidAccessRights
  • AG09 : PaymentNotReceived
  • AG10 : AgentSuspended
  • AG11 : CreditorAgentSuspended
  • AG12 : NotAllowedBookTransfer
  • AG13 : ForbiddenReturnPayment
  • AGNT : IncorrectAgent
  • ALAC : AlreadyAcceptedRTP
  • AM01 : ZeroAmount
  • AM02 : NotAllowedAmount
  • AM03 : NotAllowedCurrency
  • AM04 : InsufficientFunds
  • AM05 : Duplication
  • AM06 : TooLowAmount
  • AM07 : BlockedAmount
  • AM09 : WrongAmount
  • AM10 : InvalidControlSum
  • AM11 : InvalidTransactionCurrency
  • AM12 : InvalidAmount
  • AM13 : AmountExceedsClearingSystemLimit
  • AM14 : AmountExceedsAgreedLimit
  • AM15 : AmountBelowClearingSystemMinimum
  • AM16 : InvalidGroupControlSum
  • AM17 : InvalidPaymentInfoControlSum
  • AM18 : InvalidNumberOfTransactions
  • AM19 : InvalidGroupNumberOfTransactions
  • AM20 : InvalidPaymentInfoNumberOfTransactions
  • AM21 : LimitExceeded
  • AM22 : ZeroAmountNotApplied
  • AM23 : AmountExceedsSettlementLimit
  • APAR : AlreadyPaidRTP
  • ARDT : AlreadyReturnedTransaction
  • ARFR : AlreadyRefusedRTP
  • ARJR : AlreadyRejectedRTP
  • ATNS : AttachmentsNotSupported
  • BE01 : InconsistentWithEndCustomer
  • BE04 : MissingCreditorAddress
  • BE05 : UnrecognisedInitiatingParty
  • BE06 : UnknownEndCustomer
  • BE07 : MissingDebtorAddress
  • BE08 : MissingDebtorName
  • BE09 : InvalidCountry
  • BE10 : InvalidDebtorCountry
  • BE11 : InvalidCreditorCountry
  • BE12 : InvalidCountryOfResidence
  • BE13 : InvalidDebtorCountryOfResidence
  • BE14 : InvalidCreditorCountryOfResidence
  • BE15 : InvalidIdentificationCode
  • BE16 : InvalidDebtorIdentificationCode
  • BE17 : InvalidCreditorIdentificationCode
  • BE18 : InvalidContactDetails
  • BE19 : InvalidChargeBearerCode
  • BE20 : InvalidNameLength
  • BE21 : MissingName
  • BE22 : MissingCreditorName
  • BE23 : AccountProxyInvalid
  • CERI : CheckERI
  • CH03 : RequestedExecutionDateOrRequestedCollectionDateTooFarInFuture
  • CH04 : RequestedExecutionDateOrRequestedCollectionDateTooFarInPast
  • CH07 : ElementIsNotToBeUsedAtB-andC-Level
  • CH09 : MandateChangesNotAllowed
  • CH10 : InformationOnMandateChangesMissing
  • CH11 : CreditorIdentifierIncorrect
  • CH12 : CreditorIdentifierNotUnambiguouslyAtTransaction-Level
  • CH13 : OriginalDebtorAccountIsNotToBeUsed
  • CH14 : OriginalDebtorAgentIsNotToBeUsed
  • CH15 : ElementContentIncludesMoreThan140Characters
  • CH16 : ElementContentFormallyIncorrect
  • CH17 : ElementNotAdmitted
  • CH19 : ValuesWillBeSetToNextTARGETday
  • CH20 : DecimalPointsNotCompatibleWithCurrency
  • CH21 : RequiredCompulsoryElementMissing
  • CH22 : COREandB2BwithinOnemessage
  • CHQC : ChequeSettledOnCreditorAccount
  • CN01 : AuthorisationCancelled
  • CNOR : CreditorBankIsNotRegistered
  • CURR : IncorrectCurrency
  • CUST : RequestedByCustomer
  • DNOR : DebtorBankIsNotRegistered
  • DS01 : ElectronicSignaturesCorrect
  • DS02 : OrderCancelled
  • DS03 : OrderNotCancelled
  • DS04 : OrderRejected
  • DS05 : OrderForwardedForPostprocessing
  • DS06 : TransferOrder
  • DS07 : ProcessingOK
  • DS08 : DecompressionError
  • DS09 : DecryptionError
  • DS0A : DataSignRequested
  • DS0B : UnknownDataSignFormat
  • DS0C : SignerCertificateRevoked
  • DS0D : SignerCertificateNotValid
  • DS0E : IncorrectSignerCertificate
  • DS0F : SignerCertificationAuthoritySignerNotValid
  • DS0G : NotAllowedPayment
  • DS0H : NotAllowedAccount
  • DS0K : NotAllowedNumberOfTransaction
  • DS10 : Signer1CertificateRevoked
  • DS11 : Signer1CertificateNotValid
  • DS12 : IncorrectSigner1Certificate
  • DS13 : SignerCertificationAuthoritySigner1NotValid
  • DS14 : UserDoesNotExist
  • DS15 : IdenticalSignatureFound
  • DS16 : PublicKeyVersionIncorrect
  • DS17 : DifferentOrderDataInSignatures
  • DS18 : RepeatOrder
  • DS19 : ElectronicSignatureRightsInsufficient
  • DS20 : Signer2CertificateRevoked
  • DS21 : Signer2CertificateNotValid
  • DS22 : IncorrectSigner2Certificate
  • DS23 : SignerCertificationAuthoritySigner2NotValid
  • DS24 : WaitingTimeExpired
  • DS25 : OrderFileDeleted
  • DS26 : UserSignedMultipleTimes
  • DS27 : UserNotYetActivated
  • DT01 : InvalidDate
  • DT02 : InvalidCreationDate
  • DT03 : InvalidNonProcessingDate
  • DT04 : FutureDateNotSupported
  • DT05 : InvalidCutOffDate
  • DT06 : ExecutionDateChanged
  • DU01 : DuplicateMessageID
  • DU02 : DuplicatePaymentInformationID
  • DU03 : DuplicateTransaction
  • DU04 : DuplicateEndToEndID
  • DU05 : DuplicateInstructionID
  • DUPL : DuplicatePayment
  • ED01 : CorrespondentBankNotPossible
  • ED03 : BalanceInfoRequest
  • ED05 : SettlementFailed
  • ED06 : SettlementSystemNotAvailable
  • EDTL : ExpiryDateTooLong
  • EDTR : ExpiryDateTimeReached
  • ERIN : ERIOptionNotSupported
  • FF01 : InvalidFileFormat
  • FF02 : SyntaxError
  • FF03 : InvalidPaymentTypeInformation
  • FF04 : InvalidServiceLevelCode
  • FF05 : InvalidLocalInstrumentCode
  • FF06 : InvalidCategoryPurposeCode
  • FF07 : InvalidPurpose
  • FF08 : InvalidEndToEndId
  • FF09 : InvalidChequeNumber
  • FF10 : BankSystemProcessingError
  • FF11 : ClearingRequestAborted
  • FF12 : OriginalTransactionNotEligibleForRequestedReturn
  • FF13 : RequestForCancellationNotFound
  • FOCR : FollowingCancellationRequest
  • FR01 : Fraud
  • FRAD : FraudulentOrigin
  • G000 : PaymentTransferredAndTracked
  • G001 : PaymentTransferredAndNotTracked
  • G002 : CreditDebitNotConfirmed
  • G003 : CreditPendingDocuments
  • G004 : CreditPendingFunds
  • G005 : DeliveredWithServiceLevel
  • G006 : DeliveredWithoutServiceLevel
  • ID01 : CorrespondingOriginalFileStillNotSent
  • IEDT : IncorrectExpiryDateTime
  • IRNR : InitialRTPNeverReceived
  • MD01 : NoMandate
  • MD02 : MissingMandatoryInformationInMandate
  • MD05 : CollectionNotDue
  • MD06 : RefundRequestByEndCustomer
  • MD07 : EndCustomerDeceased
  • MS02 : NotSpecifiedReasonCustomerGenerated
  • MS03 : NotSpecifiedReasonAgentGenerated
  • NARR : Narrative
  • NERI : NoERI
  • NOAR : NonAgreedRTP
  • NOAS : NoAnswerFromCustomer
  • NOCM : NotCompliantGeneric
  • NOOR : NoOriginalTransactionReceived
  • NOPG : NoPaymentGuarantee
  • NRCH : PayerOrPayerRTPSPNotReachable
  • PART : PartiallyAccepted
  • PINS : TypeOfPaymentInstrumentNotSupported
  • RC01 : BankIdentifierIncorrect
  • RC02 : InvalidBankIdentifier
  • RC03 : InvalidDebtorBankIdentifier
  • RC04 : InvalidCreditorBankIdentifier
  • RC05 : InvalidBICIdentifier
  • RC06 : InvalidDebtorBICIdentifier
  • RC07 : InvalidCreditorBICIdentifier
  • RC08 : InvalidClearingSystemMemberIdentifier
  • RC09 : InvalidDebtorClearingSystemMemberIdentifier
  • RC10 : InvalidCreditorClearingSystemMemberIdentifier
  • RC11 : InvalidIntermediaryAgent
  • RC12 : MissingCreditorSchemeId
  • RCON : RMessageConflict
  • RECI : ReceiverCustomerInformation
  • REPR : RTPReceivedCanBeProcessed
  • RF01 : NotUniqueTransactionReference
  • RR01 : MissingDebtorAccountOrIdentification
  • RR02 : MissingDebtorNameOrAddress
  • RR03 : MissingCreditorNameOrAddress
  • RR04 : RegulatoryReason
  • RR05 : RegulatoryInformationInvalid
  • RR06 : TaxInformationInvalid
  • RR07 : RemittanceInformationInvalid
  • RR08 : RemittanceInformationTruncated
  • RR09 : InvalidStructuredCreditorReference
  • RR10 : InvalidCharacterSet
  • RR11 : InvalidDebtorAgentServiceID
  • RR12 : InvalidPartyID
  • RTNS : RTPNotSupportedForDebtor
  • RUTA : ReturnUponUnableToApply
  • S000 : ValidRequestForCancellationAcknowledged
  • S001 : UETRFlaggedForCancellation
  • S002 : NetworkStopOfUETR
  • S003 : RequestForCancellationForwarded
  • S004 : RequestForCancellationDeliveryAcknowledgement
  • SL01 : SpecificServiceOfferedByDebtorAgent
  • SL02 : SpecificServiceOfferedByCreditorAgent
  • SL03 : ServiceofClearingSystem
  • SL11 : CreditorNotOnWhitelistOfDebtor
  • SL12 : CreditorOnBlacklistOfDebtor
  • SL13 : MaximumNumberOfDirectDebitTransactionsExceeded
  • SL14 : MaximumDirectDebitTransactionAmountExceeded
  • SP01 : PaymentStopped
  • SP02 : PreviouslyStopped
  • SPII : RTPServiceProviderIdentifierIncorrect
  • TA01 : TransmissionAborted
  • TD01 : NoDataAvailable
  • TD02 : FileNonReadable
  • TD03 : IncorrectFileStructure
  • TK01 : TokenInvalid
  • TK02 : SenderTokenNotFound
  • TK03 : ReceiverTokenNotFound
  • TK09 : TokenMissing
  • TKCM : TokenCounterpartyMismatch
  • TKSG : TokenSingleUse
  • TKSP : TokenSuspended
  • TKVE : TokenValueLimitExceeded
  • TKXP : TokenExpired
  • TM01 : InvalidCutOffTime
  • TS01 : TransmissionSuccessful
  • TS04 : TransferToSignByHand
  • UCRD : UnknownCreditor
  • UPAY : UnduePayment
Enum"ACCC""ACCP""ACSC""ACTC""ACWP""AB01""AB02""AB03""AB04""AB05"
{ "schema": "CODE", "value": "ACCC" }

StatusReasonInfo

Provides detailed information on a status reason.

additionalInformationstring

A human friendly description of the status reason including any further details if applicable.

reasonobject(StatusReasonType)required
reason.​schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

Discriminator
reason.​valuestringrequired
  • ACCP: AcceptedCustomerProfile
  • ACCC: AcceptedSettlementCompletedCreditorAccount
  • ACSC: AcceptedSettlementCompletedDebtorAccount
  • ACSP: AcceptedSettlementInProcess
  • ACTC: AcceptedTechnicalValidation
  • ACWC: AcceptedWithChange
  • ACWP: AcceptedWithoutPosting
  • AB01 : AbortedClearingTimeout
  • AB02 : AbortedClearingFatalError
  • AB03 : AbortedSettlementTimeout
  • AB04 : AbortedSettlementFatalError
  • AB05 : TimeoutCreditorAgent
  • AB06 : TimeoutInstructedAgent
  • AB07 : OfflineAgent
  • AB08 : OfflineCreditorAgent
  • AB09 : ErrorCreditorAgent
  • AB10 : ErrorInstructedAgent
  • AB11 : TimeoutDebtorAgent
  • ACC : SuccessfulVerboseCdvOutcome
  • AC01 : IncorrectAccountNumber
  • AC02 : InvalidDebtorAccountNumber
  • AC03 : InvalidCreditorAccountNumber
  • AC04 : ClosedAccountNumber
  • AC05 : ClosedDebtorAccountNumber
  • AC06 : BlockedAccount
  • AC07 : ClosedCreditorAccountNumber
  • AC08 : InvalidBranchCode
  • AC09 : InvalidAccountCurrency
  • AC10 : InvalidDebtorAccountCurrency
  • AC11 : InvalidCreditorAccountCurrency
  • AC12 : InvalidAccountType
  • AC13 : InvalidDebtorAccountType
  • AC14 : InvalidCreditorAccountType
  • AC15 : AccountDetailsChanged
  • AC16 : CardNumberInvalid
  • AC17 : AccountInLiquidation
  • AEXR : AlreadyExpiredRTP
  • AG01 : TransactionForbidden
  • AG02 : InvalidBankOperationCode
  • AG03 : TransactionNotSupported
  • AG04 : InvalidAgentCountry
  • AG05 : InvalidDebtorAgentCountry
  • AG06 : InvalidCreditorAgentCountry
  • AG07 : UnsuccessfulDirectDebit
  • AG08 : InvalidAccessRights
  • AG09 : PaymentNotReceived
  • AG10 : AgentSuspended
  • AG11 : CreditorAgentSuspended
  • AG12 : NotAllowedBookTransfer
  • AG13 : ForbiddenReturnPayment
  • AGNT : IncorrectAgent
  • ALAC : AlreadyAcceptedRTP
  • AM01 : ZeroAmount
  • AM02 : NotAllowedAmount
  • AM03 : NotAllowedCurrency
  • AM04 : InsufficientFunds
  • AM05 : Duplication
  • AM06 : TooLowAmount
  • AM07 : BlockedAmount
  • AM09 : WrongAmount
  • AM10 : InvalidControlSum
  • AM11 : InvalidTransactionCurrency
  • AM12 : InvalidAmount
  • AM13 : AmountExceedsClearingSystemLimit
  • AM14 : AmountExceedsAgreedLimit
  • AM15 : AmountBelowClearingSystemMinimum
  • AM16 : InvalidGroupControlSum
  • AM17 : InvalidPaymentInfoControlSum
  • AM18 : InvalidNumberOfTransactions
  • AM19 : InvalidGroupNumberOfTransactions
  • AM20 : InvalidPaymentInfoNumberOfTransactions
  • AM21 : LimitExceeded
  • AM22 : ZeroAmountNotApplied
  • AM23 : AmountExceedsSettlementLimit
  • APAR : AlreadyPaidRTP
  • ARDT : AlreadyReturnedTransaction
  • ARFR : AlreadyRefusedRTP
  • ARJR : AlreadyRejectedRTP
  • ATNS : AttachmentsNotSupported
  • BE01 : InconsistentWithEndCustomer
  • BE04 : MissingCreditorAddress
  • BE05 : UnrecognisedInitiatingParty
  • BE06 : UnknownEndCustomer
  • BE07 : MissingDebtorAddress
  • BE08 : MissingDebtorName
  • BE09 : InvalidCountry
  • BE10 : InvalidDebtorCountry
  • BE11 : InvalidCreditorCountry
  • BE12 : InvalidCountryOfResidence
  • BE13 : InvalidDebtorCountryOfResidence
  • BE14 : InvalidCreditorCountryOfResidence
  • BE15 : InvalidIdentificationCode
  • BE16 : InvalidDebtorIdentificationCode
  • BE17 : InvalidCreditorIdentificationCode
  • BE18 : InvalidContactDetails
  • BE19 : InvalidChargeBearerCode
  • BE20 : InvalidNameLength
  • BE21 : MissingName
  • BE22 : MissingCreditorName
  • BE23 : AccountProxyInvalid
  • CERI : CheckERI
  • CH03 : RequestedExecutionDateOrRequestedCollectionDateTooFarInFuture
  • CH04 : RequestedExecutionDateOrRequestedCollectionDateTooFarInPast
  • CH07 : ElementIsNotToBeUsedAtB-andC-Level
  • CH09 : MandateChangesNotAllowed
  • CH10 : InformationOnMandateChangesMissing
  • CH11 : CreditorIdentifierIncorrect
  • CH12 : CreditorIdentifierNotUnambiguouslyAtTransaction-Level
  • CH13 : OriginalDebtorAccountIsNotToBeUsed
  • CH14 : OriginalDebtorAgentIsNotToBeUsed
  • CH15 : ElementContentIncludesMoreThan140Characters
  • CH16 : ElementContentFormallyIncorrect
  • CH17 : ElementNotAdmitted
  • CH19 : ValuesWillBeSetToNextTARGETday
  • CH20 : DecimalPointsNotCompatibleWithCurrency
  • CH21 : RequiredCompulsoryElementMissing
  • CH22 : COREandB2BwithinOnemessage
  • CHQC : ChequeSettledOnCreditorAccount
  • CN01 : AuthorisationCancelled
  • CNOR : CreditorBankIsNotRegistered
  • CURR : IncorrectCurrency
  • CUST : RequestedByCustomer
  • DNOR : DebtorBankIsNotRegistered
  • DS01 : ElectronicSignaturesCorrect
  • DS02 : OrderCancelled
  • DS03 : OrderNotCancelled
  • DS04 : OrderRejected
  • DS05 : OrderForwardedForPostprocessing
  • DS06 : TransferOrder
  • DS07 : ProcessingOK
  • DS08 : DecompressionError
  • DS09 : DecryptionError
  • DS0A : DataSignRequested
  • DS0B : UnknownDataSignFormat
  • DS0C : SignerCertificateRevoked
  • DS0D : SignerCertificateNotValid
  • DS0E : IncorrectSignerCertificate
  • DS0F : SignerCertificationAuthoritySignerNotValid
  • DS0G : NotAllowedPayment
  • DS0H : NotAllowedAccount
  • DS0K : NotAllowedNumberOfTransaction
  • DS10 : Signer1CertificateRevoked
  • DS11 : Signer1CertificateNotValid
  • DS12 : IncorrectSigner1Certificate
  • DS13 : SignerCertificationAuthoritySigner1NotValid
  • DS14 : UserDoesNotExist
  • DS15 : IdenticalSignatureFound
  • DS16 : PublicKeyVersionIncorrect
  • DS17 : DifferentOrderDataInSignatures
  • DS18 : RepeatOrder
  • DS19 : ElectronicSignatureRightsInsufficient
  • DS20 : Signer2CertificateRevoked
  • DS21 : Signer2CertificateNotValid
  • DS22 : IncorrectSigner2Certificate
  • DS23 : SignerCertificationAuthoritySigner2NotValid
  • DS24 : WaitingTimeExpired
  • DS25 : OrderFileDeleted
  • DS26 : UserSignedMultipleTimes
  • DS27 : UserNotYetActivated
  • DT01 : InvalidDate
  • DT02 : InvalidCreationDate
  • DT03 : InvalidNonProcessingDate
  • DT04 : FutureDateNotSupported
  • DT05 : InvalidCutOffDate
  • DT06 : ExecutionDateChanged
  • DU01 : DuplicateMessageID
  • DU02 : DuplicatePaymentInformationID
  • DU03 : DuplicateTransaction
  • DU04 : DuplicateEndToEndID
  • DU05 : DuplicateInstructionID
  • DUPL : DuplicatePayment
  • ED01 : CorrespondentBankNotPossible
  • ED03 : BalanceInfoRequest
  • ED05 : SettlementFailed
  • ED06 : SettlementSystemNotAvailable
  • EDTL : ExpiryDateTooLong
  • EDTR : ExpiryDateTimeReached
  • ERIN : ERIOptionNotSupported
  • FF01 : InvalidFileFormat
  • FF02 : SyntaxError
  • FF03 : InvalidPaymentTypeInformation
  • FF04 : InvalidServiceLevelCode
  • FF05 : InvalidLocalInstrumentCode
  • FF06 : InvalidCategoryPurposeCode
  • FF07 : InvalidPurpose
  • FF08 : InvalidEndToEndId
  • FF09 : InvalidChequeNumber
  • FF10 : BankSystemProcessingError
  • FF11 : ClearingRequestAborted
  • FF12 : OriginalTransactionNotEligibleForRequestedReturn
  • FF13 : RequestForCancellationNotFound
  • FOCR : FollowingCancellationRequest
  • FR01 : Fraud
  • FRAD : FraudulentOrigin
  • G000 : PaymentTransferredAndTracked
  • G001 : PaymentTransferredAndNotTracked
  • G002 : CreditDebitNotConfirmed
  • G003 : CreditPendingDocuments
  • G004 : CreditPendingFunds
  • G005 : DeliveredWithServiceLevel
  • G006 : DeliveredWithoutServiceLevel
  • ID01 : CorrespondingOriginalFileStillNotSent
  • IEDT : IncorrectExpiryDateTime
  • IRNR : InitialRTPNeverReceived
  • MD01 : NoMandate
  • MD02 : MissingMandatoryInformationInMandate
  • MD05 : CollectionNotDue
  • MD06 : RefundRequestByEndCustomer
  • MD07 : EndCustomerDeceased
  • MS02 : NotSpecifiedReasonCustomerGenerated
  • MS03 : NotSpecifiedReasonAgentGenerated
  • NARR : Narrative
  • NERI : NoERI
  • NOAR : NonAgreedRTP
  • NOAS : NoAnswerFromCustomer
  • NOCM : NotCompliantGeneric
  • NOOR : NoOriginalTransactionReceived
  • NOPG : NoPaymentGuarantee
  • NRCH : PayerOrPayerRTPSPNotReachable
  • PART : PartiallyAccepted
  • PINS : TypeOfPaymentInstrumentNotSupported
  • RC01 : BankIdentifierIncorrect
  • RC02 : InvalidBankIdentifier
  • RC03 : InvalidDebtorBankIdentifier
  • RC04 : InvalidCreditorBankIdentifier
  • RC05 : InvalidBICIdentifier
  • RC06 : InvalidDebtorBICIdentifier
  • RC07 : InvalidCreditorBICIdentifier
  • RC08 : InvalidClearingSystemMemberIdentifier
  • RC09 : InvalidDebtorClearingSystemMemberIdentifier
  • RC10 : InvalidCreditorClearingSystemMemberIdentifier
  • RC11 : InvalidIntermediaryAgent
  • RC12 : MissingCreditorSchemeId
  • RCON : RMessageConflict
  • RECI : ReceiverCustomerInformation
  • REPR : RTPReceivedCanBeProcessed
  • RF01 : NotUniqueTransactionReference
  • RR01 : MissingDebtorAccountOrIdentification
  • RR02 : MissingDebtorNameOrAddress
  • RR03 : MissingCreditorNameOrAddress
  • RR04 : RegulatoryReason
  • RR05 : RegulatoryInformationInvalid
  • RR06 : TaxInformationInvalid
  • RR07 : RemittanceInformationInvalid
  • RR08 : RemittanceInformationTruncated
  • RR09 : InvalidStructuredCreditorReference
  • RR10 : InvalidCharacterSet
  • RR11 : InvalidDebtorAgentServiceID
  • RR12 : InvalidPartyID
  • RTNS : RTPNotSupportedForDebtor
  • RUTA : ReturnUponUnableToApply
  • S000 : ValidRequestForCancellationAcknowledged
  • S001 : UETRFlaggedForCancellation
  • S002 : NetworkStopOfUETR
  • S003 : RequestForCancellationForwarded
  • S004 : RequestForCancellationDeliveryAcknowledgement
  • SL01 : SpecificServiceOfferedByDebtorAgent
  • SL02 : SpecificServiceOfferedByCreditorAgent
  • SL03 : ServiceofClearingSystem
  • SL11 : CreditorNotOnWhitelistOfDebtor
  • SL12 : CreditorOnBlacklistOfDebtor
  • SL13 : MaximumNumberOfDirectDebitTransactionsExceeded
  • SL14 : MaximumDirectDebitTransactionAmountExceeded
  • SP01 : PaymentStopped
  • SP02 : PreviouslyStopped
  • SPII : RTPServiceProviderIdentifierIncorrect
  • TA01 : TransmissionAborted
  • TD01 : NoDataAvailable
  • TD02 : FileNonReadable
  • TD03 : IncorrectFileStructure
  • TK01 : TokenInvalid
  • TK02 : SenderTokenNotFound
  • TK03 : ReceiverTokenNotFound
  • TK09 : TokenMissing
  • TKCM : TokenCounterpartyMismatch
  • TKSG : TokenSingleUse
  • TKSP : TokenSuspended
  • TKVE : TokenValueLimitExceeded
  • TKXP : TokenExpired
  • TM01 : InvalidCutOffTime
  • TS01 : TransmissionSuccessful
  • TS04 : TransferToSignByHand
  • UCRD : UnknownCreditor
  • UPAY : UnduePayment
Enum"ACCC""ACCP""ACSC""ACTC""ACWP""AB01""AB02""AB03""AB04""AB05"
{ "additionalInformation": "string", "reason": { "schema": "string", "value": "ACCC" } }

Status

outcomestringrequired
  • APPROVED: The instruction has been approved.
  • CANCELLED: The instruction has been cancelled.
  • PENDING: The instruction is pending.
  • REJECTED: The instruction has been rejected.
Enum"APPROVED""CANCELLED""PENDING""REJECTED"
reasonInfoArray of objects(StatusReasonInfo)non-empty

A list of StatusReasonInfo values providing detailed reason information for the outcome.

{ "outcome": "APPROVED", "reasonInfo": [ {} ] }

PaymentStatusReport

An extension of BaseTransactionMessage which includes additional information pertinent to an asynchronous response message. In particular, original message identifiers.

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

originalMessageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

originalMessageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

originalMessageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

transactionIdentifiersobject(TransactionIdentifiers)required

Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.

transactionIdentifiers.​endToEndIdentificationstring<= 35 charactersrequired

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. Note: this is distinct from the UETR.

transactionIdentifiers.​transactionIdentificationstring<= 35 characters

Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. Usage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. Usage: The instructing agent has to make sure that the transaction identification is unique for a pre- agreed period.

transactionIdentifiers.​uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference of a payment transaction. This identifier remains the same for all messages related to the same transaction.

instructedAgentobject(InstitutionIdentification)
instructingAgentobject(InstitutionIdentification)
originalTransactionDataobject(OriginalTransactionData)

Contains key elements related to the original transaction that is being referred to.

paymentSchemeobject(PaymentStatusReportPaymentScheme)required

Designates which scheme a payment status report is associated with and describes scheme-specific information for the payment status report.

paymentScheme.​schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
Discriminator
schemastringrequired
Value"PaymentStatusReport"
statusobject(Status)required
status.​outcomestringrequired
  • APPROVED: The instruction has been approved.
  • CANCELLED: The instruction has been cancelled.
  • PENDING: The instruction is pending.
  • REJECTED: The instruction has been rejected.
Enum"APPROVED""CANCELLED""PENDING""REJECTED"
status.​reasonInfoArray of objects(StatusReasonInfo)non-empty

A list of StatusReasonInfo values providing detailed reason information for the outcome.

{ "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "supplementaryData": { "property1": "string", "property2": "string" }, "originalMessageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "transactionIdentifiers": { "endToEndIdentification": "string", "transactionIdentification": "string", "uetr": "string" }, "instructedAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "instructingAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "originalTransactionData": { "amounts": {}, "creditor": {}, "creditorAccount": {}, "creditorAgent": {}, "debtor": {}, "debtorAccount": {}, "debtorAgent": {}, "paymentMethod": "CreditTransfer", "paymentTypeInformation": {}, "remittanceInformation": {}, "settlementDate": "2019-08-24", "supplementaryData": {} }, "paymentScheme": { "originalSchemeData": {}, "schema": "ZA_RTC", "schemeData": {} }, "schema": "PaymentStatusReport", "status": { "outcome": "APPROVED", "reasonInfo": [] } }

ErrorDetail

A model carrying information detailing the reason for an error that occurred.

detailstring

An optional string containing details relevant to the error, for example an explanation of which field(s) in a message body failed validation and why.

messagestringrequired

A human friendly description of the error that occurred.

schemastringrequired
Value"ErrorDetail"
{ "detail": "string", "message": "string", "schema": "ErrorDetail" }

BaseTransactionMessage

A model containing the foundational elements shared across messages relating to transactions.

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

transactionIdentifiersobject(TransactionIdentifiers)required

Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.

transactionIdentifiers.​endToEndIdentificationstring<= 35 charactersrequired

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. Note: this is distinct from the UETR.

transactionIdentifiers.​transactionIdentificationstring<= 35 characters

Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. Usage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. Usage: The instructing agent has to make sure that the transaction identification is unique for a pre- agreed period.

transactionIdentifiers.​uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference of a payment transaction. This identifier remains the same for all messages related to the same transaction.

{ "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "supplementaryData": { "property1": "string", "property2": "string" }, "transactionIdentifiers": { "endToEndIdentification": "string", "transactionIdentification": "string", "uetr": "string" } }

Instruction

codestring
  • PHOA: Please advise/contact next agent by phone
  • TELA: Please advise/contact next agent by the most efficient means of telecommunication.
  • RT14: Type is an enquiry on a suspicious transaction.
Enum"PHOA""TELA""RT14"
informationstring[ 1 .. 140 ] characters

Further information complementing the coded instruction or instruction to the next agent that is bilaterally agreed or specific to a user community.

{ "code": "PHOA", "information": "string" }

ShortenedAccountNumber

An account number, shortened to 11 characters according to the account number reduction rules in the EFT technical standards. This field is intended for internal use by Electrum and generally should not be populated by partner implementations.

string(ShortenedAccountNumber)= 11 characters

An account number, shortened to 11 characters according to the account number reduction rules in the EFT technical standards. This field is intended for internal use by Electrum and generally should not be populated by partner implementations.

"stringstrin"

ZaEftSchemeData

shortenedCreditorAccountNumberstring(ShortenedAccountNumber)= 11 characters

An account number, shortened to 11 characters according to the account number reduction rules in the EFT technical standards. This field is intended for internal use by Electrum and generally should not be populated by partner implementations.

shortenedDebtorAccountNumberstring(ShortenedAccountNumber)= 11 characters

An account number, shortened to 11 characters according to the account number reduction rules in the EFT technical standards. This field is intended for internal use by Electrum and generally should not be populated by partner implementations.

userReferencestring<= 30 charactersrequired

An explanation of an EFT transaction, which will be printed on the debtor's statement for direct debits or the creditor's statement for credit transfers. Note that when populating a value for a direct debit, the first 10 characters must contain the Banks user code as configured at Bankserv. If configured, Electrum will populate this value automatically, in which case at most 20 characters should be used as a reference to avoid truncation.

{ "shortenedCreditorAccountNumber": "stringstrin", "shortenedDebtorAccountNumber": "stringstrin", "userReference": "string" }

ZaEftCreditTransferPaymentScheme

schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
schemeDataobject(ZaEftSchemeData)required
schemeData.​shortenedCreditorAccountNumberstring(ShortenedAccountNumber)= 11 characters

An account number, shortened to 11 characters according to the account number reduction rules in the EFT technical standards. This field is intended for internal use by Electrum and generally should not be populated by partner implementations.

schemeData.​shortenedDebtorAccountNumberstring(ShortenedAccountNumber)= 11 characters

An account number, shortened to 11 characters according to the account number reduction rules in the EFT technical standards. This field is intended for internal use by Electrum and generally should not be populated by partner implementations.

schemeData.​userReferencestring<= 30 charactersrequired

An explanation of an EFT transaction, which will be printed on the debtor's statement for direct debits or the creditor's statement for credit transfers. Note that when populating a value for a direct debit, the first 10 characters must contain the Banks user code as configured at Bankserv. If configured, Electrum will populate this value automatically, in which case at most 20 characters should be used as a reference to avoid truncation.

{ "schema": "ZA_RTC", "schemeData": { "shortenedCreditorAccountNumber": "stringstrin", "shortenedDebtorAccountNumber": "stringstrin", "userReference": "string" } }

ZaRppSchemeData

hasRtpboolean

Indicates whether the RPP transaction was initiated via a Request To Pay.

{ "hasRtp": true }

ZaRppCreditTransferPaymentScheme

schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
schemeDataobject(ZaRppSchemeData)
{ "schema": "ZA_RTC", "schemeData": { "hasRtp": true } }

ZaRtcCreditTransferPaymentScheme

schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
schemeDataobject(ZaRtcCreditTransferPaymentSchemeData)required
schemeData.​businessReferencestring<= 10 characters^\d{2}[\dA-z]{8}$required

Business reference number. The first two numeric digits identify the bank and the last 8 characters contain a unique alphanumeric value generated by the originating bank (unique for the transaction).

schemeData.​originatorEchoDatastring<= 20 characters^[\dA-z ]*$

Echo data reserved for originator use. Must remain unaltered by the beneficiary.

schemeData.​userReferencestring<= 20 characters^[\dA-z ]*$

An explanation of the transaction, e.g. to be printed on the account holder's statement.

{ "schema": "ZA_RTC", "schemeData": { "businessReference": "string", "originatorEchoData": "string", "userReference": "string" } }

CreditTransferPaymentScheme

Designates which scheme a credit transfer is associated with and describes scheme-specific information for the credit transfer.

schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
Discriminator
schemeDataobject(ZaEftSchemeData)required
schemeData.​shortenedCreditorAccountNumberstring(ShortenedAccountNumber)= 11 characters

An account number, shortened to 11 characters according to the account number reduction rules in the EFT technical standards. This field is intended for internal use by Electrum and generally should not be populated by partner implementations.

schemeData.​shortenedDebtorAccountNumberstring(ShortenedAccountNumber)= 11 characters

An account number, shortened to 11 characters according to the account number reduction rules in the EFT technical standards. This field is intended for internal use by Electrum and generally should not be populated by partner implementations.

schemeData.​userReferencestring<= 30 charactersrequired

An explanation of an EFT transaction, which will be printed on the debtor's statement for direct debits or the creditor's statement for credit transfers. Note that when populating a value for a direct debit, the first 10 characters must contain the Banks user code as configured at Bankserv. If configured, Electrum will populate this value automatically, in which case at most 20 characters should be used as a reference to avoid truncation.

{ "schema": "ZA_EFT", "schemeData": { "shortenedCreditorAccountNumber": "stringstrin", "shortenedDebtorAccountNumber": "stringstrin", "userReference": "string" } }

PurposeTypeCode

schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

valuestringrequired
  • ACCT : AccountManagement
  • ADCS : AdvisoryDonationCopyrightServices
  • ADMG : AdministrativeManagement
  • ADVA : AdvancePayment
  • AEMP : ActiveEmploymentPolicy
  • AGRT : AgriculturalTransfer
  • AIRB : Air
  • ALLW : Allowance
  • ALMY : AlimonyPayment
  • AMEX : Amex
  • ANNI : Annuity
  • ANTS : AnesthesiaServices
  • AREN : AccountsReceivablesEntry
  • AUCO : AuthenticatedCollections
  • B112 : TrailerFeePayment
  • BBSC : BabyBonusScheme
  • BCDM : BearerChequeDomestic
  • BCFG : BearerChequeForeign
  • BECH : ChildBenefit
  • BENE : UnemploymentDisabilityBenefit
  • BEXP : BusinessExpenses
  • BFWD : BondForward
  • BKDF : BankLoanDelayedDrawFunding
  • BKFE : BankLoanFees
  • BKFM : BankLoanFundingMemo
  • BKIP : BankLoanAccruedInterestPayment
  • BKPP : BankLoanPrincipalPaydown
  • BLDM : BuildingMaintenance
  • BNET : BondForwardNetting
  • BOCE : BackOfficeConversionEntry
  • BOND : Bonds
  • BONU : BonusPayment.
  • BR12 : TrailerFeeRebate
  • BUSB : Bus
  • CABD : CorporateActions-Bonds
  • CAEQ : CorporateActions-Equities
  • CAFI : CustodianManagementFeeInhouse
  • CASH : CashManagementTransfer
  • CBCR : CreditCard
  • CBFF : CapitalBuilding
  • CBFR : CapitalBuildingRetirement
  • CBLK : CardBulkClearing
  • CBTV : CableTVBill
  • CCHD : CashCompensationHelplessnessDisability
  • CCIR : CrossCurrencyIRS
  • CCPC : CCPClearedInitialMargin
  • CCPM : CCPClearedVariationMargin
  • CCRD : CreditCardPayment
  • CCSM : CCPClearedInitialMarginSegregatedCash
  • CDBL : CreditCardBill
  • CDCB : CardPaymentWithCashBack
  • CDCD : CashDisbursementCashSettlement
  • CDCS : CashDisbursementWithSurcharging
  • CDDP : CardDeferredPayment
  • CDEP : CreditDefaultEventPayment
  • CDOC : OriginalCredit
  • CDQC : QuasiCash
  • CFDI : CapitalFallingDueInhouse
  • CFEE : CancellationFee
  • CGDD : CardGeneratedDirectDebit
  • CHAR : CharityPayment
  • CLPR : CarLoanPrincipalRepayment
  • CMDT : CommodityTransfer
  • COLL : CollectionPayment
  • COMC : CommercialPayment
  • COMM : Commission
  • COMP : CompensationPayment
  • COMT : ConsumerThirdPartyConsolidatedPayment
  • CORT : TradeSettlementPayment
  • COST : Costs
  • CPKC : CarparkCharges
  • CPYR : Copyright
  • CRDS : CreditDefaultSwap
  • CRPR : CrossProduct
  • CRSP : CreditSupport
  • CRTL : CreditLine
  • CSDB : CashDisbursementCashManagement
  • CSLP : CompanySocialLoanPaymentToBank
  • CVCF : ConvalescentCareFacility
  • DBCR : DebitCard
  • DBTC : DebitCollectionPayment
  • DCRD : DebitCardPayment
  • DEPT : Deposit
  • DERI : Derivatives
  • DICL : Diners
  • DIVD : Dividend
  • DMEQ : DurableMedicaleEquipment
  • DNTS : DentalServices
  • DSMT : PrintedOrderDisbursement
  • DVPM : DeliverAgainstPayment
  • ECPG : GuaranteedEPayment
  • ECPR : EPaymentReturn
  • ECPU : NonGuaranteedEPayment
  • EDUC : Education
  • EFTC : LowValueCredit
  • EFTD : LowValueDebit
  • ELEC : ElectricityBill
  • ENRG : Energies
  • EPAY : Epayment
  • EQPT : EquityOption
  • EQTS : Equities
  • EQUS : EquitySwap
  • ESTX : EstateTax
  • ETUP : EPurseTopUp
  • EXPT : ExoticOption
  • EXTD : ExchangeTradedDerivatives
  • FACT : FactorUpdateRelatedPayment
  • FAND : FinancialAidInCaseOfNaturalDisaster
  • FCOL : FeeCollection
  • FCPM : LatePaymentOfFeesAndCharges
  • FEES : PaymentOfFees
  • FERB : Ferry
  • FIXI : FixedIncome
  • FLCR : FleetCard
  • FNET : FuturesNettingPayment
  • FORW : ForwardForeignExchange
  • FREX : ForeignExchange
  • FUTR : Futures
  • FWBC : ForwardBrokerOwnedCashCollateral
  • FWCC : ForwardClientOwnedCashCollateral
  • FWLV : ForeignWorkerLevy
  • FWSB : ForwardBrokerOwnedCashCollateralSegregated
  • FWSC : ForwardClientOwnedSegregatedCashCollateral
  • FXNT : ForeignExchangeRelatedNetting
  • GAFA : GovernmentFamilyAllowance
  • GAHO : GovernmentHousingAllowance
  • GAMB : GamblingOrWageringPayment
  • GASB : GasBill
  • GDDS : PurchaseSaleOfGoods
  • GDSV : PurchaseSaleOfGoodsAndServices
  • GFRP : GuaranteeFundRightsPayment
  • GIFT : Gift
  • GOVI : GovernmentInsurance
  • GOVT : GovernmentPayment
  • GSCB : PurchaseSaleOfGoodsAndServicesWithCashBack
  • GSTX : GoodsServicesTax
  • GVEA : AustrianGovernmentEmployeesCategoryA
  • GVEB : AustrianGovernmentEmployeesCategoryB
  • GVEC : AustrianGovernmentEmployeesCategoryC
  • GVED : AustrianGovernmentEmployeesCategoryD
  • GWLT : GovermentWarLegislationTransfer
  • HEDG : Hedging
  • HLRP : PropertyLoanRepayment
  • HLST : PropertyLoanSettlement
  • HLTC : HomeHealthCare
  • HLTI : HealthInsurance
  • HREC : HousingRelatedContribution
  • HSPC : HospitalCare
  • HSTX : HousingTax
  • ICCP : IrrevocableCreditCardPayment
  • ICRF : IntermediateCareFacility
  • IDCP : IrrevocableDebitCardPayment
  • IHRP : InstalmentHirePurchaseAgreement
  • INPC : InsurancePremiumCar
  • INPR : InsurancePremiumRefund
  • INSC : PaymentOfInsuranceClaim
  • INSM : Installment
  • INSU : InsurancePremium
  • INTC : IntraCompanyPayment
  • INTE : Interest
  • INTP : IntraPartyPayment
  • INTX : IncomeTax
  • INVS : InvestmentAndSecurities
  • IPAY : InstantPayments
  • IPCA : InstantPaymentsCancellation
  • IPDO : InstantPaymentsForDonations
  • IPEA : InstantPaymentsInECommerceWithoutAddressData
  • IPEC : InstantPaymentsInECommerceWithAddressData
  • IPEW : InstantPaymentsInECommerce
  • IPPS : InstantPaymentsAtPOS
  • IPRT : InstantPaymentsReturn
  • IPU2 : InstantPaymentsUnattendedVendingMachineWith2FA
  • IPUW : InstantPaymentsUnattendedVendingMachineWithout2FA
  • IVPT : InvoicePayment
  • LBIN : LendingBuyInNetting
  • LBRI : LaborInsurance
  • LCOL : LendingCashCollateralFreeMovement
  • LFEE : LendingFees
  • LICF : LicenseFee
  • LIFI : LifeInsurance
  • LIMA : LiquidityManagement
  • LMEQ : LendingEquityMarkedToMarketCashCollateral
  • LMFI : LendingFixedIncomeMarkedToMarketCashCollateral
  • LMRK : LendingUnspecifiedTypeOfMarkedToMarketCashCollateral
  • LOAN : Loan
  • LOAR : LoanRepayment
  • LOTT : LotteryPayment
  • LREB : LendingRebatePayments
  • LREV : LendingRevenuePayments
  • LSFL : LendingClaimPayment
  • LTCF : LongTermCareFacility
  • MAFC : MedicalAidFundContribution
  • MARF : MedicalAidRefund
  • MARG : DailyMarginOnListedDerivatives
  • MBSB : MBSBrokerOwnedCashCollateral
  • MBSC : MBSClientOwnedCashCollateral
  • MCDM : MultiCurrenyChequeDomestic
  • MCFG : MultiCurrenyChequeForeign
  • MDCS : MedicalServices
  • MGCC : FuturesInitialMargin
  • MGSC : FuturesInitialMarginClientOwnedSegregatedCashCollateral
  • MOMA : MoneyMarket
  • MP2B : MobileP2BPayment
  • MP2P : MobileP2PPayment
  • MSVC : MultipleServiceTypes
  • MTUP : MobileTopUp
  • NETT : Netting
  • NITX : NetIncomeTax
  • NOWS : NotOtherwiseSpecified
  • NWCH : NetworkCharge
  • NWCM : NetworkCommunication
  • OCCC : ClientOwnedOCCPledgedCollateral
  • OCDM : OrderChequeDomestic
  • OCFG : OrderChequeForeign
  • OFEE : OpeningFee
  • OPBC : OTCOptionBrokerOwnedCashCollateral
  • OPCC : OTCOptionClientOwnedCashCollateral
  • OPSB : OTCOptionBrokerOwnedSegregatedCashCollateral
  • OPSC : OTCOptionClientOwnedCashSegregatedCashCollateral
  • OPTN : FXOption
  • OTCD : OTCDerivatives
  • OTHR : Other
  • OTLC : OtherTelecomRelatedBill
  • PADD : PreauthorizedDebit
  • PAYR : Payroll
  • PCOM : PropertyCompletionPayment
  • PDEP : PropertyDeposit
  • PEFC : PensionFundContribution
  • PENO : PaymentBasedOnEnforcementOrder
  • PENS : PensionPayment
  • PHON : TelephoneBill
  • PLDS : PropertyLoanDisbursement
  • PLRF : PropertyLoanRefinancing
  • POPE : PointOfPurchaseEntry
  • PPTI : PropertyInsurance
  • PRCP : PricePayment
  • PRME : PreciousMetal
  • PTSP : PaymentTerms
  • PTXP : PropertyTax
  • RAPI : RapidPaymentInstruction
  • RCKE : RepresentedCheckEntry
  • RCPT : ReceiptPayment
  • RDTX : RoadTax
  • REBT : Rebate
  • REFU : Refund
  • RELG : RentalLeaseGeneral
  • RENT : Rent
  • REOD : AccountOverdraftRepayment
  • REPO : RepurchaseAgreement
  • RHBS : RehabilitationSupport
  • RIMB : ReimbursementOfAPreviousErroneousTransaction
  • RINP : RecurringInstallmentPayment
  • RLWY : Railway
  • ROYA : Royalties
  • RPBC : BilateralRepoBrokerOwnedCollateral
  • RPCC : RepoClientOwnedCollateral
  • RPNT : BilateralRepoInternetNetting
  • RPSB : BilateralRepoBrokerOwnedSegregatedCashCollateral
  • RPSC : BilateralRepoClientOwnedSegregatedCashCollateral
  • RRBN : RoundRobin
  • RRCT : ReimbursementReceivedCreditTransfer
  • RRTP : RelatedRequestToPay
  • RVPM : ReceiveAgainstPayment
  • RVPO : ReverseRepurchaseAgreement
  • SALA : SalaryPayment
  • SASW : ATM
  • SAVG : Savings
  • SBSC : SecuritiesBuySellSellBuyBack
  • SCIE : SingleCurrencyIRSExotic
  • SCIR : SingleCurrencyIRS
  • SCRP : SecuritiesCrossProducts
  • SCVE : PurchaseSaleOfServices
  • SECU : Securities
  • SEPI : SecuritiesPurchaseInhouse
  • SERV : ServiceCharges
  • SHBC : BrokerOwnedCollateralShortSale
  • SHCC : ClientOwnedCollateralShortSale
  • SHSL : ShortSell
  • SLEB : SecuritiesLendingAndBorrowing
  • SLOA : SecuredLoan
  • SLPI : PaymentSlipInstruction
  • SPLT : SplitPayments
  • SPSP : SalaryPensionSumPayment
  • SSBE : SocialSecurityBenefit
  • STDY : Study
  • SUBS : Subscription
  • SUPP : SupplierPayment
  • SWBC : SwapBrokerOwnedCashCollateral
  • SWCC : SwapClientOwnedCashCollateral
  • SWFP : SwapContractFinalPayment
  • SWPP : SwapContractPartialPayment
  • SWPT : Swaption
  • SWRS : SwapContractResetPayment
  • SWSB : SwapsBrokerOwnedSegregatedCashCollateral
  • SWSC : SwapsClientOwnedSegregatedCashCollateral
  • SWUF : SwapContractUpfrontPayment
  • TAXR : TaxRefund
  • TAXS : TaxPayment
  • TBAN : TBAPairOffNetting
  • TBAS : ToBeAnnounced
  • TBBC : TBABrokerOwnedCashCollateral
  • TBCC : TBAClientOwnedCashCollateral
  • TBIL : TelecommunicationsBill
  • TCSC : TownCouncilServiceCharges
  • TELI : TelephoneInitiatedTransaction
  • TLRF : NonUSMutualFundTrailerFeePayment
  • TLRR : NonUSMutualFundTrailerFeeRebatePayment
  • TMPG : TMPGClaimPayment
  • TPRI : TriPartyRepoInterest
  • TPRP : TriPartyRepoNetting
  • TRAD : Commercial
  • TRCP : TreasuryCrossProduct
  • TREA : TreasuryPayment
  • TRFD : TrustFund
  • TRNC : TruncatedPaymentSlip
  • TRPT : RoadPricing
  • TRVC : TravellerCheque
  • UBIL : Utilities
  • UNIT : UnitTrustPurchase
  • VATX : ValueAddedTaxPayment
  • VIEW : VisionCare
  • WEBI : InternetInitiatedTransaction
  • WHLD : WithHolding
  • WTER : WaterBill
Enum"BKDF""BKFE""BKFM""BKIP""BKPP""CBLK""CDCB""CDCD""CDCS""CDDP"
{ "schema": "string", "value": "BKDF" }

PurposeType

Specifies the underlying reason for the payment transaction

schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

Discriminator
valuestringrequired
  • ACCT : AccountManagement
  • ADCS : AdvisoryDonationCopyrightServices
  • ADMG : AdministrativeManagement
  • ADVA : AdvancePayment
  • AEMP : ActiveEmploymentPolicy
  • AGRT : AgriculturalTransfer
  • AIRB : Air
  • ALLW : Allowance
  • ALMY : AlimonyPayment
  • AMEX : Amex
  • ANNI : Annuity
  • ANTS : AnesthesiaServices
  • AREN : AccountsReceivablesEntry
  • AUCO : AuthenticatedCollections
  • B112 : TrailerFeePayment
  • BBSC : BabyBonusScheme
  • BCDM : BearerChequeDomestic
  • BCFG : BearerChequeForeign
  • BECH : ChildBenefit
  • BENE : UnemploymentDisabilityBenefit
  • BEXP : BusinessExpenses
  • BFWD : BondForward
  • BKDF : BankLoanDelayedDrawFunding
  • BKFE : BankLoanFees
  • BKFM : BankLoanFundingMemo
  • BKIP : BankLoanAccruedInterestPayment
  • BKPP : BankLoanPrincipalPaydown
  • BLDM : BuildingMaintenance
  • BNET : BondForwardNetting
  • BOCE : BackOfficeConversionEntry
  • BOND : Bonds
  • BONU : BonusPayment.
  • BR12 : TrailerFeeRebate
  • BUSB : Bus
  • CABD : CorporateActions-Bonds
  • CAEQ : CorporateActions-Equities
  • CAFI : CustodianManagementFeeInhouse
  • CASH : CashManagementTransfer
  • CBCR : CreditCard
  • CBFF : CapitalBuilding
  • CBFR : CapitalBuildingRetirement
  • CBLK : CardBulkClearing
  • CBTV : CableTVBill
  • CCHD : CashCompensationHelplessnessDisability
  • CCIR : CrossCurrencyIRS
  • CCPC : CCPClearedInitialMargin
  • CCPM : CCPClearedVariationMargin
  • CCRD : CreditCardPayment
  • CCSM : CCPClearedInitialMarginSegregatedCash
  • CDBL : CreditCardBill
  • CDCB : CardPaymentWithCashBack
  • CDCD : CashDisbursementCashSettlement
  • CDCS : CashDisbursementWithSurcharging
  • CDDP : CardDeferredPayment
  • CDEP : CreditDefaultEventPayment
  • CDOC : OriginalCredit
  • CDQC : QuasiCash
  • CFDI : CapitalFallingDueInhouse
  • CFEE : CancellationFee
  • CGDD : CardGeneratedDirectDebit
  • CHAR : CharityPayment
  • CLPR : CarLoanPrincipalRepayment
  • CMDT : CommodityTransfer
  • COLL : CollectionPayment
  • COMC : CommercialPayment
  • COMM : Commission
  • COMP : CompensationPayment
  • COMT : ConsumerThirdPartyConsolidatedPayment
  • CORT : TradeSettlementPayment
  • COST : Costs
  • CPKC : CarparkCharges
  • CPYR : Copyright
  • CRDS : CreditDefaultSwap
  • CRPR : CrossProduct
  • CRSP : CreditSupport
  • CRTL : CreditLine
  • CSDB : CashDisbursementCashManagement
  • CSLP : CompanySocialLoanPaymentToBank
  • CVCF : ConvalescentCareFacility
  • DBCR : DebitCard
  • DBTC : DebitCollectionPayment
  • DCRD : DebitCardPayment
  • DEPT : Deposit
  • DERI : Derivatives
  • DICL : Diners
  • DIVD : Dividend
  • DMEQ : DurableMedicaleEquipment
  • DNTS : DentalServices
  • DSMT : PrintedOrderDisbursement
  • DVPM : DeliverAgainstPayment
  • ECPG : GuaranteedEPayment
  • ECPR : EPaymentReturn
  • ECPU : NonGuaranteedEPayment
  • EDUC : Education
  • EFTC : LowValueCredit
  • EFTD : LowValueDebit
  • ELEC : ElectricityBill
  • ENRG : Energies
  • EPAY : Epayment
  • EQPT : EquityOption
  • EQTS : Equities
  • EQUS : EquitySwap
  • ESTX : EstateTax
  • ETUP : EPurseTopUp
  • EXPT : ExoticOption
  • EXTD : ExchangeTradedDerivatives
  • FACT : FactorUpdateRelatedPayment
  • FAND : FinancialAidInCaseOfNaturalDisaster
  • FCOL : FeeCollection
  • FCPM : LatePaymentOfFeesAndCharges
  • FEES : PaymentOfFees
  • FERB : Ferry
  • FIXI : FixedIncome
  • FLCR : FleetCard
  • FNET : FuturesNettingPayment
  • FORW : ForwardForeignExchange
  • FREX : ForeignExchange
  • FUTR : Futures
  • FWBC : ForwardBrokerOwnedCashCollateral
  • FWCC : ForwardClientOwnedCashCollateral
  • FWLV : ForeignWorkerLevy
  • FWSB : ForwardBrokerOwnedCashCollateralSegregated
  • FWSC : ForwardClientOwnedSegregatedCashCollateral
  • FXNT : ForeignExchangeRelatedNetting
  • GAFA : GovernmentFamilyAllowance
  • GAHO : GovernmentHousingAllowance
  • GAMB : GamblingOrWageringPayment
  • GASB : GasBill
  • GDDS : PurchaseSaleOfGoods
  • GDSV : PurchaseSaleOfGoodsAndServices
  • GFRP : GuaranteeFundRightsPayment
  • GIFT : Gift
  • GOVI : GovernmentInsurance
  • GOVT : GovernmentPayment
  • GSCB : PurchaseSaleOfGoodsAndServicesWithCashBack
  • GSTX : GoodsServicesTax
  • GVEA : AustrianGovernmentEmployeesCategoryA
  • GVEB : AustrianGovernmentEmployeesCategoryB
  • GVEC : AustrianGovernmentEmployeesCategoryC
  • GVED : AustrianGovernmentEmployeesCategoryD
  • GWLT : GovermentWarLegislationTransfer
  • HEDG : Hedging
  • HLRP : PropertyLoanRepayment
  • HLST : PropertyLoanSettlement
  • HLTC : HomeHealthCare
  • HLTI : HealthInsurance
  • HREC : HousingRelatedContribution
  • HSPC : HospitalCare
  • HSTX : HousingTax
  • ICCP : IrrevocableCreditCardPayment
  • ICRF : IntermediateCareFacility
  • IDCP : IrrevocableDebitCardPayment
  • IHRP : InstalmentHirePurchaseAgreement
  • INPC : InsurancePremiumCar
  • INPR : InsurancePremiumRefund
  • INSC : PaymentOfInsuranceClaim
  • INSM : Installment
  • INSU : InsurancePremium
  • INTC : IntraCompanyPayment
  • INTE : Interest
  • INTP : IntraPartyPayment
  • INTX : IncomeTax
  • INVS : InvestmentAndSecurities
  • IPAY : InstantPayments
  • IPCA : InstantPaymentsCancellation
  • IPDO : InstantPaymentsForDonations
  • IPEA : InstantPaymentsInECommerceWithoutAddressData
  • IPEC : InstantPaymentsInECommerceWithAddressData
  • IPEW : InstantPaymentsInECommerce
  • IPPS : InstantPaymentsAtPOS
  • IPRT : InstantPaymentsReturn
  • IPU2 : InstantPaymentsUnattendedVendingMachineWith2FA
  • IPUW : InstantPaymentsUnattendedVendingMachineWithout2FA
  • IVPT : InvoicePayment
  • LBIN : LendingBuyInNetting
  • LBRI : LaborInsurance
  • LCOL : LendingCashCollateralFreeMovement
  • LFEE : LendingFees
  • LICF : LicenseFee
  • LIFI : LifeInsurance
  • LIMA : LiquidityManagement
  • LMEQ : LendingEquityMarkedToMarketCashCollateral
  • LMFI : LendingFixedIncomeMarkedToMarketCashCollateral
  • LMRK : LendingUnspecifiedTypeOfMarkedToMarketCashCollateral
  • LOAN : Loan
  • LOAR : LoanRepayment
  • LOTT : LotteryPayment
  • LREB : LendingRebatePayments
  • LREV : LendingRevenuePayments
  • LSFL : LendingClaimPayment
  • LTCF : LongTermCareFacility
  • MAFC : MedicalAidFundContribution
  • MARF : MedicalAidRefund
  • MARG : DailyMarginOnListedDerivatives
  • MBSB : MBSBrokerOwnedCashCollateral
  • MBSC : MBSClientOwnedCashCollateral
  • MCDM : MultiCurrenyChequeDomestic
  • MCFG : MultiCurrenyChequeForeign
  • MDCS : MedicalServices
  • MGCC : FuturesInitialMargin
  • MGSC : FuturesInitialMarginClientOwnedSegregatedCashCollateral
  • MOMA : MoneyMarket
  • MP2B : MobileP2BPayment
  • MP2P : MobileP2PPayment
  • MSVC : MultipleServiceTypes
  • MTUP : MobileTopUp
  • NETT : Netting
  • NITX : NetIncomeTax
  • NOWS : NotOtherwiseSpecified
  • NWCH : NetworkCharge
  • NWCM : NetworkCommunication
  • OCCC : ClientOwnedOCCPledgedCollateral
  • OCDM : OrderChequeDomestic
  • OCFG : OrderChequeForeign
  • OFEE : OpeningFee
  • OPBC : OTCOptionBrokerOwnedCashCollateral
  • OPCC : OTCOptionClientOwnedCashCollateral
  • OPSB : OTCOptionBrokerOwnedSegregatedCashCollateral
  • OPSC : OTCOptionClientOwnedCashSegregatedCashCollateral
  • OPTN : FXOption
  • OTCD : OTCDerivatives
  • OTHR : Other
  • OTLC : OtherTelecomRelatedBill
  • PADD : PreauthorizedDebit
  • PAYR : Payroll
  • PCOM : PropertyCompletionPayment
  • PDEP : PropertyDeposit
  • PEFC : PensionFundContribution
  • PENO : PaymentBasedOnEnforcementOrder
  • PENS : PensionPayment
  • PHON : TelephoneBill
  • PLDS : PropertyLoanDisbursement
  • PLRF : PropertyLoanRefinancing
  • POPE : PointOfPurchaseEntry
  • PPTI : PropertyInsurance
  • PRCP : PricePayment
  • PRME : PreciousMetal
  • PTSP : PaymentTerms
  • PTXP : PropertyTax
  • RAPI : RapidPaymentInstruction
  • RCKE : RepresentedCheckEntry
  • RCPT : ReceiptPayment
  • RDTX : RoadTax
  • REBT : Rebate
  • REFU : Refund
  • RELG : RentalLeaseGeneral
  • RENT : Rent
  • REOD : AccountOverdraftRepayment
  • REPO : RepurchaseAgreement
  • RHBS : RehabilitationSupport
  • RIMB : ReimbursementOfAPreviousErroneousTransaction
  • RINP : RecurringInstallmentPayment
  • RLWY : Railway
  • ROYA : Royalties
  • RPBC : BilateralRepoBrokerOwnedCollateral
  • RPCC : RepoClientOwnedCollateral
  • RPNT : BilateralRepoInternetNetting
  • RPSB : BilateralRepoBrokerOwnedSegregatedCashCollateral
  • RPSC : BilateralRepoClientOwnedSegregatedCashCollateral
  • RRBN : RoundRobin
  • RRCT : ReimbursementReceivedCreditTransfer
  • RRTP : RelatedRequestToPay
  • RVPM : ReceiveAgainstPayment
  • RVPO : ReverseRepurchaseAgreement
  • SALA : SalaryPayment
  • SASW : ATM
  • SAVG : Savings
  • SBSC : SecuritiesBuySellSellBuyBack
  • SCIE : SingleCurrencyIRSExotic
  • SCIR : SingleCurrencyIRS
  • SCRP : SecuritiesCrossProducts
  • SCVE : PurchaseSaleOfServices
  • SECU : Securities
  • SEPI : SecuritiesPurchaseInhouse
  • SERV : ServiceCharges
  • SHBC : BrokerOwnedCollateralShortSale
  • SHCC : ClientOwnedCollateralShortSale
  • SHSL : ShortSell
  • SLEB : SecuritiesLendingAndBorrowing
  • SLOA : SecuredLoan
  • SLPI : PaymentSlipInstruction
  • SPLT : SplitPayments
  • SPSP : SalaryPensionSumPayment
  • SSBE : SocialSecurityBenefit
  • STDY : Study
  • SUBS : Subscription
  • SUPP : SupplierPayment
  • SWBC : SwapBrokerOwnedCashCollateral
  • SWCC : SwapClientOwnedCashCollateral
  • SWFP : SwapContractFinalPayment
  • SWPP : SwapContractPartialPayment
  • SWPT : Swaption
  • SWRS : SwapContractResetPayment
  • SWSB : SwapsBrokerOwnedSegregatedCashCollateral
  • SWSC : SwapsClientOwnedSegregatedCashCollateral
  • SWUF : SwapContractUpfrontPayment
  • TAXR : TaxRefund
  • TAXS : TaxPayment
  • TBAN : TBAPairOffNetting
  • TBAS : ToBeAnnounced
  • TBBC : TBABrokerOwnedCashCollateral
  • TBCC : TBAClientOwnedCashCollateral
  • TBIL : TelecommunicationsBill
  • TCSC : TownCouncilServiceCharges
  • TELI : TelephoneInitiatedTransaction
  • TLRF : NonUSMutualFundTrailerFeePayment
  • TLRR : NonUSMutualFundTrailerFeeRebatePayment
  • TMPG : TMPGClaimPayment
  • TPRI : TriPartyRepoInterest
  • TPRP : TriPartyRepoNetting
  • TRAD : Commercial
  • TRCP : TreasuryCrossProduct
  • TREA : TreasuryPayment
  • TRFD : TrustFund
  • TRNC : TruncatedPaymentSlip
  • TRPT : RoadPricing
  • TRVC : TravellerCheque
  • UBIL : Utilities
  • UNIT : UnitTrustPurchase
  • VATX : ValueAddedTaxPayment
  • VIEW : VisionCare
  • WEBI : InternetInitiatedTransaction
  • WHLD : WithHolding
  • WTER : WaterBill
Enum"BKDF""BKFE""BKFM""BKIP""BKPP""CBLK""CDCB""CDCD""CDCS""CDDP"
{ "schema": "CODE", "value": "BKDF" }

RequestToPayConditions

Describes the various aspects of a request to pay which must be accepted or to what extent they may be altered.

maxAmountobject(Amount)required
maxAmount.​currencystring^[A-Z]{3}$required

A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.

maxAmount.​valuenumber(double)>= 0required

The payment amount in the denomination of the indicated currency, in the format '. with the number of minor units (fractional digits) compliant with the number of decimal places published in ISO 4217.

Currency CodeExampleValidNotes
USD10.0Represents 10 USD and no cents.
USD10.00
USD10.001US dollar does not support three decimal places.
JPY10.0Represents 10 Japanese Yen.
JPY10.1Japanese Yen does not support decimal places.
minAmountobject(Amount)required
minAmount.​currencystring^[A-Z]{3}$required

A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.

minAmount.​valuenumber(double)>= 0required

The payment amount in the denomination of the indicated currency, in the format '. with the number of minor units (fractional digits) compliant with the number of decimal places published in ISO 4217.

Currency CodeExampleValidNotes
USD10.0Represents 10 USD and no cents.
USD10.00
USD10.001US dollar does not support three decimal places.
JPY10.0Represents 10 Japanese Yen.
JPY10.1Japanese Yen does not support decimal places.
{ "maxAmount": { "currency": "string", "value": 0.1 }, "minAmount": { "currency": "string", "value": 0.1 } }

TaxInformation

totalAmountobject(Amount)required
totalAmount.​currencystring^[A-Z]{3}$required

A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.

totalAmount.​valuenumber(double)>= 0required

The payment amount in the denomination of the indicated currency, in the format '. with the number of minor units (fractional digits) compliant with the number of decimal places published in ISO 4217.

Currency CodeExampleValidNotes
USD10.0Represents 10 USD and no cents.
USD10.00
USD10.001US dollar does not support three decimal places.
JPY10.0Represents 10 Japanese Yen.
JPY10.1Japanese Yen does not support decimal places.
{ "totalAmount": { "currency": "string", "value": 0.1 } }

RequestToPay

A model containing the necessary information to request a payer to initiate a transfer of funds to a payee

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

transactionIdentifiersobject(TransactionIdentifiers)required

Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.

transactionIdentifiers.​endToEndIdentificationstring<= 35 charactersrequired

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. Note: this is distinct from the UETR.

transactionIdentifiers.​transactionIdentificationstring<= 35 characters

Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. Usage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. Usage: The instructing agent has to make sure that the transaction identification is unique for a pre- agreed period.

transactionIdentifiers.​uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference of a payment transaction. This identifier remains the same for all messages related to the same transaction.

amountsobject(TransactionAmounts)
creditorobject(Party)required

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

creditor.​addressobject(PostalAddress)
creditor.​contactDetailsobject(ContactDetails)
creditor.​countryOfResidencestring(CountryCode)[A-Z]{2,2}

A code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).

creditor.​identificationobject(PartyIdentification)

The identification of a party, either a person or an organisation.

creditor.​knownAsNamestring[ 1 .. 140 ] characters

The name by which this party is commonly known in day to day use. For example, a shortening of their legal name or a nickname that they commonly use. This is "non-official". However, it is acceptable for this field to be set to the same as legalName.

creditor.​legalNamestring[ 1 .. 140 ] characters

The legal name by which this party is known (the "FICA" name). This is the full name of the party as found on country-issued documentation (national identity, company registration documentation etc).

creditorAccountobject(PaymentAccount)required

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

creditorAccount.​currencystring^[A-Z]{3}$

Identification of the currency in which the account is held.

creditorAccount.​identificationobject(BankingIdentifier)
creditorAccount.​namestring<= 70 characters

Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.

creditorAccount.​proxyobject(NonBankingIdentifier)
creditorAccount.​typeobject(AccountType)
creditorAgentobject(InstitutionIdentification)required
creditorAgent.​additionalIdentificationsArray of objects(AccountIdentification)
creditorAgent.​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

creditorAgent.​branchobject(BranchIdentification)
creditorAgent.​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

creditorAgent.​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

creditorAgent.​memberIdstring<= 35 characters

Identification of a member of a clearing system.

creditorAgent.​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

debtorobject(Party)

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

debtorAccountobject(PaymentAccount)required

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

debtorAccount.​currencystring^[A-Z]{3}$

Identification of the currency in which the account is held.

debtorAccount.​identificationobject(BankingIdentifier)
debtorAccount.​namestring<= 70 characters

Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.

debtorAccount.​proxyobject(NonBankingIdentifier)
debtorAccount.​typeobject(AccountType)
debtorAgentobject(InstitutionIdentification)
expiryDateTimestring(date-time)required

Date and time at which the request to pay expires. Some schemes may still permit a payment after the request to pay expires. Upon expiry, the following schemes will reject an associated payment: ZA_RPP. The date must be formatted as defined by date-time in RFC3339

instructedAgentobject(InstitutionIdentification)
instructingAgentobject(InstitutionIdentification)
instructionForDebtorAgentArray of objects(Instruction)>= 0 items

Further information related to the processing of the payment instruction, provided by the initiating party, and intended for the debtor agent.

intermediaryAgentsArray of objects(InstitutionIdentification)<= 3 items

Agents between the debtor's agent and the creditor's agent. Usage: If more than one intermediary agent is present, then IntermediaryAgent1 identifies the agent between the DebtorAgent and the IntermediaryAgent2

paymentSchemeobject(CreditTransferPaymentScheme)required

Designates which scheme a credit transfer is associated with and describes scheme-specific information for the credit transfer.

paymentScheme.​schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
Discriminator
paymentScheme.​schemeDataobject(ZaEftSchemeData)required
paymentScheme.​schemeData.​shortenedCreditorAccountNumberstring(ShortenedAccountNumber)= 11 characters

An account number, shortened to 11 characters according to the account number reduction rules in the EFT technical standards. This field is intended for internal use by Electrum and generally should not be populated by partner implementations.

paymentScheme.​schemeData.​shortenedDebtorAccountNumberstring(ShortenedAccountNumber)= 11 characters

An account number, shortened to 11 characters according to the account number reduction rules in the EFT technical standards. This field is intended for internal use by Electrum and generally should not be populated by partner implementations.

paymentScheme.​schemeData.​userReferencestring<= 30 charactersrequired

An explanation of an EFT transaction, which will be printed on the debtor's statement for direct debits or the creditor's statement for credit transfers. Note that when populating a value for a direct debit, the first 10 characters must contain the Banks user code as configured at Bankserv. If configured, Electrum will populate this value automatically, in which case at most 20 characters should be used as a reference to avoid truncation.

paymentTypeInformationobject(PaymentTypeInformation)required
paymentTypeInformation.​localInstrumentobject(LocalInstrumentType)
previousInstructingAgentsArray of objects(InstitutionIdentification)<= 3 items

Agent(s) between the debtor's agent and the instructing agent.

purposeobject(PurposeType)

Specifies the underlying reason for the payment transaction

remittanceInformationobject(RemittanceInformation)
requestToPayConditionsobject(RequestToPayConditions)required

Describes the various aspects of a request to pay which must be accepted or to what extent they may be altered.

requestToPayConditions.​maxAmountobject(Amount)required
requestToPayConditions.​maxAmount.​currencystring^[A-Z]{3}$required

A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.

requestToPayConditions.​maxAmount.​valuenumber(double)>= 0required

The payment amount in the denomination of the indicated currency, in the format '. with the number of minor units (fractional digits) compliant with the number of decimal places published in ISO 4217.

Currency CodeExampleValidNotes
USD10.0Represents 10 USD and no cents.
USD10.00
USD10.001US dollar does not support three decimal places.
JPY10.0Represents 10 Japanese Yen.
JPY10.1Japanese Yen does not support decimal places.
requestToPayConditions.​minAmountobject(Amount)required
requestToPayConditions.​minAmount.​currencystring^[A-Z]{3}$required

A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.

requestToPayConditions.​minAmount.​valuenumber(double)>= 0required

The payment amount in the denomination of the indicated currency, in the format '. with the number of minor units (fractional digits) compliant with the number of decimal places published in ISO 4217.

Currency CodeExampleValidNotes
USD10.0Represents 10 USD and no cents.
USD10.00
USD10.001US dollar does not support three decimal places.
JPY10.0Represents 10 Japanese Yen.
JPY10.1Japanese Yen does not support decimal places.
schemastringrequired
Value"RequestToPay"
taxobject(TaxInformation)
{ "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "supplementaryData": { "property1": "string", "property2": "string" }, "transactionIdentifiers": { "endToEndIdentification": "string", "transactionIdentification": "string", "uetr": "string" }, "amounts": { "bankSettlementAmount": {}, "instructedAmount": {} }, "creditor": { "address": {}, "contactDetails": {}, "countryOfResidence": "string", "identification": {}, "knownAsName": "string", "legalName": "string" }, "creditorAccount": { "currency": "string", "identification": {}, "name": "string", "proxy": {}, "type": {} }, "creditorAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "debtor": { "address": {}, "contactDetails": {}, "countryOfResidence": "string", "identification": {}, "knownAsName": "string", "legalName": "string" }, "debtorAccount": { "currency": "string", "identification": {}, "name": "string", "proxy": {}, "type": {} }, "debtorAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "expiryDateTime": "2019-08-24T14:15:22Z", "instructedAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "instructingAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "instructionForDebtorAgent": [ {} ], "intermediaryAgents": [ {} ], "paymentScheme": { "schema": "ZA_RTC", "schemeData": {} }, "paymentTypeInformation": { "localInstrument": {} }, "previousInstructingAgents": [ {} ], "purpose": { "schema": "string", "value": "BKDF" }, "remittanceInformation": { "structured": [], "unstructured": [] }, "requestToPayConditions": { "maxAmount": {}, "minAmount": {} }, "schema": "RequestToPay", "tax": { "totalAmount": {} } }

OriginalRequestToPayData

Contains key elements related to the original request to pay that is being referred to.

amountsobject(TransactionAmounts)
creditorobject(Party)

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

creditorAccountobject(PaymentAccount)

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

creditorAgentobject(InstitutionIdentification)
debtorobject(Party)

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

debtorAccountobject(PaymentAccount)

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

debtorAgentobject(InstitutionIdentification)
expiryDateTimestring(date-time)

Date and time at which the request to pay expires. Some schemes may still permit a payment after the request to pay expires. Upon expiry, the following schemes will reject an associated payment: ZA_RPP. The date must be formatted as defined by date-time in RFC3339

paymentTypeInformationobject(PaymentTypeInformation)
remittanceInformationobject(RemittanceInformation)
requestToPayConditionsobject(RequestToPayConditions)

Describes the various aspects of a request to pay which must be accepted or to what extent they may be altered.

{ "amounts": { "bankSettlementAmount": {}, "instructedAmount": {} }, "creditor": { "address": {}, "contactDetails": {}, "countryOfResidence": "string", "identification": {}, "knownAsName": "string", "legalName": "string" }, "creditorAccount": { "currency": "string", "identification": {}, "name": "string", "proxy": {}, "type": {} }, "creditorAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "debtor": { "address": {}, "contactDetails": {}, "countryOfResidence": "string", "identification": {}, "knownAsName": "string", "legalName": "string" }, "debtorAccount": { "currency": "string", "identification": {}, "name": "string", "proxy": {}, "type": {} }, "debtorAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "expiryDateTime": "2019-08-24T14:15:22Z", "paymentTypeInformation": { "localInstrument": {} }, "remittanceInformation": { "structured": [], "unstructured": [] }, "requestToPayConditions": { "maxAmount": {}, "minAmount": {} } }

RequestToPayCancellation

Requests that a prior request to pay is cancelled if possible (e.g. it's not yet been actioned, rejected or expired).

instructedAgentobject(InstitutionIdentification)
instructingAgentobject(InstitutionIdentification)
messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

originalMessageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

originalMessageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

originalMessageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

originalRequestToPayDataobject(OriginalRequestToPayData)

Contains key elements related to the original request to pay that is being referred to.

originalTransactionIdentifiersobject(TransactionIdentifiers)required

Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.

originalTransactionIdentifiers.​endToEndIdentificationstring<= 35 charactersrequired

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. Note: this is distinct from the UETR.

originalTransactionIdentifiers.​transactionIdentificationstring<= 35 characters

Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. Usage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. Usage: The instructing agent has to make sure that the transaction identification is unique for a pre- agreed period.

originalTransactionIdentifiers.​uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference of a payment transaction. This identifier remains the same for all messages related to the same transaction.

reasonCodestringrequired

The reason the request to pay is being cancelled.

  • AC03: InvalidCreditorAccountNumber - Wrong account number in Credit Transfer.
  • AGNT: IncorrectAgent- Agent in the payment workflow is incorrect.
  • AM09: WrongAmount- Amount is not the amount agreed or expected.
  • BE16: InvalidDebtorIdentificationCode- Debtor or Ultimate Debtor identification code missing or invalid.
  • COVR: CoverCancelledOrReturned- Cover payments has either been returned or cancelled.
  • CURR: IncorrectCurrency- Currency of the payment is incorrect.
  • CUST: RequestedByCustomer- Cancellation requested by the Creditor.
  • CUTA: CancelUponUnableToApply- Cancellation requested because an investigation request has been received and no remediation is possible.
  • DS24: TimeOut- Cancellation requested because the original payment order expired due to time-out.
  • DT01: InvalidDate- Invalid date (for example, wrong or missing settlement date).
  • DUPL: DuplicatePayment- Payment is a duplicate of another payment.
  • FRAD: FraudulentOrigin- Cancellation requested following a transaction that was originated fraudulently. The use of the FraudulentOrigin code should be governed by jurisdictions.
  • FRNA: ForwardToNextAgent- To complement a rejection response, suggesting the request for cancelation should be forwarded to the next agent in the payment transaction chain.
  • FRTR: FinalResponse- Direct Debit Tracking recalled as Mandate Cancelled
  • INDM: IndemnityRequired- To express the wish to establish a bilateral indemnity agreement.
  • MODT: ModifiedTransaction- The underlying transaction in relation to an RTP was modified.
  • PAID: TransactionAlreadyPaid- The underlying transaction in relation to an RTP was already paid (via other means).
  • SVNR: ServiceNotRendered- The payment is cancelled 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.
  • SYAD: RequestToSettlementSystemAdministrator- Cancellation requested by System Member to Settlement System Administrator to indicate that the cancellation request must not be forwarded further in the chain.
  • TECH: TechnicalProblem- Cancellation requested following technical problems resulting in an erroneous transaction.
  • UPAY: UnduePayment- Payment is not justified.
  • ENUE: EndUserError- Cancellation or request for return requested by the Debtor specifically due to one or more errors by debtor in the original Credit Transfer. Usage: This code can be used for any error in the original Credit Transfer made by the Debtor. Can also be used if multiple errors were made in the original Credit Transfer.
  • UAPA: UnauthorizedPayment- "The Debtor is requesting a return of the payment because the payment was not properly authorized. Usage: This code can be used in the case where a Credit Transfer was made without proper authorization from the Debtor. This could be due to compromised end user credentials."
  • NARR: Narrative- Reason is provided as narrative information in the additional reason information.
  • AC02: InvalidDebtorAccountNumber- Debtor account number invalid or missing.
  • BIAS: BatchInstructionAlreadySettled- Process a cancellation request but batch already settled.
  • INCR: InvalidCancellationRequest- Process a cancellation request with incorrect reference to original batch.
  • DRTP: DuplicationRequestToPay- Duplication of a request-to-pay message.
Enum"AC03""AGNT""AM09""BE16""COVR""CURR""CUST""CUTA""DS24""DT01"
reasonDescriptionstring

A description of the reason the request to pay is being cancelled.

schemastringrequired
Value"RequestToPayCancellation"
{ "instructedAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "instructingAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "originalMessageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "originalRequestToPayData": { "amounts": {}, "creditor": {}, "creditorAccount": {}, "creditorAgent": {}, "debtor": {}, "debtorAccount": {}, "debtorAgent": {}, "expiryDateTime": "2019-08-24T14:15:22Z", "paymentTypeInformation": {}, "remittanceInformation": {}, "requestToPayConditions": {} }, "originalTransactionIdentifiers": { "endToEndIdentification": "string", "transactionIdentification": "string", "uetr": "string" }, "reasonCode": "AC03", "reasonDescription": "string", "schema": "RequestToPayCancellation" }

RequestToPayStatusRequest

Provides details to identify a previously submitted request to pay.

instructedAgentobject(InstitutionIdentification)
instructingAgentobject(InstitutionIdentification)
messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

originalMessageIdentifiersobject(MessageIdentifiers)

Holds a point-to-point unique message identification string as well as a message's creation date time.

originalTransactionIdentifiersobject(TransactionIdentifiers)required

Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.

originalTransactionIdentifiers.​endToEndIdentificationstring<= 35 charactersrequired

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. Note: this is distinct from the UETR.

originalTransactionIdentifiers.​transactionIdentificationstring<= 35 characters

Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. Usage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. Usage: The instructing agent has to make sure that the transaction identification is unique for a pre- agreed period.

originalTransactionIdentifiers.​uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference of a payment transaction. This identifier remains the same for all messages related to the same transaction.

schemastring
Value"RequestToPayStatusRequest"
{ "instructedAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "instructingAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "originalMessageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "originalTransactionIdentifiers": { "endToEndIdentification": "string", "transactionIdentification": "string", "uetr": "string" }, "schema": "RequestToPayStatusRequest" }

RequestToPayStatusReasonTypeCode

schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

valuestringrequired
  • AB01: AbortedClearingTimeout - Clearing process aborted due to timeout.
  • AB02: AbortedClearingFatalError - Clearing process aborted due to a fatal error.
  • AB05: TimeoutCreditorAgent - Transaction stopped due to timeout at the Creditor Agent.
  • AB06: TimeoutInstructedAgent - Transaction stopped due to timeout at the Instructed Agent.
  • AB07: OfflineAgent - Agent of message is not online. Generic usage if it cannot be determined who exactly is not online.
  • AB08: OfflineCreditorAgent - Creditor Agent is not online.
  • AB09: ErrorCreditorAgent - Transaction stopped due to error at the Creditor Agent.
  • AB10: ErrorInstructedAgent - Transaction stopped due to error at the Instructed Agent.
  • AB11: TimeoutDebtorAgent - Transaction stopped due to timeout at the Debtor Agent.
  • AC04: ClosedAccountNumber - Account number specified has been closed on the bank of account's books.
  • AC05: ClosedDebtorAccountNumber - Debtor account number closed
  • AC06: BlockedAccount - Account specified is blocked, prohibiting posting of transactions against it.
  • AC07: ClosedCreditorAccountNumber - Creditor account number closed
  • AC08: InvalidBranchCode - Branch code is invalid or missing
  • AG10: AgentSuspended - Agent of message is suspended from the Real Time Payment system. Generic usage if it cannot be determined who exactly is suspended.
  • AG11: CreditorAgentSuspended - Creditor Agent of message is suspended from the Real Time Payment system.
  • AGNT: IncorrectAgent - Agent in the payment workflow is incorrect
  • AM01: ZeroAmount - Specified message amount is equal to zero
  • AM02: NotAllowedAmount - Specific transaction/message amount is greater than allowed maximum
  • AM03: NotAllowedCurrency - Specified message amount is an non processable currency outside of existing agreement
  • AM05: Duplication - Duplication
  • AM06: TooLowAmount - Specified transaction amount is less than agreed minimum.
  • AM11: InvalidTransactionCurrency - Transaction currency is invalid or missing
  • AM12: InvalidAmount - Amount is invalid or missing
  • AM13: AmountExceedsClearingSystemLimit - Transaction amount exceeds limits set by clearing system
  • AM15: AmountBelowClearingSystemMinimum - Transaction amount below minimum set by clearing system
  • AM18: InvalidNumberOfTransactions - Number of transactions is invalid or missing. Generic usage if cannot specify between group and payment information levels.
  • BE01: InconsistenWithEndCustomer - Identification of end customer is not consistent with associated account number. (formerly CreditorConsistency).
  • BE05: UnrecognisedInitiatingParty - Party who initiated the message is not recognised by the end customer
  • BE06: UnknownEndCustomer - End customer specified is not known at associated Sort/National Bank Code or does no longer exist in the books
  • BE07: MissingDebtorAddress - Specification of debtor's address, which is required for payment, is missing/not correct.
  • BE08: MissingDebtorName - Debtor name is missing
  • BE10: InvalidDebtorCountry - Debtor country code is missing or invalid
  • BE11: InvalidCreditorCountry - Creditor country code is missing or invalid
  • BE12: InvalidCountryOfResidence - Country code of residence is missing or Invalid. Generic usage if cannot specifically identify debtor or creditor
  • BE13: InvalidDebtorCountryOfResidence - Country code of debtor's residence is missing or Invalid
  • BE14: InvalidCreditorCountryOfResidence - Country code of creditor's residence is missing or Invalid
  • BE16: InvalidDebtorIdentificationCode - Debtor or Ultimate Debtor identification code missing or invalid
  • BE17: InvalidCreditorIdentificationCode - Creditor or Ultimate Creditor identification code missing or invalid
  • BE18: InvalidContactDetails - Contact details missing or invalid
  • BE19: InvalidChargeBearerCode - Charge bearer code for transaction type is invalid
  • BE20: InvalidNameLength - Name length exceeds local rules for payment type.
  • BE22: MissingCreditorName - Creditor name is missing
  • BE23: AccountProxyInvalid - Phone number or email address, or any other proxy, used as the account proxy is unknown or invalid.
  • CH03: RequestedExecutionDateOrRequestedCollectionDateTooFarInFuture - Value in Requested Execution Date or Requested Collection Date is too far in the future
  • CH04: RequestedExecutionDateOrRequestedCollectionDateTooFarInPast - Value in Requested Execution Date or Requested Collection Date is too far in the past
  • CH21: RequiredCompulsoryElementMissing - Mandatory element is missing
  • CNOR: CreditorBankIsNotRegistered - Creditor bank is not registered under this BIC in the CSM
  • CURR: IncorrectCurrency - Currency of the payment is incorrect
  • CUST: RequestedByCustomer - Cancellation requested by the Creditor
  • DS01: ElectronicSignaturesCorrect - The electronic signature(s) is/are correct
  • DS02: OrderCancelled - An authorized user has cancelled the order
  • DS04: OrderRejected - The order was rejected by the bank side (for reasons concerning content)
  • DS0G: NotAllowedPayment - Signer is not allowed to sign this operation type.
  • DS0H: NotAllowedAccount - Signer is not allowed to sign for this account.
  • DS24: WaitingTimeExpired - Waiting time expired due to incomplete order
  • DS27: UserNotYetActivated - The user is not yet activated (technically)
  • DT01: InvalidDate - Invalid date (eg, wrong or missing settlement date)
  • DT02: InvalidCreationDate - Invalid creation date and time in Group Header (eg, historic date)
  • DT03: InvalidNonProcessingDate - Invalid non bank processing date (eg, weekend or local public holiday)
  • DU01: DuplicateMessageID - Message Identification is not unique.
  • DU02: DuplicatePaymentInformationID - Payment Information Block is not unique.
  • DU03: DuplicateTransaction - Transaction is not unique.
  • DU04: DuplicateEndToEndID - End To End ID is not unique.
  • DU05: DuplicateInstructionID - Instruction ID is not unique.
  • DUPL: DuplicatePayment - Payment is a duplicate of another payment
  • FF02: SyntaxError - Syntax error reason is provided as narrative information in the additional reason information.
  • FF03: InvalidPaymentTypeInformation - Payment Type Information is missing or invalid. Generic usage if cannot specify Service Level or Local Instrument code
  • FF05: InvalidLocalInstrumentCode - Local Instrument code is missing or invalid
  • FF08: InvalidEndToEndId - End to End Id missing or invalid
  • FF10: BankSystemProcessingError - File or transaction cannot be processed due to technical issues at the bank side
  • FF11: ClearingRequestAborted - Clearing request rejected due it being subject to an abort operation.
  • MD07: EndCustomerDeceased - End customer is deceased.
  • MS02: NotSpecifiedReasonCustomerGenerated - Reason has not been specified by end customer
  • MS03: NotSpecifiedReasonAgentGenerated - Reason has not been specified by agent.
  • NARR: Narrative - Reason is provided as narrative information in the additional reason information.
  • NERI: NoERI - Credit transfer is tagged as an Extended Remittance Information (ERI) transaction but does not contain ERI.
  • RC03: InvalidDebtorBankIdentifier - Debtor bank identifier is invalid or missing
  • RC04: InvalidCreditorBankIdentifier - Creditor bank identifier is invalid or missing
  • RC06: InvalidDebtorBICIdentifier - Debtor BIC identifier is invalid or missing
  • RC07: InvalidCreditorBICIdentifier - Creditor BIC identifier is invalid or missing
  • RC09: InvalidDebtorClearingSystemMemberIdentifier - Debtor ClearingSystemMember identifier is invalid or missing
  • RC10: InvalidCreditorClearingSystemMemberIdentifier - Creditor ClearingSystemMember identifier is invalid or missing
  • RC11: InvalidIntermediaryAgent - Intermediary Agent is invalid or missing
  • RR09: InvalidStructuredCreditorReference - Structured creditor reference invalid or missing.
  • RR10: InvalidCharacterSet - Character set supplied not valid for the country and payment type.
  • S001: UETRFlaggedForCancellation - Unique End-to-end Transaction Reference (UETR) relating to a payment has been identified as being associated with a Request for Cancellation.
  • TA01: TransmissonAborted - The transmission of the file was not successful – it had to be aborted (for technical reasons)
  • NOAR: NonAgreedRTP - No existing agreement for receiving request-to-pay messages.
  • NOCM: NotCompliantGeneric - Customer 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.
  • ALAC: AlreadyAcceptedRTP - Request-to-pay has already been accepted by the Debtor.
  • AEXR: AlreadyExpiredRTP - Request-to-pay Expiry Date and Time has already passed.
  • ARFR: AlreadyRefusedRTP - Request-to-pay has already been refused by the Debtor.
  • ARJR: AlreadyRejectedRTP - Request-to-pay has already been rejected.
  • EDTR: ExpiryDateTimeReached - Expiry date time of the request-to-pay is already reached.
  • EDTL: ExpiryDateTooLong - Expiry date time of the request-to-pay is too far in the future.
  • IEDT: IncorrectExpiryDateTime - Expiry date time of the request-to-pay is incorrect.
  • IRNR: InitialRTPNeverReceived - No initial request-to-pay has been received.
  • NRCH: PayerOrPayerRTPSPNotReachable - Recipient side of the request-to-pay (payer or its request-to-pay service provider) is not reachable.
  • RTNS: RTPNotSupportedForDebtor - Debtor does not support request-to-pay transactions.
  • PINS: TypeOfPaymentInstrumentNotSupported - Type of payment requested in the request-to-pay is not supported by the payer.
  • SVNR: ServiceNotRendered - The payment is cancelled 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.
  • UCRD: UnknownCreditor - Unknown Creditor.
Enum"AB01""AB02""AB05""AB06""AB07""AB08""AB09""AB10""AB11""AC04"
{ "schema": "string", "value": "AB01" }

RequestToPayStatusReasonType

schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

Discriminator
valuestringrequired
  • AB01: AbortedClearingTimeout - Clearing process aborted due to timeout.
  • AB02: AbortedClearingFatalError - Clearing process aborted due to a fatal error.
  • AB05: TimeoutCreditorAgent - Transaction stopped due to timeout at the Creditor Agent.
  • AB06: TimeoutInstructedAgent - Transaction stopped due to timeout at the Instructed Agent.
  • AB07: OfflineAgent - Agent of message is not online. Generic usage if it cannot be determined who exactly is not online.
  • AB08: OfflineCreditorAgent - Creditor Agent is not online.
  • AB09: ErrorCreditorAgent - Transaction stopped due to error at the Creditor Agent.
  • AB10: ErrorInstructedAgent - Transaction stopped due to error at the Instructed Agent.
  • AB11: TimeoutDebtorAgent - Transaction stopped due to timeout at the Debtor Agent.
  • AC04: ClosedAccountNumber - Account number specified has been closed on the bank of account's books.
  • AC05: ClosedDebtorAccountNumber - Debtor account number closed
  • AC06: BlockedAccount - Account specified is blocked, prohibiting posting of transactions against it.
  • AC07: ClosedCreditorAccountNumber - Creditor account number closed
  • AC08: InvalidBranchCode - Branch code is invalid or missing
  • AG10: AgentSuspended - Agent of message is suspended from the Real Time Payment system. Generic usage if it cannot be determined who exactly is suspended.
  • AG11: CreditorAgentSuspended - Creditor Agent of message is suspended from the Real Time Payment system.
  • AGNT: IncorrectAgent - Agent in the payment workflow is incorrect
  • AM01: ZeroAmount - Specified message amount is equal to zero
  • AM02: NotAllowedAmount - Specific transaction/message amount is greater than allowed maximum
  • AM03: NotAllowedCurrency - Specified message amount is an non processable currency outside of existing agreement
  • AM05: Duplication - Duplication
  • AM06: TooLowAmount - Specified transaction amount is less than agreed minimum.
  • AM11: InvalidTransactionCurrency - Transaction currency is invalid or missing
  • AM12: InvalidAmount - Amount is invalid or missing
  • AM13: AmountExceedsClearingSystemLimit - Transaction amount exceeds limits set by clearing system
  • AM15: AmountBelowClearingSystemMinimum - Transaction amount below minimum set by clearing system
  • AM18: InvalidNumberOfTransactions - Number of transactions is invalid or missing. Generic usage if cannot specify between group and payment information levels.
  • BE01: InconsistenWithEndCustomer - Identification of end customer is not consistent with associated account number. (formerly CreditorConsistency).
  • BE05: UnrecognisedInitiatingParty - Party who initiated the message is not recognised by the end customer
  • BE06: UnknownEndCustomer - End customer specified is not known at associated Sort/National Bank Code or does no longer exist in the books
  • BE07: MissingDebtorAddress - Specification of debtor's address, which is required for payment, is missing/not correct.
  • BE08: MissingDebtorName - Debtor name is missing
  • BE10: InvalidDebtorCountry - Debtor country code is missing or invalid
  • BE11: InvalidCreditorCountry - Creditor country code is missing or invalid
  • BE12: InvalidCountryOfResidence - Country code of residence is missing or Invalid. Generic usage if cannot specifically identify debtor or creditor
  • BE13: InvalidDebtorCountryOfResidence - Country code of debtor's residence is missing or Invalid
  • BE14: InvalidCreditorCountryOfResidence - Country code of creditor's residence is missing or Invalid
  • BE16: InvalidDebtorIdentificationCode - Debtor or Ultimate Debtor identification code missing or invalid
  • BE17: InvalidCreditorIdentificationCode - Creditor or Ultimate Creditor identification code missing or invalid
  • BE18: InvalidContactDetails - Contact details missing or invalid
  • BE19: InvalidChargeBearerCode - Charge bearer code for transaction type is invalid
  • BE20: InvalidNameLength - Name length exceeds local rules for payment type.
  • BE22: MissingCreditorName - Creditor name is missing
  • BE23: AccountProxyInvalid - Phone number or email address, or any other proxy, used as the account proxy is unknown or invalid.
  • CH03: RequestedExecutionDateOrRequestedCollectionDateTooFarInFuture - Value in Requested Execution Date or Requested Collection Date is too far in the future
  • CH04: RequestedExecutionDateOrRequestedCollectionDateTooFarInPast - Value in Requested Execution Date or Requested Collection Date is too far in the past
  • CH21: RequiredCompulsoryElementMissing - Mandatory element is missing
  • CNOR: CreditorBankIsNotRegistered - Creditor bank is not registered under this BIC in the CSM
  • CURR: IncorrectCurrency - Currency of the payment is incorrect
  • CUST: RequestedByCustomer - Cancellation requested by the Creditor
  • DS01: ElectronicSignaturesCorrect - The electronic signature(s) is/are correct
  • DS02: OrderCancelled - An authorized user has cancelled the order
  • DS04: OrderRejected - The order was rejected by the bank side (for reasons concerning content)
  • DS0G: NotAllowedPayment - Signer is not allowed to sign this operation type.
  • DS0H: NotAllowedAccount - Signer is not allowed to sign for this account.
  • DS24: WaitingTimeExpired - Waiting time expired due to incomplete order
  • DS27: UserNotYetActivated - The user is not yet activated (technically)
  • DT01: InvalidDate - Invalid date (eg, wrong or missing settlement date)
  • DT02: InvalidCreationDate - Invalid creation date and time in Group Header (eg, historic date)
  • DT03: InvalidNonProcessingDate - Invalid non bank processing date (eg, weekend or local public holiday)
  • DU01: DuplicateMessageID - Message Identification is not unique.
  • DU02: DuplicatePaymentInformationID - Payment Information Block is not unique.
  • DU03: DuplicateTransaction - Transaction is not unique.
  • DU04: DuplicateEndToEndID - End To End ID is not unique.
  • DU05: DuplicateInstructionID - Instruction ID is not unique.
  • DUPL: DuplicatePayment - Payment is a duplicate of another payment
  • FF02: SyntaxError - Syntax error reason is provided as narrative information in the additional reason information.
  • FF03: InvalidPaymentTypeInformation - Payment Type Information is missing or invalid. Generic usage if cannot specify Service Level or Local Instrument code
  • FF05: InvalidLocalInstrumentCode - Local Instrument code is missing or invalid
  • FF08: InvalidEndToEndId - End to End Id missing or invalid
  • FF10: BankSystemProcessingError - File or transaction cannot be processed due to technical issues at the bank side
  • FF11: ClearingRequestAborted - Clearing request rejected due it being subject to an abort operation.
  • MD07: EndCustomerDeceased - End customer is deceased.
  • MS02: NotSpecifiedReasonCustomerGenerated - Reason has not been specified by end customer
  • MS03: NotSpecifiedReasonAgentGenerated - Reason has not been specified by agent.
  • NARR: Narrative - Reason is provided as narrative information in the additional reason information.
  • NERI: NoERI - Credit transfer is tagged as an Extended Remittance Information (ERI) transaction but does not contain ERI.
  • RC03: InvalidDebtorBankIdentifier - Debtor bank identifier is invalid or missing
  • RC04: InvalidCreditorBankIdentifier - Creditor bank identifier is invalid or missing
  • RC06: InvalidDebtorBICIdentifier - Debtor BIC identifier is invalid or missing
  • RC07: InvalidCreditorBICIdentifier - Creditor BIC identifier is invalid or missing
  • RC09: InvalidDebtorClearingSystemMemberIdentifier - Debtor ClearingSystemMember identifier is invalid or missing
  • RC10: InvalidCreditorClearingSystemMemberIdentifier - Creditor ClearingSystemMember identifier is invalid or missing
  • RC11: InvalidIntermediaryAgent - Intermediary Agent is invalid or missing
  • RR09: InvalidStructuredCreditorReference - Structured creditor reference invalid or missing.
  • RR10: InvalidCharacterSet - Character set supplied not valid for the country and payment type.
  • S001: UETRFlaggedForCancellation - Unique End-to-end Transaction Reference (UETR) relating to a payment has been identified as being associated with a Request for Cancellation.
  • TA01: TransmissonAborted - The transmission of the file was not successful – it had to be aborted (for technical reasons)
  • NOAR: NonAgreedRTP - No existing agreement for receiving request-to-pay messages.
  • NOCM: NotCompliantGeneric - Customer 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.
  • ALAC: AlreadyAcceptedRTP - Request-to-pay has already been accepted by the Debtor.
  • AEXR: AlreadyExpiredRTP - Request-to-pay Expiry Date and Time has already passed.
  • ARFR: AlreadyRefusedRTP - Request-to-pay has already been refused by the Debtor.
  • ARJR: AlreadyRejectedRTP - Request-to-pay has already been rejected.
  • EDTR: ExpiryDateTimeReached - Expiry date time of the request-to-pay is already reached.
  • EDTL: ExpiryDateTooLong - Expiry date time of the request-to-pay is too far in the future.
  • IEDT: IncorrectExpiryDateTime - Expiry date time of the request-to-pay is incorrect.
  • IRNR: InitialRTPNeverReceived - No initial request-to-pay has been received.
  • NRCH: PayerOrPayerRTPSPNotReachable - Recipient side of the request-to-pay (payer or its request-to-pay service provider) is not reachable.
  • RTNS: RTPNotSupportedForDebtor - Debtor does not support request-to-pay transactions.
  • PINS: TypeOfPaymentInstrumentNotSupported - Type of payment requested in the request-to-pay is not supported by the payer.
  • SVNR: ServiceNotRendered - The payment is cancelled 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.
  • UCRD: UnknownCreditor - Unknown Creditor.
Enum"AB01""AB02""AB05""AB06""AB07""AB08""AB09""AB10""AB11""AC04"
{ "schema": "CODE", "value": "AB01" }

RequestToPayStatusReasonInfo

Provides detailed information on a status reason.

additionalInformationstring

A human friendly description of the status reason including any further details if applicable.

reasonobject(RequestToPayStatusReasonType)required
reason.​schemastringrequired

Identifies the value as being a pre-defined code. Always CODE.

Discriminator
reason.​valuestringrequired
  • AB01: AbortedClearingTimeout - Clearing process aborted due to timeout.
  • AB02: AbortedClearingFatalError - Clearing process aborted due to a fatal error.
  • AB05: TimeoutCreditorAgent - Transaction stopped due to timeout at the Creditor Agent.
  • AB06: TimeoutInstructedAgent - Transaction stopped due to timeout at the Instructed Agent.
  • AB07: OfflineAgent - Agent of message is not online. Generic usage if it cannot be determined who exactly is not online.
  • AB08: OfflineCreditorAgent - Creditor Agent is not online.
  • AB09: ErrorCreditorAgent - Transaction stopped due to error at the Creditor Agent.
  • AB10: ErrorInstructedAgent - Transaction stopped due to error at the Instructed Agent.
  • AB11: TimeoutDebtorAgent - Transaction stopped due to timeout at the Debtor Agent.
  • AC04: ClosedAccountNumber - Account number specified has been closed on the bank of account's books.
  • AC05: ClosedDebtorAccountNumber - Debtor account number closed
  • AC06: BlockedAccount - Account specified is blocked, prohibiting posting of transactions against it.
  • AC07: ClosedCreditorAccountNumber - Creditor account number closed
  • AC08: InvalidBranchCode - Branch code is invalid or missing
  • AG10: AgentSuspended - Agent of message is suspended from the Real Time Payment system. Generic usage if it cannot be determined who exactly is suspended.
  • AG11: CreditorAgentSuspended - Creditor Agent of message is suspended from the Real Time Payment system.
  • AGNT: IncorrectAgent - Agent in the payment workflow is incorrect
  • AM01: ZeroAmount - Specified message amount is equal to zero
  • AM02: NotAllowedAmount - Specific transaction/message amount is greater than allowed maximum
  • AM03: NotAllowedCurrency - Specified message amount is an non processable currency outside of existing agreement
  • AM05: Duplication - Duplication
  • AM06: TooLowAmount - Specified transaction amount is less than agreed minimum.
  • AM11: InvalidTransactionCurrency - Transaction currency is invalid or missing
  • AM12: InvalidAmount - Amount is invalid or missing
  • AM13: AmountExceedsClearingSystemLimit - Transaction amount exceeds limits set by clearing system
  • AM15: AmountBelowClearingSystemMinimum - Transaction amount below minimum set by clearing system
  • AM18: InvalidNumberOfTransactions - Number of transactions is invalid or missing. Generic usage if cannot specify between group and payment information levels.
  • BE01: InconsistenWithEndCustomer - Identification of end customer is not consistent with associated account number. (formerly CreditorConsistency).
  • BE05: UnrecognisedInitiatingParty - Party who initiated the message is not recognised by the end customer
  • BE06: UnknownEndCustomer - End customer specified is not known at associated Sort/National Bank Code or does no longer exist in the books
  • BE07: MissingDebtorAddress - Specification of debtor's address, which is required for payment, is missing/not correct.
  • BE08: MissingDebtorName - Debtor name is missing
  • BE10: InvalidDebtorCountry - Debtor country code is missing or invalid
  • BE11: InvalidCreditorCountry - Creditor country code is missing or invalid
  • BE12: InvalidCountryOfResidence - Country code of residence is missing or Invalid. Generic usage if cannot specifically identify debtor or creditor
  • BE13: InvalidDebtorCountryOfResidence - Country code of debtor's residence is missing or Invalid
  • BE14: InvalidCreditorCountryOfResidence - Country code of creditor's residence is missing or Invalid
  • BE16: InvalidDebtorIdentificationCode - Debtor or Ultimate Debtor identification code missing or invalid
  • BE17: InvalidCreditorIdentificationCode - Creditor or Ultimate Creditor identification code missing or invalid
  • BE18: InvalidContactDetails - Contact details missing or invalid
  • BE19: InvalidChargeBearerCode - Charge bearer code for transaction type is invalid
  • BE20: InvalidNameLength - Name length exceeds local rules for payment type.
  • BE22: MissingCreditorName - Creditor name is missing
  • BE23: AccountProxyInvalid - Phone number or email address, or any other proxy, used as the account proxy is unknown or invalid.
  • CH03: RequestedExecutionDateOrRequestedCollectionDateTooFarInFuture - Value in Requested Execution Date or Requested Collection Date is too far in the future
  • CH04: RequestedExecutionDateOrRequestedCollectionDateTooFarInPast - Value in Requested Execution Date or Requested Collection Date is too far in the past
  • CH21: RequiredCompulsoryElementMissing - Mandatory element is missing
  • CNOR: CreditorBankIsNotRegistered - Creditor bank is not registered under this BIC in the CSM
  • CURR: IncorrectCurrency - Currency of the payment is incorrect
  • CUST: RequestedByCustomer - Cancellation requested by the Creditor
  • DS01: ElectronicSignaturesCorrect - The electronic signature(s) is/are correct
  • DS02: OrderCancelled - An authorized user has cancelled the order
  • DS04: OrderRejected - The order was rejected by the bank side (for reasons concerning content)
  • DS0G: NotAllowedPayment - Signer is not allowed to sign this operation type.
  • DS0H: NotAllowedAccount - Signer is not allowed to sign for this account.
  • DS24: WaitingTimeExpired - Waiting time expired due to incomplete order
  • DS27: UserNotYetActivated - The user is not yet activated (technically)
  • DT01: InvalidDate - Invalid date (eg, wrong or missing settlement date)
  • DT02: InvalidCreationDate - Invalid creation date and time in Group Header (eg, historic date)
  • DT03: InvalidNonProcessingDate - Invalid non bank processing date (eg, weekend or local public holiday)
  • DU01: DuplicateMessageID - Message Identification is not unique.
  • DU02: DuplicatePaymentInformationID - Payment Information Block is not unique.
  • DU03: DuplicateTransaction - Transaction is not unique.
  • DU04: DuplicateEndToEndID - End To End ID is not unique.
  • DU05: DuplicateInstructionID - Instruction ID is not unique.
  • DUPL: DuplicatePayment - Payment is a duplicate of another payment
  • FF02: SyntaxError - Syntax error reason is provided as narrative information in the additional reason information.
  • FF03: InvalidPaymentTypeInformation - Payment Type Information is missing or invalid. Generic usage if cannot specify Service Level or Local Instrument code
  • FF05: InvalidLocalInstrumentCode - Local Instrument code is missing or invalid
  • FF08: InvalidEndToEndId - End to End Id missing or invalid
  • FF10: BankSystemProcessingError - File or transaction cannot be processed due to technical issues at the bank side
  • FF11: ClearingRequestAborted - Clearing request rejected due it being subject to an abort operation.
  • MD07: EndCustomerDeceased - End customer is deceased.
  • MS02: NotSpecifiedReasonCustomerGenerated - Reason has not been specified by end customer
  • MS03: NotSpecifiedReasonAgentGenerated - Reason has not been specified by agent.
  • NARR: Narrative - Reason is provided as narrative information in the additional reason information.
  • NERI: NoERI - Credit transfer is tagged as an Extended Remittance Information (ERI) transaction but does not contain ERI.
  • RC03: InvalidDebtorBankIdentifier - Debtor bank identifier is invalid or missing
  • RC04: InvalidCreditorBankIdentifier - Creditor bank identifier is invalid or missing
  • RC06: InvalidDebtorBICIdentifier - Debtor BIC identifier is invalid or missing
  • RC07: InvalidCreditorBICIdentifier - Creditor BIC identifier is invalid or missing
  • RC09: InvalidDebtorClearingSystemMemberIdentifier - Debtor ClearingSystemMember identifier is invalid or missing
  • RC10: InvalidCreditorClearingSystemMemberIdentifier - Creditor ClearingSystemMember identifier is invalid or missing
  • RC11: InvalidIntermediaryAgent - Intermediary Agent is invalid or missing
  • RR09: InvalidStructuredCreditorReference - Structured creditor reference invalid or missing.
  • RR10: InvalidCharacterSet - Character set supplied not valid for the country and payment type.
  • S001: UETRFlaggedForCancellation - Unique End-to-end Transaction Reference (UETR) relating to a payment has been identified as being associated with a Request for Cancellation.
  • TA01: TransmissonAborted - The transmission of the file was not successful – it had to be aborted (for technical reasons)
  • NOAR: NonAgreedRTP - No existing agreement for receiving request-to-pay messages.
  • NOCM: NotCompliantGeneric - Customer 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.
  • ALAC: AlreadyAcceptedRTP - Request-to-pay has already been accepted by the Debtor.
  • AEXR: AlreadyExpiredRTP - Request-to-pay Expiry Date and Time has already passed.
  • ARFR: AlreadyRefusedRTP - Request-to-pay has already been refused by the Debtor.
  • ARJR: AlreadyRejectedRTP - Request-to-pay has already been rejected.
  • EDTR: ExpiryDateTimeReached - Expiry date time of the request-to-pay is already reached.
  • EDTL: ExpiryDateTooLong - Expiry date time of the request-to-pay is too far in the future.
  • IEDT: IncorrectExpiryDateTime - Expiry date time of the request-to-pay is incorrect.
  • IRNR: InitialRTPNeverReceived - No initial request-to-pay has been received.
  • NRCH: PayerOrPayerRTPSPNotReachable - Recipient side of the request-to-pay (payer or its request-to-pay service provider) is not reachable.
  • RTNS: RTPNotSupportedForDebtor - Debtor does not support request-to-pay transactions.
  • PINS: TypeOfPaymentInstrumentNotSupported - Type of payment requested in the request-to-pay is not supported by the payer.
  • SVNR: ServiceNotRendered - The payment is cancelled 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.
  • UCRD: UnknownCreditor - Unknown Creditor.
Enum"AB01""AB02""AB05""AB06""AB07""AB08""AB09""AB10""AB11""AC04"
{ "additionalInformation": "string", "reason": { "schema": "string", "value": "AB01" } }

RequestToPayStatus

reasonInfoArray of objects(RequestToPayStatusReasonInfo)non-empty

A list of RequestToPayStatusReasonInfo values providing detailed reason information for the status.

statusstringrequired
  • PAID: Paid - The request to pay was approved by the debtor and the payment has been processed. Note that the outcome of the payment itself is not communicated.
  • ACCEPTED: Accepted - The request to pay was approved by the debtor but the payment has not yet been processed.
  • CANCELLED: Cancelled - Request to pay has been successfully cancelled after having received a request for cancellation.
  • EXPIRED: Expired - The request to pay has expired.
  • PENDING: Pending - The request to pay has been forwarded and an intial status report is still expected.
  • PRESENTED: Presented - The request to pay has been accepted by the payer participant and will be presented to the debtor.
  • REJECTED: Rejected - The request to pay has been rejected.
  • REFUND_IN_PROGRESS: Refund in progress - The refund of the original request to pay is currently in progress and does not yet have an outcome
  • REFUNDED: Refunded - The refund of the original request to pay has been completed successfully
Enum"PAID""ACCEPTED""CANCELLED""EXPIRED""PENDING""PRESENTED""REJECTED""REFUND_IN_PROGRESS""REFUNDED"
{ "reasonInfo": [ {} ], "status": "PAID" }

RequestToPayResponse

An extension of BaseTransactionMessage which includes additional information pertinent to an asynchronous response message. In particular, original message identifiers.

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

originalMessageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

originalMessageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

originalMessageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

transactionIdentifiersobject(TransactionIdentifiers)required

Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.

transactionIdentifiers.​endToEndIdentificationstring<= 35 charactersrequired

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. Note: this is distinct from the UETR.

transactionIdentifiers.​transactionIdentificationstring<= 35 characters

Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. Usage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. Usage: The instructing agent has to make sure that the transaction identification is unique for a pre- agreed period.

transactionIdentifiers.​uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference of a payment transaction. This identifier remains the same for all messages related to the same transaction.

instructedAgentobject(InstitutionIdentification)
instructingAgentobject(InstitutionIdentification)
originalRequestToPayDataobject(OriginalRequestToPayData)

Contains key elements related to the original request to pay that is being referred to.

requestToPayConditionsobject(RequestToPayConditions)

Describes the various aspects of a request to pay which must be accepted or to what extent they may be altered.

schemastringrequired
Value"RequestToPayResponse"
statusobject(RequestToPayStatus)required
status.​reasonInfoArray of objects(RequestToPayStatusReasonInfo)non-empty

A list of RequestToPayStatusReasonInfo values providing detailed reason information for the status.

status.​statusstringrequired
  • PAID: Paid - The request to pay was approved by the debtor and the payment has been processed. Note that the outcome of the payment itself is not communicated.
  • ACCEPTED: Accepted - The request to pay was approved by the debtor but the payment has not yet been processed.
  • CANCELLED: Cancelled - Request to pay has been successfully cancelled after having received a request for cancellation.
  • EXPIRED: Expired - The request to pay has expired.
  • PENDING: Pending - The request to pay has been forwarded and an intial status report is still expected.
  • PRESENTED: Presented - The request to pay has been accepted by the payer participant and will be presented to the debtor.
  • REJECTED: Rejected - The request to pay has been rejected.
  • REFUND_IN_PROGRESS: Refund in progress - The refund of the original request to pay is currently in progress and does not yet have an outcome
  • REFUNDED: Refunded - The refund of the original request to pay has been completed successfully
Enum"PAID""ACCEPTED""CANCELLED""EXPIRED""PENDING""PRESENTED""REJECTED""REFUND_IN_PROGRESS""REFUNDED"
{ "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "supplementaryData": { "property1": "string", "property2": "string" }, "originalMessageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "transactionIdentifiers": { "endToEndIdentification": "string", "transactionIdentification": "string", "uetr": "string" }, "instructedAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "instructingAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "originalRequestToPayData": { "amounts": {}, "creditor": {}, "creditorAccount": {}, "creditorAgent": {}, "debtor": {}, "debtorAccount": {}, "debtorAgent": {}, "expiryDateTime": "2019-08-24T14:15:22Z", "paymentTypeInformation": {}, "remittanceInformation": {}, "requestToPayConditions": {} }, "requestToPayConditions": { "maxAmount": {}, "minAmount": {} }, "schema": "RequestToPayResponse", "status": { "reasonInfo": [], "status": "PAID" } }

CreditTransferStatusRequest

Provides details to identify a previously submitted credit transfer transaction.

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

originalMessageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

originalMessageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

originalMessageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

originalTransactionIdentifiersobject(TransactionIdentifiers)required

Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.

originalTransactionIdentifiers.​endToEndIdentificationstring<= 35 charactersrequired

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. Note: this is distinct from the UETR.

originalTransactionIdentifiers.​transactionIdentificationstring<= 35 characters

Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. Usage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. Usage: The instructing agent has to make sure that the transaction identification is unique for a pre- agreed period.

originalTransactionIdentifiers.​uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference of a payment transaction. This identifier remains the same for all messages related to the same transaction.

schemastringrequired
Value"CreditTransferStatusRequest"
{ "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "originalMessageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "originalTransactionIdentifiers": { "endToEndIdentification": "string", "transactionIdentification": "string", "uetr": "string" }, "schema": "CreditTransferStatusRequest" }

OriginalErrorResponse

A model carrying information detailing a previously returned error response. If the original response included an ErrorDetail payload it is returned in the detail field.

detailobject(ErrorDetail)

A model carrying information detailing the reason for an error that occurred.

httpStatusstringrequired

The HTTP status of the HTTP response which originally communicated the error.

schemastring
Value"OriginalErrorResponse"
{ "detail": { "detail": "string", "message": "string", "schema": "ErrorDetail" }, "httpStatus": "string", "schema": "OriginalErrorResponse" }

CreditTransfer

A model containing the necessary information to request a transfer funds between a payer and a payee

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

transactionIdentifiersobject(TransactionIdentifiers)required

Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.

transactionIdentifiers.​endToEndIdentificationstring<= 35 charactersrequired

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. Note: this is distinct from the UETR.

transactionIdentifiers.​transactionIdentificationstring<= 35 characters

Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. Usage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. Usage: The instructing agent has to make sure that the transaction identification is unique for a pre- agreed period.

transactionIdentifiers.​uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference of a payment transaction. This identifier remains the same for all messages related to the same transaction.

amountsobject(TransactionAmounts)required
amounts.​bankSettlementAmountobject(Amount)required
amounts.​bankSettlementAmount.​currencystring^[A-Z]{3}$required

A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.

amounts.​bankSettlementAmount.​valuenumber(double)>= 0required

The payment amount in the denomination of the indicated currency, in the format '. with the number of minor units (fractional digits) compliant with the number of decimal places published in ISO 4217.

Currency CodeExampleValidNotes
USD10.0Represents 10 USD and no cents.
USD10.00
USD10.001US dollar does not support three decimal places.
JPY10.0Represents 10 Japanese Yen.
JPY10.1Japanese Yen does not support decimal places.
amounts.​instructedAmountobject(Amount)
creditorobject(Party)required

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

creditor.​addressobject(PostalAddress)
creditor.​contactDetailsobject(ContactDetails)
creditor.​countryOfResidencestring(CountryCode)[A-Z]{2,2}

A code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).

creditor.​identificationobject(PartyIdentification)

The identification of a party, either a person or an organisation.

creditor.​knownAsNamestring[ 1 .. 140 ] characters

The name by which this party is commonly known in day to day use. For example, a shortening of their legal name or a nickname that they commonly use. This is "non-official". However, it is acceptable for this field to be set to the same as legalName.

creditor.​legalNamestring[ 1 .. 140 ] characters

The legal name by which this party is known (the "FICA" name). This is the full name of the party as found on country-issued documentation (national identity, company registration documentation etc).

creditorAccountobject(PaymentAccount)required

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

creditorAccount.​currencystring^[A-Z]{3}$

Identification of the currency in which the account is held.

creditorAccount.​identificationobject(BankingIdentifier)
creditorAccount.​namestring<= 70 characters

Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.

creditorAccount.​proxyobject(NonBankingIdentifier)
creditorAccount.​typeobject(AccountType)
creditorAgentobject(InstitutionIdentification)required
creditorAgent.​additionalIdentificationsArray of objects(AccountIdentification)
creditorAgent.​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

creditorAgent.​branchobject(BranchIdentification)
creditorAgent.​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

creditorAgent.​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

creditorAgent.​memberIdstring<= 35 characters

Identification of a member of a clearing system.

creditorAgent.​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

debtorobject(Party)required

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

debtor.​addressobject(PostalAddress)
debtor.​contactDetailsobject(ContactDetails)
debtor.​countryOfResidencestring(CountryCode)[A-Z]{2,2}

A code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).

debtor.​identificationobject(PartyIdentification)

The identification of a party, either a person or an organisation.

debtor.​knownAsNamestring[ 1 .. 140 ] characters

The name by which this party is commonly known in day to day use. For example, a shortening of their legal name or a nickname that they commonly use. This is "non-official". However, it is acceptable for this field to be set to the same as legalName.

debtor.​legalNamestring[ 1 .. 140 ] characters

The legal name by which this party is known (the "FICA" name). This is the full name of the party as found on country-issued documentation (national identity, company registration documentation etc).

debtorAccountobject(PaymentAccount)

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

debtorAgentobject(InstitutionIdentification)required
debtorAgent.​additionalIdentificationsArray of objects(AccountIdentification)
debtorAgent.​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

debtorAgent.​branchobject(BranchIdentification)
debtorAgent.​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

debtorAgent.​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

debtorAgent.​memberIdstring<= 35 characters

Identification of a member of a clearing system.

debtorAgent.​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

instructedAgentobject(InstitutionIdentification)
instructingAgentobject(InstitutionIdentification)
instructionForCreditorAgentArray of objects(Instruction)>= 0 items

Further information related to the processing of the payment instruction, provided by the initiating party, and intended for the creditor agent.

intermediaryAgentsArray of objects(InstitutionIdentification)<= 3 items

Agents between the debtor's agent and the creditor's agent. Usage: If more than one intermediary agent is present, then IntermediaryAgent1 identifies the agent between the DebtorAgent and the IntermediaryAgent2

paymentSchemeobject(CreditTransferPaymentScheme)required

Designates which scheme a credit transfer is associated with and describes scheme-specific information for the credit transfer.

paymentScheme.​schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
Discriminator
paymentScheme.​schemeDataobject(ZaEftSchemeData)required
paymentScheme.​schemeData.​shortenedCreditorAccountNumberstring(ShortenedAccountNumber)= 11 characters

An account number, shortened to 11 characters according to the account number reduction rules in the EFT technical standards. This field is intended for internal use by Electrum and generally should not be populated by partner implementations.

paymentScheme.​schemeData.​shortenedDebtorAccountNumberstring(ShortenedAccountNumber)= 11 characters

An account number, shortened to 11 characters according to the account number reduction rules in the EFT technical standards. This field is intended for internal use by Electrum and generally should not be populated by partner implementations.

paymentScheme.​schemeData.​userReferencestring<= 30 charactersrequired

An explanation of an EFT transaction, which will be printed on the debtor's statement for direct debits or the creditor's statement for credit transfers. Note that when populating a value for a direct debit, the first 10 characters must contain the Banks user code as configured at Bankserv. If configured, Electrum will populate this value automatically, in which case at most 20 characters should be used as a reference to avoid truncation.

paymentTypeInformationobject(PaymentTypeInformation)
previousInstructingAgentsArray of objects(InstitutionIdentification)<= 3 items

Agent(s) between the debtor's agent and the instructing agent.

purposeobject(PurposeType)

Specifies the underlying reason for the payment transaction

remittanceInformationobject(RemittanceInformation)
schemastringrequired
Value"CreditTransfer"
settlementDatestring(date)

Date on which the amount of money ceases to be available to the agent that owes it and when the amount of money becomes available to the agent to which it is due.

taxobject(TaxInformation)
{ "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "supplementaryData": { "property1": "string", "property2": "string" }, "transactionIdentifiers": { "endToEndIdentification": "string", "transactionIdentification": "string", "uetr": "string" }, "amounts": { "bankSettlementAmount": {}, "instructedAmount": {} }, "creditor": { "address": {}, "contactDetails": {}, "countryOfResidence": "string", "identification": {}, "knownAsName": "string", "legalName": "string" }, "creditorAccount": { "currency": "string", "identification": {}, "name": "string", "proxy": {}, "type": {} }, "creditorAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "debtor": { "address": {}, "contactDetails": {}, "countryOfResidence": "string", "identification": {}, "knownAsName": "string", "legalName": "string" }, "debtorAccount": { "currency": "string", "identification": {}, "name": "string", "proxy": {}, "type": {} }, "debtorAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "instructedAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "instructingAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "instructionForCreditorAgent": [ {} ], "intermediaryAgents": [ {} ], "paymentScheme": { "schema": "ZA_RTC", "schemeData": {} }, "paymentTypeInformation": { "localInstrument": {} }, "previousInstructingAgents": [ {} ], "purpose": { "schema": "string", "value": "BKDF" }, "remittanceInformation": { "structured": [], "unstructured": [] }, "schema": "CreditTransfer", "settlementDate": "2019-08-24", "tax": { "totalAmount": {} } }

DeterminationRequest

schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
Discriminator
identifierany(ZaRppIdentifier)required
identifier.​namespacestring[ 1 .. 40 ] characters

An identifier's namespace provides a context for the identifier to distinguish different identifiers which may have the same value but be intended to identify different accounts. For example, a bank may use the same MSISDN (identifier) with different namespaces to distinguish between a customer's cheque or savings accounts.

This may be used by the following schemes:

  • ZA_RPP
identifier.​schemastring

Indicates the schema of the identifier, e.g. MOBILE, CUSTOM.

Discriminator
identifier.​valuestring[ 1 .. 2048 ] charactersrequired
instructedAgentobject(InstitutionIdentification)
instructingAgentobject(InstitutionIdentification)
requestorobject(ZaRppRequestor)
uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference. This identifier remains the same for all messages related to the same transaction.

verificationIdentificationstring[ 1 .. 35 ] charactersrequired

Unique identifier for this specific verification request.

{ "schema": "ZA_RPP", "identifier": { "namespace": "string", "schema": "string", "value": "string" }, "instructedAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "instructingAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "requestor": { "schema": "string" }, "uetr": "string", "verificationIdentification": "string" }

ZaRppIdentifier

namespacestring[ 1 .. 40 ] characters

An identifier's namespace provides a context for the identifier to distinguish different identifiers which may have the same value but be intended to identify different accounts. For example, a bank may use the same MSISDN (identifier) with different namespaces to distinguish between a customer's cheque or savings accounts.

This may be used by the following schemes:

  • ZA_RPP
schemastring

Indicates the schema of the identifier, e.g. MOBILE, CUSTOM.

Discriminator
valuestring[ 1 .. 2048 ] charactersrequired
{ "namespace": "string", "schema": "CUSTOM", "value": "string" }

ZaRppRequestor

schemastring
Discriminator
additionalIdentificationsArray of objects(AccountIdentification)
bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

branchobject(BranchIdentification)
companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

memberIdstring<= 35 characters

Identification of a member of a clearing system.

namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

domainstring<= 35 characters

A BankservAfrica-specific field requirement that associates this institution with a specific "domain"

  • which is essentially a type of namespace. This is the equivalent of the Electrum 'namespace' found on Non-Banking Identifiers, such as a MobileIdentifier
{ "schema": "INSTITUTION_IDENTIFICATION", "additionalIdentifications": [ {} ], "bicfi": "string", "branch": { "address": {}, "identification": "string", "name": "string" }, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string", "domain": "string" }

InstitutionIdentificationWithSchemaAndDomain

schemastring
Discriminator
additionalIdentificationsArray of objects(AccountIdentification)
bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

branchobject(BranchIdentification)
companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

memberIdstring<= 35 characters

Identification of a member of a clearing system.

namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

domainstring<= 35 characters

A BankservAfrica-specific field requirement that associates this institution with a specific "domain"

  • which is essentially a type of namespace. This is the equivalent of the Electrum 'namespace' found on Non-Banking Identifiers, such as a MobileIdentifier
{ "schema": "INSTITUTION_IDENTIFICATION", "additionalIdentifications": [ {} ], "bicfi": "string", "branch": { "address": {}, "identification": "string", "name": "string" }, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string", "domain": "string" }

PartyWithSchema

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

schemastring
Discriminator
additionalIdentificationsArray of objects(AccountIdentification)
bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

branchobject(BranchIdentification)
companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

memberIdstring<= 35 characters

Identification of a member of a clearing system.

namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

domainstring<= 35 characters

A BankservAfrica-specific field requirement that associates this institution with a specific "domain"

  • which is essentially a type of namespace. This is the equivalent of the Electrum 'namespace' found on Non-Banking Identifiers, such as a MobileIdentifier
{ "schema": "INSTITUTION_IDENTIFICATION", "additionalIdentifications": [ {} ], "bicfi": "string", "branch": { "address": {}, "identification": "string", "name": "string" }, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string", "domain": "string" }

ZaRppDeterminationRequest

schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
Discriminator
identifierany(ZaRppIdentifier)required
identifier.​namespacestring[ 1 .. 40 ] characters

An identifier's namespace provides a context for the identifier to distinguish different identifiers which may have the same value but be intended to identify different accounts. For example, a bank may use the same MSISDN (identifier) with different namespaces to distinguish between a customer's cheque or savings accounts.

This may be used by the following schemes:

  • ZA_RPP
identifier.​schemastring

Indicates the schema of the identifier, e.g. MOBILE, CUSTOM.

Discriminator
identifier.​valuestring[ 1 .. 2048 ] charactersrequired
instructedAgentobject(InstitutionIdentification)
instructingAgentobject(InstitutionIdentification)
requestorobject(ZaRppRequestor)
uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference. This identifier remains the same for all messages related to the same transaction.

verificationIdentificationstring[ 1 .. 35 ] charactersrequired

Unique identifier for this specific verification request.

{ "schema": "ZA_RPP", "identifier": { "namespace": "string", "schema": "string", "value": "string" }, "instructedAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "instructingAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "requestor": { "schema": "string" }, "uetr": "string", "verificationIdentification": "string" }

IdentifierDeterminationRequest

A model containing the foundational elements shared across messages and generally expected in a message used during processing with the Electrum Regulated Payments API.

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

requestobject(DeterminationRequest)required
request.​schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
Discriminator
request.​identifierany(ZaRppIdentifier)required
request.​identifier.​namespacestring[ 1 .. 40 ] characters

An identifier's namespace provides a context for the identifier to distinguish different identifiers which may have the same value but be intended to identify different accounts. For example, a bank may use the same MSISDN (identifier) with different namespaces to distinguish between a customer's cheque or savings accounts.

This may be used by the following schemes:

  • ZA_RPP
request.​identifier.​schemastring

Indicates the schema of the identifier, e.g. MOBILE, CUSTOM.

Discriminator
request.​identifier.​valuestring[ 1 .. 2048 ] charactersrequired
request.​instructedAgentobject(InstitutionIdentification)
request.​instructingAgentobject(InstitutionIdentification)
request.​requestorobject(ZaRppRequestor)
request.​uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference. This identifier remains the same for all messages related to the same transaction.

request.​verificationIdentificationstring[ 1 .. 35 ] charactersrequired

Unique identifier for this specific verification request.

schemastringrequired
Value"IdentifierDeterminationRequest"
{ "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "supplementaryData": { "property1": "string", "property2": "string" }, "request": { "schema": "ZA_RTC" }, "schema": "IdentifierDeterminationRequest" }

IdentifierDeterminationReport

schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
Discriminator
instructedAgentobject(InstitutionIdentification)
instructingAgentobject(InstitutionIdentification)
instructionForCreatorAgentArray of objects(Instruction)>= 0 items

Further information related to the proxy resolution response, provided by the Operator, and intended for the creator agent.

originalRequestorobject(ZaRppRequestor)
originalUetrstring(UUID)required

The universally unique identifier provided in the original request as an end-to-end reference. This identifier remains the same for all messages related to the same transaction.

originalVerificationIdentificationstring[ 1 .. 35 ] charactersrequired

The request.verificationIdentification as provided in the original request.

reportInformationobject(ZaRppIdentificationReport)required

A report providing information from the lookup of a proxy in the context of the ZA RPP Payment Scheme.

This report returns information required to proceed with the clearing of funds through the use of the proxy (identifier) provided in the identifier determination request. Specifically, this report will provide the outcome of the lookup of said identifier, indication whether it is valid or not, as well as provide the name ("known as name") of the creditor, and the legal name of the creditor (both of these are mandatory in the ZA RPP Payment Scheme, despite not being mandatory in this API), namely:

  • accountOwner.knownAsName
  • accountOwner.legalName
reportInformation.​accountAgentobject(InstitutionIdentification)
reportInformation.​accountInformationobject(ZaRppAccountInformation)
reportInformation.​accountOwnerobject(Party)

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

reportInformation.​outcomestringrequired
Enum"SUCCESSFUL""FAILED"
reportInformation.​reasonCodestring[ 1 .. 4 ] characters
  • AB06 : Transaction stopped due to timeout at the Instructed Agent.
  • AB07 : Agent of message is not online. Generic usage if it cannot be determined who exactly is not online.
  • AB10 : An error occured at the instructed agent
  • AC06 : Account specified is blocked, prohibiting posting of transactions against it
  • AG01 : Transaction forbidden on this type of account
  • AG03 : Transaction type not supported/authorized on this account.
  • AG10 : Agent of message is suspended from the Real Time Payment system. Generic usage if it cannot be determined who exactly is suspended.
  • AGNT : Agent in the payment workflow is incorrect
  • AM02 : Specific transaction/message amount is greater than allowed maximum (e.g. payee proxy participant service limit exceeded
  • CH21 : Mandatory element is missing .
  • DT02 : Invalid creation date and time in Group Header (eg, historic date) .
  • DU03 : Transaction is not unique.
  • DUPL : Request is a duplicate of another request
  • FF02 : Syntax error reason is provided as narrative information in the additional reason information.
  • FF08 : End to End Id missing or invalid .
  • NAUT : Permission to be processed is not granted
  • NOOR : Original SCT never received
  • PD01 : Domain not found or invalid
  • PD02 : Suspended Domain provided is suspended pending investigation
  • BE23 : Phone number or email address, or any other proxy, used as the account proxy is unknown or invalid.
  • PX03 : Proxy not found in central repository
  • PX04 : Format of proxy invalid
  • RC05 : BIC identifier is invalid or missing.
  • RC08 : ClearingSystemMemberidentifier is invalid or missing. Generic usage if cannot specify between debit or credit account .
  • RR10 : Character set supplied not valid for the country and payment type.
  • RR12 : Invalid or missing identification required within a particular country or payment type.
  • RF01 : Transaction reference is not unique within the message.
  • AC16 : Account in Sequestration
  • AC17 : Account in Liquidation
  • AC04 : Account Closed
  • AC01 : Format of the account number specified is not correct
  • MD07 : Account Holder Deceased
  • NOCM : Customer 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.
  • BE01 : Identification of end customer is not consistent with associated account number. (formerly CreditorConsistency).
reportInformation.​transactionLimitobject(Amount)
{ "schema": "ZA_RPP", "instructedAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "instructingAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "instructionForCreatorAgent": [ {} ], "originalRequestor": { "schema": "string" }, "originalUetr": "string", "originalVerificationIdentification": "string", "reportInformation": { "accountAgent": {}, "accountInformation": {}, "accountOwner": {}, "outcome": "SUCCESSFUL", "reasonCode": "stri", "transactionLimit": {} } }

ZaRppAccountInformation

creationDatestring(date-time)required

The date when the account referenced by this proxy identifier was created.

proxyobject(NonBankingIdentifier)
traditionalAccountTypeobject(AccountType)
traditionalIdentifierobject(BankingIdentifier)required
traditionalIdentifier.​issuerstring<= 35 characters

The entity that assigns the identification

traditionalIdentifier.​schemastringrequired

Identifies this account identifier as generic, always GENERIC

Discriminator
traditionalIdentifier.​schemeobject(GenericAccountIdentificationScheme)

Identifies the scheme that defines the identification of a generic account.

traditionalIdentifier.​valuestring[ 1 .. 40 ] charactersrequired
{ "creationDate": "2019-08-24T14:15:22Z", "proxy": { "namespace": "string", "schema": "string" }, "traditionalAccountType": { "schema": "string", "value": "CACC" }, "traditionalIdentifier": { "schema": "string", "value": "string" } }

ZaRppIdentificationReport

A report providing information from the lookup of a proxy in the context of the ZA RPP Payment Scheme.

This report returns information required to proceed with the clearing of funds through the use of the proxy (identifier) provided in the identifier determination request. Specifically, this report will provide the outcome of the lookup of said identifier, indication whether it is valid or not, as well as provide the name ("known as name") of the creditor, and the legal name of the creditor (both of these are mandatory in the ZA RPP Payment Scheme, despite not being mandatory in this API), namely:

  • accountOwner.knownAsName
  • accountOwner.legalName
accountAgentobject(InstitutionIdentification)
accountInformationobject(ZaRppAccountInformation)
accountOwnerobject(Party)

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

outcomestringrequired
Enum"SUCCESSFUL""FAILED"
reasonCodestring[ 1 .. 4 ] characters
  • AB06 : Transaction stopped due to timeout at the Instructed Agent.
  • AB07 : Agent of message is not online. Generic usage if it cannot be determined who exactly is not online.
  • AB10 : An error occured at the instructed agent
  • AC06 : Account specified is blocked, prohibiting posting of transactions against it
  • AG01 : Transaction forbidden on this type of account
  • AG03 : Transaction type not supported/authorized on this account.
  • AG10 : Agent of message is suspended from the Real Time Payment system. Generic usage if it cannot be determined who exactly is suspended.
  • AGNT : Agent in the payment workflow is incorrect
  • AM02 : Specific transaction/message amount is greater than allowed maximum (e.g. payee proxy participant service limit exceeded
  • CH21 : Mandatory element is missing .
  • DT02 : Invalid creation date and time in Group Header (eg, historic date) .
  • DU03 : Transaction is not unique.
  • DUPL : Request is a duplicate of another request
  • FF02 : Syntax error reason is provided as narrative information in the additional reason information.
  • FF08 : End to End Id missing or invalid .
  • NAUT : Permission to be processed is not granted
  • NOOR : Original SCT never received
  • PD01 : Domain not found or invalid
  • PD02 : Suspended Domain provided is suspended pending investigation
  • BE23 : Phone number or email address, or any other proxy, used as the account proxy is unknown or invalid.
  • PX03 : Proxy not found in central repository
  • PX04 : Format of proxy invalid
  • RC05 : BIC identifier is invalid or missing.
  • RC08 : ClearingSystemMemberidentifier is invalid or missing. Generic usage if cannot specify between debit or credit account .
  • RR10 : Character set supplied not valid for the country and payment type.
  • RR12 : Invalid or missing identification required within a particular country or payment type.
  • RF01 : Transaction reference is not unique within the message.
  • AC16 : Account in Sequestration
  • AC17 : Account in Liquidation
  • AC04 : Account Closed
  • AC01 : Format of the account number specified is not correct
  • MD07 : Account Holder Deceased
  • NOCM : Customer 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.
  • BE01 : Identification of end customer is not consistent with associated account number. (formerly CreditorConsistency).
transactionLimitobject(Amount)
{ "accountAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "accountInformation": { "creationDate": "2019-08-24T14:15:22Z", "proxy": {}, "traditionalAccountType": {}, "traditionalIdentifier": {} }, "accountOwner": { "address": {}, "contactDetails": {}, "countryOfResidence": "string", "identification": {}, "knownAsName": "string", "legalName": "string" }, "outcome": "SUCCESSFUL", "reasonCode": "stri", "transactionLimit": { "currency": "string", "value": 0.1 } }

ZaRppIdentifierDeterminationReport

schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
Discriminator
instructedAgentobject(InstitutionIdentification)
instructingAgentobject(InstitutionIdentification)
instructionForCreatorAgentArray of objects(Instruction)>= 0 items

Further information related to the proxy resolution response, provided by the Operator, and intended for the creator agent.

originalRequestorobject(ZaRppRequestor)
originalUetrstring(UUID)required

The universally unique identifier provided in the original request as an end-to-end reference. This identifier remains the same for all messages related to the same transaction.

originalVerificationIdentificationstring[ 1 .. 35 ] charactersrequired

The request.verificationIdentification as provided in the original request.

reportInformationobject(ZaRppIdentificationReport)required

A report providing information from the lookup of a proxy in the context of the ZA RPP Payment Scheme.

This report returns information required to proceed with the clearing of funds through the use of the proxy (identifier) provided in the identifier determination request. Specifically, this report will provide the outcome of the lookup of said identifier, indication whether it is valid or not, as well as provide the name ("known as name") of the creditor, and the legal name of the creditor (both of these are mandatory in the ZA RPP Payment Scheme, despite not being mandatory in this API), namely:

  • accountOwner.knownAsName
  • accountOwner.legalName
reportInformation.​accountAgentobject(InstitutionIdentification)
reportInformation.​accountInformationobject(ZaRppAccountInformation)
reportInformation.​accountOwnerobject(Party)

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

reportInformation.​outcomestringrequired
Enum"SUCCESSFUL""FAILED"
reportInformation.​reasonCodestring[ 1 .. 4 ] characters
  • AB06 : Transaction stopped due to timeout at the Instructed Agent.
  • AB07 : Agent of message is not online. Generic usage if it cannot be determined who exactly is not online.
  • AB10 : An error occured at the instructed agent
  • AC06 : Account specified is blocked, prohibiting posting of transactions against it
  • AG01 : Transaction forbidden on this type of account
  • AG03 : Transaction type not supported/authorized on this account.
  • AG10 : Agent of message is suspended from the Real Time Payment system. Generic usage if it cannot be determined who exactly is suspended.
  • AGNT : Agent in the payment workflow is incorrect
  • AM02 : Specific transaction/message amount is greater than allowed maximum (e.g. payee proxy participant service limit exceeded
  • CH21 : Mandatory element is missing .
  • DT02 : Invalid creation date and time in Group Header (eg, historic date) .
  • DU03 : Transaction is not unique.
  • DUPL : Request is a duplicate of another request
  • FF02 : Syntax error reason is provided as narrative information in the additional reason information.
  • FF08 : End to End Id missing or invalid .
  • NAUT : Permission to be processed is not granted
  • NOOR : Original SCT never received
  • PD01 : Domain not found or invalid
  • PD02 : Suspended Domain provided is suspended pending investigation
  • BE23 : Phone number or email address, or any other proxy, used as the account proxy is unknown or invalid.
  • PX03 : Proxy not found in central repository
  • PX04 : Format of proxy invalid
  • RC05 : BIC identifier is invalid or missing.
  • RC08 : ClearingSystemMemberidentifier is invalid or missing. Generic usage if cannot specify between debit or credit account .
  • RR10 : Character set supplied not valid for the country and payment type.
  • RR12 : Invalid or missing identification required within a particular country or payment type.
  • RF01 : Transaction reference is not unique within the message.
  • AC16 : Account in Sequestration
  • AC17 : Account in Liquidation
  • AC04 : Account Closed
  • AC01 : Format of the account number specified is not correct
  • MD07 : Account Holder Deceased
  • NOCM : Customer 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.
  • BE01 : Identification of end customer is not consistent with associated account number. (formerly CreditorConsistency).
reportInformation.​transactionLimitobject(Amount)
{ "schema": "ZA_RPP", "instructedAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "instructingAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "instructionForCreatorAgent": [ {} ], "originalRequestor": { "schema": "string" }, "originalUetr": "string", "originalVerificationIdentification": "string", "reportInformation": { "accountAgent": {}, "accountInformation": {}, "accountOwner": {}, "outcome": "SUCCESSFUL", "reasonCode": "stri", "transactionLimit": {} } }

IdentifierDeterminationResponse

An extension of BaseMessage which includes additional information pertinent to an asynchronous response message. In particular, original message identifiers.

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

originalMessageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

originalMessageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

originalMessageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

reportobject(IdentifierDeterminationReport)required
report.​schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
Discriminator
report.​instructedAgentobject(InstitutionIdentification)
report.​instructingAgentobject(InstitutionIdentification)
report.​instructionForCreatorAgentArray of objects(Instruction)>= 0 items

Further information related to the proxy resolution response, provided by the Operator, and intended for the creator agent.

report.​originalRequestorobject(ZaRppRequestor)
report.​originalUetrstring(UUID)required

The universally unique identifier provided in the original request as an end-to-end reference. This identifier remains the same for all messages related to the same transaction.

report.​originalVerificationIdentificationstring[ 1 .. 35 ] charactersrequired

The request.verificationIdentification as provided in the original request.

report.​reportInformationobject(ZaRppIdentificationReport)required

A report providing information from the lookup of a proxy in the context of the ZA RPP Payment Scheme.

This report returns information required to proceed with the clearing of funds through the use of the proxy (identifier) provided in the identifier determination request. Specifically, this report will provide the outcome of the lookup of said identifier, indication whether it is valid or not, as well as provide the name ("known as name") of the creditor, and the legal name of the creditor (both of these are mandatory in the ZA RPP Payment Scheme, despite not being mandatory in this API), namely:

  • accountOwner.knownAsName
  • accountOwner.legalName
report.​reportInformation.​accountAgentobject(InstitutionIdentification)
report.​reportInformation.​accountInformationobject(ZaRppAccountInformation)
report.​reportInformation.​accountOwnerobject(Party)

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

report.​reportInformation.​outcomestringrequired
Enum"SUCCESSFUL""FAILED"
report.​reportInformation.​reasonCodestring[ 1 .. 4 ] characters
  • AB06 : Transaction stopped due to timeout at the Instructed Agent.
  • AB07 : Agent of message is not online. Generic usage if it cannot be determined who exactly is not online.
  • AB10 : An error occured at the instructed agent
  • AC06 : Account specified is blocked, prohibiting posting of transactions against it
  • AG01 : Transaction forbidden on this type of account
  • AG03 : Transaction type not supported/authorized on this account.
  • AG10 : Agent of message is suspended from the Real Time Payment system. Generic usage if it cannot be determined who exactly is suspended.
  • AGNT : Agent in the payment workflow is incorrect
  • AM02 : Specific transaction/message amount is greater than allowed maximum (e.g. payee proxy participant service limit exceeded
  • CH21 : Mandatory element is missing .
  • DT02 : Invalid creation date and time in Group Header (eg, historic date) .
  • DU03 : Transaction is not unique.
  • DUPL : Request is a duplicate of another request
  • FF02 : Syntax error reason is provided as narrative information in the additional reason information.
  • FF08 : End to End Id missing or invalid .
  • NAUT : Permission to be processed is not granted
  • NOOR : Original SCT never received
  • PD01 : Domain not found or invalid
  • PD02 : Suspended Domain provided is suspended pending investigation
  • BE23 : Phone number or email address, or any other proxy, used as the account proxy is unknown or invalid.
  • PX03 : Proxy not found in central repository
  • PX04 : Format of proxy invalid
  • RC05 : BIC identifier is invalid or missing.
  • RC08 : ClearingSystemMemberidentifier is invalid or missing. Generic usage if cannot specify between debit or credit account .
  • RR10 : Character set supplied not valid for the country and payment type.
  • RR12 : Invalid or missing identification required within a particular country or payment type.
  • RF01 : Transaction reference is not unique within the message.
  • AC16 : Account in Sequestration
  • AC17 : Account in Liquidation
  • AC04 : Account Closed
  • AC01 : Format of the account number specified is not correct
  • MD07 : Account Holder Deceased
  • NOCM : Customer 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.
  • BE01 : Identification of end customer is not consistent with associated account number. (formerly CreditorConsistency).
report.​reportInformation.​transactionLimitobject(Amount)
schemastringrequired
Value"IdentifierDeterminationResponse"
{ "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "supplementaryData": { "property1": "string", "property2": "string" }, "originalMessageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "report": { "schema": "ZA_RTC" }, "schema": "IdentifierDeterminationResponse" }

CreditTransferInitiationInstruction

A model containing information required to initiate a credit disbursement

amountsobject(TransactionAmounts)required
amounts.​bankSettlementAmountobject(Amount)required
amounts.​bankSettlementAmount.​currencystring^[A-Z]{3}$required

A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.

amounts.​bankSettlementAmount.​valuenumber(double)>= 0required

The payment amount in the denomination of the indicated currency, in the format '. with the number of minor units (fractional digits) compliant with the number of decimal places published in ISO 4217.

Currency CodeExampleValidNotes
USD10.0Represents 10 USD and no cents.
USD10.00
USD10.001US dollar does not support three decimal places.
JPY10.0Represents 10 Japanese Yen.
JPY10.1Japanese Yen does not support decimal places.
amounts.​instructedAmountobject(Amount)
creditorobject(Party)required

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

creditor.​addressobject(PostalAddress)
creditor.​contactDetailsobject(ContactDetails)
creditor.​countryOfResidencestring(CountryCode)[A-Z]{2,2}

A code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).

creditor.​identificationobject(PartyIdentification)

The identification of a party, either a person or an organisation.

creditor.​knownAsNamestring[ 1 .. 140 ] characters

The name by which this party is commonly known in day to day use. For example, a shortening of their legal name or a nickname that they commonly use. This is "non-official". However, it is acceptable for this field to be set to the same as legalName.

creditor.​legalNamestring[ 1 .. 140 ] characters

The legal name by which this party is known (the "FICA" name). This is the full name of the party as found on country-issued documentation (national identity, company registration documentation etc).

creditorAccountobject(PaymentAccount)required

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

creditorAccount.​currencystring^[A-Z]{3}$

Identification of the currency in which the account is held.

creditorAccount.​identificationobject(BankingIdentifier)
creditorAccount.​namestring<= 70 characters

Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.

creditorAccount.​proxyobject(NonBankingIdentifier)
creditorAccount.​typeobject(AccountType)
creditorAgentobject(InstitutionIdentification)required
creditorAgent.​additionalIdentificationsArray of objects(AccountIdentification)
creditorAgent.​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

creditorAgent.​branchobject(BranchIdentification)
creditorAgent.​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

creditorAgent.​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

creditorAgent.​memberIdstring<= 35 characters

Identification of a member of a clearing system.

creditorAgent.​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

instructionForCreditorAgentArray of objects(Instruction)>= 0 items

Further information related to the processing of the payment instruction, provided by the initiating party, and intended for the creditor agent.

paymentSchemeobject(CreditTransferPaymentScheme)required

Designates which scheme a credit transfer is associated with and describes scheme-specific information for the credit transfer.

paymentScheme.​schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
Discriminator
paymentScheme.​schemeDataobject(ZaEftSchemeData)required
paymentScheme.​schemeData.​shortenedCreditorAccountNumberstring(ShortenedAccountNumber)= 11 characters

An account number, shortened to 11 characters according to the account number reduction rules in the EFT technical standards. This field is intended for internal use by Electrum and generally should not be populated by partner implementations.

paymentScheme.​schemeData.​shortenedDebtorAccountNumberstring(ShortenedAccountNumber)= 11 characters

An account number, shortened to 11 characters according to the account number reduction rules in the EFT technical standards. This field is intended for internal use by Electrum and generally should not be populated by partner implementations.

paymentScheme.​schemeData.​userReferencestring<= 30 charactersrequired

An explanation of an EFT transaction, which will be printed on the debtor's statement for direct debits or the creditor's statement for credit transfers. Note that when populating a value for a direct debit, the first 10 characters must contain the Banks user code as configured at Bankserv. If configured, Electrum will populate this value automatically, in which case at most 20 characters should be used as a reference to avoid truncation.

paymentTypeInformationobject(PaymentTypeInformation)
purposeobject(PurposeType)

Specifies the underlying reason for the payment transaction

remittanceInformationobject(RemittanceInformation)
supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

taxobject(TaxInformation)
transactionIdentifiersobject(TransactionIdentifiers)required

Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.

transactionIdentifiers.​endToEndIdentificationstring<= 35 charactersrequired

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. Note: this is distinct from the UETR.

transactionIdentifiers.​transactionIdentificationstring<= 35 characters

Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. Usage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. Usage: The instructing agent has to make sure that the transaction identification is unique for a pre- agreed period.

transactionIdentifiers.​uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference of a payment transaction. This identifier remains the same for all messages related to the same transaction.

{ "amounts": { "bankSettlementAmount": {}, "instructedAmount": {} }, "creditor": { "address": {}, "contactDetails": {}, "countryOfResidence": "string", "identification": {}, "knownAsName": "string", "legalName": "string" }, "creditorAccount": { "currency": "string", "identification": {}, "name": "string", "proxy": {}, "type": {} }, "creditorAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "instructionForCreditorAgent": [ {} ], "paymentScheme": { "schema": "ZA_RTC", "schemeData": {} }, "paymentTypeInformation": { "localInstrument": {} }, "purpose": { "schema": "string", "value": "BKDF" }, "remittanceInformation": { "structured": [], "unstructured": [] }, "supplementaryData": { "property1": "string", "property2": "string" }, "tax": { "totalAmount": {} }, "transactionIdentifiers": { "endToEndIdentification": "string", "transactionIdentification": "string", "uetr": "string" } }

CreditTransferInitiation

A model containing the necessary information to request the initiation of multiple credit disbursements from a single debtor

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

controlSumobject(Amount)required
controlSum.​currencystring^[A-Z]{3}$required

A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.

controlSum.​valuenumber(double)>= 0required

The payment amount in the denomination of the indicated currency, in the format '. with the number of minor units (fractional digits) compliant with the number of decimal places published in ISO 4217.

Currency CodeExampleValidNotes
USD10.0Represents 10 USD and no cents.
USD10.00
USD10.001US dollar does not support three decimal places.
JPY10.0Represents 10 Japanese Yen.
JPY10.1Japanese Yen does not support decimal places.
creditTransferInitiationInstructionsArray of objects(CreditTransferInitiationInstruction)non-emptyrequired

List of instructions to initiate each credit transfer within the bulk with other financial institutions or the partner bank

creditTransferInitiationInstructions[].​amountsobject(TransactionAmounts)required
creditTransferInitiationInstructions[].​amounts.​bankSettlementAmountobject(Amount)required
creditTransferInitiationInstructions[].​amounts.​bankSettlementAmount.​currencystring^[A-Z]{3}$required

A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.

creditTransferInitiationInstructions[].​amounts.​bankSettlementAmount.​valuenumber(double)>= 0required

The payment amount in the denomination of the indicated currency, in the format '. with the number of minor units (fractional digits) compliant with the number of decimal places published in ISO 4217.

Currency CodeExampleValidNotes
USD10.0Represents 10 USD and no cents.
USD10.00
USD10.001US dollar does not support three decimal places.
JPY10.0Represents 10 Japanese Yen.
JPY10.1Japanese Yen does not support decimal places.
creditTransferInitiationInstructions[].​amounts.​instructedAmountobject(Amount)
creditTransferInitiationInstructions[].​creditorobject(Party)required

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

creditTransferInitiationInstructions[].​creditor.​addressobject(PostalAddress)
creditTransferInitiationInstructions[].​creditor.​contactDetailsobject(ContactDetails)
creditTransferInitiationInstructions[].​creditor.​countryOfResidencestring(CountryCode)[A-Z]{2,2}

A code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).

creditTransferInitiationInstructions[].​creditor.​identificationobject(PartyIdentification)

The identification of a party, either a person or an organisation.

creditTransferInitiationInstructions[].​creditor.​knownAsNamestring[ 1 .. 140 ] characters

The name by which this party is commonly known in day to day use. For example, a shortening of their legal name or a nickname that they commonly use. This is "non-official". However, it is acceptable for this field to be set to the same as legalName.

creditTransferInitiationInstructions[].​creditor.​legalNamestring[ 1 .. 140 ] characters

The legal name by which this party is known (the "FICA" name). This is the full name of the party as found on country-issued documentation (national identity, company registration documentation etc).

creditTransferInitiationInstructions[].​creditorAccountobject(PaymentAccount)required

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

creditTransferInitiationInstructions[].​creditorAccount.​currencystring^[A-Z]{3}$

Identification of the currency in which the account is held.

creditTransferInitiationInstructions[].​creditorAccount.​identificationobject(BankingIdentifier)
creditTransferInitiationInstructions[].​creditorAccount.​namestring<= 70 characters

Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.

creditTransferInitiationInstructions[].​creditorAccount.​proxyobject(NonBankingIdentifier)
creditTransferInitiationInstructions[].​creditorAccount.​typeobject(AccountType)
creditTransferInitiationInstructions[].​creditorAgentobject(InstitutionIdentification)required
creditTransferInitiationInstructions[].​creditorAgent.​additionalIdentificationsArray of objects(AccountIdentification)
creditTransferInitiationInstructions[].​creditorAgent.​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

creditTransferInitiationInstructions[].​creditorAgent.​branchobject(BranchIdentification)
creditTransferInitiationInstructions[].​creditorAgent.​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

creditTransferInitiationInstructions[].​creditorAgent.​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

creditTransferInitiationInstructions[].​creditorAgent.​memberIdstring<= 35 characters

Identification of a member of a clearing system.

creditTransferInitiationInstructions[].​creditorAgent.​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

creditTransferInitiationInstructions[].​instructionForCreditorAgentArray of objects(Instruction)>= 0 items

Further information related to the processing of the payment instruction, provided by the initiating party, and intended for the creditor agent.

creditTransferInitiationInstructions[].​paymentSchemeobject(CreditTransferPaymentScheme)required

Designates which scheme a credit transfer is associated with and describes scheme-specific information for the credit transfer.

creditTransferInitiationInstructions[].​paymentScheme.​schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
Discriminator
creditTransferInitiationInstructions[].​paymentScheme.​schemeDataobject(ZaEftSchemeData)required
creditTransferInitiationInstructions[].​paymentScheme.​schemeData.​shortenedCreditorAccountNumberstring(ShortenedAccountNumber)= 11 characters

An account number, shortened to 11 characters according to the account number reduction rules in the EFT technical standards. This field is intended for internal use by Electrum and generally should not be populated by partner implementations.

creditTransferInitiationInstructions[].​paymentScheme.​schemeData.​shortenedDebtorAccountNumberstring(ShortenedAccountNumber)= 11 characters

An account number, shortened to 11 characters according to the account number reduction rules in the EFT technical standards. This field is intended for internal use by Electrum and generally should not be populated by partner implementations.

creditTransferInitiationInstructions[].​paymentScheme.​schemeData.​userReferencestring<= 30 charactersrequired

An explanation of an EFT transaction, which will be printed on the debtor's statement for direct debits or the creditor's statement for credit transfers. Note that when populating a value for a direct debit, the first 10 characters must contain the Banks user code as configured at Bankserv. If configured, Electrum will populate this value automatically, in which case at most 20 characters should be used as a reference to avoid truncation.

creditTransferInitiationInstructions[].​paymentTypeInformationobject(PaymentTypeInformation)
creditTransferInitiationInstructions[].​purposeobject(PurposeType)

Specifies the underlying reason for the payment transaction

creditTransferInitiationInstructions[].​remittanceInformationobject(RemittanceInformation)
creditTransferInitiationInstructions[].​supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

creditTransferInitiationInstructions[].​taxobject(TaxInformation)
creditTransferInitiationInstructions[].​transactionIdentifiersobject(TransactionIdentifiers)required

Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.

creditTransferInitiationInstructions[].​transactionIdentifiers.​endToEndIdentificationstring<= 35 charactersrequired

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. Note: this is distinct from the UETR.

creditTransferInitiationInstructions[].​transactionIdentifiers.​transactionIdentificationstring<= 35 characters

Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. Usage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. Usage: The instructing agent has to make sure that the transaction identification is unique for a pre- agreed period.

creditTransferInitiationInstructions[].​transactionIdentifiers.​uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference of a payment transaction. This identifier remains the same for all messages related to the same transaction.

debtorobject(Party)required

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

debtor.​addressobject(PostalAddress)
debtor.​contactDetailsobject(ContactDetails)
debtor.​countryOfResidencestring(CountryCode)[A-Z]{2,2}

A code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).

debtor.​identificationobject(PartyIdentification)

The identification of a party, either a person or an organisation.

debtor.​knownAsNamestring[ 1 .. 140 ] characters

The name by which this party is commonly known in day to day use. For example, a shortening of their legal name or a nickname that they commonly use. This is "non-official". However, it is acceptable for this field to be set to the same as legalName.

debtor.​legalNamestring[ 1 .. 140 ] characters

The legal name by which this party is known (the "FICA" name). This is the full name of the party as found on country-issued documentation (national identity, company registration documentation etc).

debtorAccountobject(PaymentAccount)required

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

debtorAccount.​currencystring^[A-Z]{3}$

Identification of the currency in which the account is held.

debtorAccount.​identificationobject(BankingIdentifier)
debtorAccount.​namestring<= 70 characters

Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.

debtorAccount.​proxyobject(NonBankingIdentifier)
debtorAccount.​typeobject(AccountType)
debtorAgentobject(InstitutionIdentification)required
debtorAgent.​additionalIdentificationsArray of objects(AccountIdentification)
debtorAgent.​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

debtorAgent.​branchobject(BranchIdentification)
debtorAgent.​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

debtorAgent.​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

debtorAgent.​memberIdstring<= 35 characters

Identification of a member of a clearing system.

debtorAgent.​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

initiatingPartyobject(Party)

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

numberOfTransactionsinteger

Number of individual credit transfer instructions within the bulk that should be initiated.

paymentInformationIdstring(UUID)required

Universally unique identifier to provide an end-to-end reference to the bulk initiation. This identifier remains the same for all messages related to the bulk transaction. Note: this is distinct from the UETR's of the individual transactions

paymentSchemeNamestring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
remittanceInformationobject(RemittanceInformation)
requestedExecutionDatestring(date)

Date at which the initiating party requests the clearing agent to process the payment.

schemastringrequired
Value"CreditTransferInitiation"
{ "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "supplementaryData": { "property1": "string", "property2": "string" }, "controlSum": { "currency": "string", "value": 0.1 }, "creditTransferInitiationInstructions": [ {} ], "debtor": { "address": {}, "contactDetails": {}, "countryOfResidence": "string", "identification": {}, "knownAsName": "string", "legalName": "string" }, "debtorAccount": { "currency": "string", "identification": {}, "name": "string", "proxy": {}, "type": {} }, "debtorAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "initiatingParty": { "address": {}, "contactDetails": {}, "countryOfResidence": "string", "identification": {}, "knownAsName": "string", "legalName": "string" }, "numberOfTransactions": 0, "paymentInformationId": "string", "paymentSchemeName": "ZA_RTC", "remittanceInformation": { "structured": [], "unstructured": [] }, "requestedExecutionDate": "2019-08-24", "schema": "CreditTransferInitiation" }

CreditTransferInitiationStatusRequest

Provides details to identify a previously submitted bulk credit transfer initiation.

includeIndividualCreditsStatusesboolean

A flag to indicate if the status of each individual credit transfer, as per Electrum's view, should be reflected in the response

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

originalMessageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

originalMessageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

originalMessageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

paymentInformationIdstring(UUID)required

Universally unique identifier to provide an end-to-end reference to the bulk initiation. This identifier remains the same for all messages related to the bulk transaction. Note: this is distinct from the UETR's of the individual transactions.

schemastringrequired
Value"CreditTransferInitiationStatusRequest"
{ "includeIndividualCreditsStatuses": true, "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "originalMessageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "paymentInformationId": "string", "schema": "CreditTransferInitiationStatusRequest" }

RequestToPayInitiationInstruction

Initiation instruction object. This is a striped down version of the requestToPay model with the fields that can be inferred from the bulk information removed.

creditorobject(Party)required

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

creditor.​addressobject(PostalAddress)
creditor.​contactDetailsobject(ContactDetails)
creditor.​countryOfResidencestring(CountryCode)[A-Z]{2,2}

A code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).

creditor.​identificationobject(PartyIdentification)

The identification of a party, either a person or an organisation.

creditor.​knownAsNamestring[ 1 .. 140 ] characters

The name by which this party is commonly known in day to day use. For example, a shortening of their legal name or a nickname that they commonly use. This is "non-official". However, it is acceptable for this field to be set to the same as legalName.

creditor.​legalNamestring[ 1 .. 140 ] characters

The legal name by which this party is known (the "FICA" name). This is the full name of the party as found on country-issued documentation (national identity, company registration documentation etc).

creditorAccountobject(PaymentAccount)required

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

creditorAccount.​currencystring^[A-Z]{3}$

Identification of the currency in which the account is held.

creditorAccount.​identificationobject(BankingIdentifier)
creditorAccount.​namestring<= 70 characters

Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.

creditorAccount.​proxyobject(NonBankingIdentifier)
creditorAccount.​typeobject(AccountType)
creditorAgentobject(InstitutionIdentification)required
creditorAgent.​additionalIdentificationsArray of objects(AccountIdentification)
creditorAgent.​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

creditorAgent.​branchobject(BranchIdentification)
creditorAgent.​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

creditorAgent.​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

creditorAgent.​memberIdstring<= 35 characters

Identification of a member of a clearing system.

creditorAgent.​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

debtorobject(Party)

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

debtorAccountobject(PaymentAccount)required

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

debtorAccount.​currencystring^[A-Z]{3}$

Identification of the currency in which the account is held.

debtorAccount.​identificationobject(BankingIdentifier)
debtorAccount.​namestring<= 70 characters

Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.

debtorAccount.​proxyobject(NonBankingIdentifier)
debtorAccount.​typeobject(AccountType)
debtorAgentobject(InstitutionIdentification)
expiryDateTimestring(date-time)required

Date and time at which the request to pay expires. Some schemes may still permit a payment after the request to pay expires. Upon expiry, the following schemes will reject an associated payment: ZA_RPP. The date must be formatted as defined by date-time in RFC3339

instructionForDebtorAgentArray of objects(Instruction)>= 0 items

Further information related to the processing of the payment instruction, provided by the initiating party, and intended for the debtor agent.

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

paymentTypeInformationobject(PaymentTypeInformation)required
paymentTypeInformation.​localInstrumentobject(LocalInstrumentType)
purposeobject(PurposeType)

Specifies the underlying reason for the payment transaction

remittanceInformationobject(RemittanceInformation)required
remittanceInformation.​structuredArray of objects(StructuredRemittanceInformation)
remittanceInformation.​unstructuredArray of strings
requestToPayConditionsobject(RequestToPayConditions)required

Describes the various aspects of a request to pay which must be accepted or to what extent they may be altered.

requestToPayConditions.​maxAmountobject(Amount)required
requestToPayConditions.​maxAmount.​currencystring^[A-Z]{3}$required

A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.

requestToPayConditions.​maxAmount.​valuenumber(double)>= 0required

The payment amount in the denomination of the indicated currency, in the format '. with the number of minor units (fractional digits) compliant with the number of decimal places published in ISO 4217.

Currency CodeExampleValidNotes
USD10.0Represents 10 USD and no cents.
USD10.00
USD10.001US dollar does not support three decimal places.
JPY10.0Represents 10 Japanese Yen.
JPY10.1Japanese Yen does not support decimal places.
requestToPayConditions.​minAmountobject(Amount)required
requestToPayConditions.​minAmount.​currencystring^[A-Z]{3}$required

A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.

requestToPayConditions.​minAmount.​valuenumber(double)>= 0required

The payment amount in the denomination of the indicated currency, in the format '. with the number of minor units (fractional digits) compliant with the number of decimal places published in ISO 4217.

Currency CodeExampleValidNotes
USD10.0Represents 10 USD and no cents.
USD10.00
USD10.001US dollar does not support three decimal places.
JPY10.0Represents 10 Japanese Yen.
JPY10.1Japanese Yen does not support decimal places.
taxobject(TaxInformation)
transactionIdentifiersobject(TransactionIdentifiers)required

Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.

transactionIdentifiers.​endToEndIdentificationstring<= 35 charactersrequired

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. Note: this is distinct from the UETR.

transactionIdentifiers.​transactionIdentificationstring<= 35 characters

Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. Usage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. Usage: The instructing agent has to make sure that the transaction identification is unique for a pre- agreed period.

transactionIdentifiers.​uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference of a payment transaction. This identifier remains the same for all messages related to the same transaction.

{ "creditor": { "address": {}, "contactDetails": {}, "countryOfResidence": "string", "identification": {}, "knownAsName": "string", "legalName": "string" }, "creditorAccount": { "currency": "string", "identification": {}, "name": "string", "proxy": {}, "type": {} }, "creditorAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "debtor": { "address": {}, "contactDetails": {}, "countryOfResidence": "string", "identification": {}, "knownAsName": "string", "legalName": "string" }, "debtorAccount": { "currency": "string", "identification": {}, "name": "string", "proxy": {}, "type": {} }, "debtorAgent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "expiryDateTime": "2019-08-24T14:15:22Z", "instructionForDebtorAgent": [ {} ], "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "paymentTypeInformation": { "localInstrument": {} }, "purpose": { "schema": "string", "value": "BKDF" }, "remittanceInformation": { "structured": [], "unstructured": [] }, "requestToPayConditions": { "maxAmount": {}, "minAmount": {} }, "tax": { "totalAmount": {} }, "transactionIdentifiers": { "endToEndIdentification": "string", "transactionIdentification": "string", "uetr": "string" } }

RequestToPayInitiation

A model containing the foundational elements shared across messages and generally expected in a message used during processing with the Electrum Regulated Payments API.

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

bulkPaymentSchemeNamestring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
initiatingPartyobject(Party)

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

numberOfTransactionsinteger>= 1

The total number of transactions in the bulk.

requestToPayInformationIdstring(UUID)required

Universally unique identifier to identify the bulk collection itself.

requestToPayInitiationInstructionsArray of objects(RequestToPayInitiationInstruction)non-emptyrequired

List of instructions to initiate each request to pay within the bulk with other financial institutions or the partner bank.

requestToPayInitiationInstructions[].​creditorobject(Party)required

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

requestToPayInitiationInstructions[].​creditor.​addressobject(PostalAddress)
requestToPayInitiationInstructions[].​creditor.​contactDetailsobject(ContactDetails)
requestToPayInitiationInstructions[].​creditor.​countryOfResidencestring(CountryCode)[A-Z]{2,2}

A code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).

requestToPayInitiationInstructions[].​creditor.​identificationobject(PartyIdentification)

The identification of a party, either a person or an organisation.

requestToPayInitiationInstructions[].​creditor.​knownAsNamestring[ 1 .. 140 ] characters

The name by which this party is commonly known in day to day use. For example, a shortening of their legal name or a nickname that they commonly use. This is "non-official". However, it is acceptable for this field to be set to the same as legalName.

requestToPayInitiationInstructions[].​creditor.​legalNamestring[ 1 .. 140 ] characters

The legal name by which this party is known (the "FICA" name). This is the full name of the party as found on country-issued documentation (national identity, company registration documentation etc).

requestToPayInitiationInstructions[].​creditorAccountobject(PaymentAccount)required

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

requestToPayInitiationInstructions[].​creditorAccount.​currencystring^[A-Z]{3}$

Identification of the currency in which the account is held.

requestToPayInitiationInstructions[].​creditorAccount.​identificationobject(BankingIdentifier)
requestToPayInitiationInstructions[].​creditorAccount.​namestring<= 70 characters

Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.

requestToPayInitiationInstructions[].​creditorAccount.​proxyobject(NonBankingIdentifier)
requestToPayInitiationInstructions[].​creditorAccount.​typeobject(AccountType)
requestToPayInitiationInstructions[].​creditorAgentobject(InstitutionIdentification)required
requestToPayInitiationInstructions[].​creditorAgent.​additionalIdentificationsArray of objects(AccountIdentification)
requestToPayInitiationInstructions[].​creditorAgent.​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

requestToPayInitiationInstructions[].​creditorAgent.​branchobject(BranchIdentification)
requestToPayInitiationInstructions[].​creditorAgent.​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

requestToPayInitiationInstructions[].​creditorAgent.​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

requestToPayInitiationInstructions[].​creditorAgent.​memberIdstring<= 35 characters

Identification of a member of a clearing system.

requestToPayInitiationInstructions[].​creditorAgent.​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

requestToPayInitiationInstructions[].​debtorobject(Party)

This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.

requestToPayInitiationInstructions[].​debtorAccountobject(PaymentAccount)required

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

requestToPayInitiationInstructions[].​debtorAccount.​currencystring^[A-Z]{3}$

Identification of the currency in which the account is held.

requestToPayInitiationInstructions[].​debtorAccount.​identificationobject(BankingIdentifier)
requestToPayInitiationInstructions[].​debtorAccount.​namestring<= 70 characters

Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.

requestToPayInitiationInstructions[].​debtorAccount.​proxyobject(NonBankingIdentifier)
requestToPayInitiationInstructions[].​debtorAccount.​typeobject(AccountType)
requestToPayInitiationInstructions[].​debtorAgentobject(InstitutionIdentification)
requestToPayInitiationInstructions[].​expiryDateTimestring(date-time)required

Date and time at which the request to pay expires. Some schemes may still permit a payment after the request to pay expires. Upon expiry, the following schemes will reject an associated payment: ZA_RPP. The date must be formatted as defined by date-time in RFC3339

requestToPayInitiationInstructions[].​instructionForDebtorAgentArray of objects(Instruction)>= 0 items

Further information related to the processing of the payment instruction, provided by the initiating party, and intended for the debtor agent.

requestToPayInitiationInstructions[].​messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

requestToPayInitiationInstructions[].​messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

requestToPayInitiationInstructions[].​messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

requestToPayInitiationInstructions[].​paymentTypeInformationobject(PaymentTypeInformation)required
requestToPayInitiationInstructions[].​paymentTypeInformation.​localInstrumentobject(LocalInstrumentType)
requestToPayInitiationInstructions[].​purposeobject(PurposeType)

Specifies the underlying reason for the payment transaction

requestToPayInitiationInstructions[].​remittanceInformationobject(RemittanceInformation)required
requestToPayInitiationInstructions[].​remittanceInformation.​structuredArray of objects(StructuredRemittanceInformation)
requestToPayInitiationInstructions[].​remittanceInformation.​unstructuredArray of strings
requestToPayInitiationInstructions[].​requestToPayConditionsobject(RequestToPayConditions)required

Describes the various aspects of a request to pay which must be accepted or to what extent they may be altered.

requestToPayInitiationInstructions[].​requestToPayConditions.​maxAmountobject(Amount)required
requestToPayInitiationInstructions[].​requestToPayConditions.​maxAmount.​currencystring^[A-Z]{3}$required

A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.

requestToPayInitiationInstructions[].​requestToPayConditions.​maxAmount.​valuenumber(double)>= 0required

The payment amount in the denomination of the indicated currency, in the format '. with the number of minor units (fractional digits) compliant with the number of decimal places published in ISO 4217.

Currency CodeExampleValidNotes
USD10.0Represents 10 USD and no cents.
USD10.00
USD10.001US dollar does not support three decimal places.
JPY10.0Represents 10 Japanese Yen.
JPY10.1Japanese Yen does not support decimal places.
requestToPayInitiationInstructions[].​requestToPayConditions.​minAmountobject(Amount)required
requestToPayInitiationInstructions[].​requestToPayConditions.​minAmount.​currencystring^[A-Z]{3}$required

A valid, active currency code as defined in ISO 4217 indicating the currency of the amount.

requestToPayInitiationInstructions[].​requestToPayConditions.​minAmount.​valuenumber(double)>= 0required

The payment amount in the denomination of the indicated currency, in the format '. with the number of minor units (fractional digits) compliant with the number of decimal places published in ISO 4217.

Currency CodeExampleValidNotes
USD10.0Represents 10 USD and no cents.
USD10.00
USD10.001US dollar does not support three decimal places.
JPY10.0Represents 10 Japanese Yen.
JPY10.1Japanese Yen does not support decimal places.
requestToPayInitiationInstructions[].​taxobject(TaxInformation)
requestToPayInitiationInstructions[].​transactionIdentifiersobject(TransactionIdentifiers)required

Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.

requestToPayInitiationInstructions[].​transactionIdentifiers.​endToEndIdentificationstring<= 35 charactersrequired

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. Note: this is distinct from the UETR.

requestToPayInitiationInstructions[].​transactionIdentifiers.​transactionIdentificationstring<= 35 characters

Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. Usage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. Usage: The instructing agent has to make sure that the transaction identification is unique for a pre- agreed period.

requestToPayInitiationInstructions[].​transactionIdentifiers.​uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference of a payment transaction. This identifier remains the same for all messages related to the same transaction.

{ "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "supplementaryData": { "property1": "string", "property2": "string" }, "bulkPaymentSchemeName": "ZA_RTC", "initiatingParty": { "address": {}, "contactDetails": {}, "countryOfResidence": "string", "identification": {}, "knownAsName": "string", "legalName": "string" }, "numberOfTransactions": 1, "requestToPayInformationId": "string", "requestToPayInitiationInstructions": [ {} ] }

RequestToPayInitiationStatusRequest

Provides details to identify a previously submitted bulk request to pay collections.

includeIndividualRequestToPayStatusesboolean

A flag to indicate if the status of each individual request to pay, as per Electrum's view, should be reflected in the response

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

originalMessageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

originalMessageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

originalMessageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

requestToPayInformationIdstring(UUID)required

Universally unique identifier to identify the bulk collection itself.

schemastringrequired
Value"RequestToPayInitiationStatusRequest"
{ "includeIndividualRequestToPayStatuses": true, "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "originalMessageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "requestToPayInformationId": "string", "schema": "RequestToPayInitiationStatusRequest" }

SchemeInquiry

agentobject(InstitutionIdentification)required
agent.​additionalIdentificationsArray of objects(AccountIdentification)
agent.​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

agent.​branchobject(BranchIdentification)
agent.​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

agent.​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

agent.​memberIdstring<= 35 characters

Identification of a member of a clearing system.

agent.​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

schemastringrequired
Discriminator
{ "agent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "schema": "ZA_RPP_LIST_DOMAINS" }

ZaRppListDomainsInquiry

agentobject(InstitutionIdentification)required
agent.​additionalIdentificationsArray of objects(AccountIdentification)
agent.​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

agent.​branchobject(BranchIdentification)
agent.​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

agent.​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

agent.​memberIdstring<= 35 characters

Identification of a member of a clearing system.

agent.​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

schemastringrequired
Discriminator
{ "agent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "schema": "ZA_RPP_LIST_DOMAINS" }

ZaRppListParticipantsInquiry

agentobject(InstitutionIdentification)required
agent.​additionalIdentificationsArray of objects(AccountIdentification)
agent.​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

agent.​branchobject(BranchIdentification)
agent.​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

agent.​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

agent.​memberIdstring<= 35 characters

Identification of a member of a clearing system.

agent.​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

schemastringrequired
Discriminator
{ "agent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "schema": "ZA_RPP_LIST_DOMAINS" }

SchemeInquiryRequest

A model containing the foundational elements shared across messages and generally expected in a message used during processing with the Electrum Regulated Payments API.

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

inquiryobject(SchemeInquiry)required
inquiry.​agentobject(InstitutionIdentification)required
inquiry.​agent.​additionalIdentificationsArray of objects(AccountIdentification)
inquiry.​agent.​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

inquiry.​agent.​branchobject(BranchIdentification)
inquiry.​agent.​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

inquiry.​agent.​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

inquiry.​agent.​memberIdstring<= 35 characters

Identification of a member of a clearing system.

inquiry.​agent.​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

inquiry.​schemastringrequired
Discriminator
schemastringrequired
Value"SchemeInquiryRequest"
{ "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "supplementaryData": { "property1": "string", "property2": "string" }, "inquiry": { "schema": "string" }, "schema": "SchemeInquiryRequest" }

SchemeReport

agentobject(InstitutionIdentification)required
agent.​additionalIdentificationsArray of objects(AccountIdentification)
agent.​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

agent.​branchobject(BranchIdentification)
agent.​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

agent.​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

agent.​memberIdstring<= 35 characters

Identification of a member of a clearing system.

agent.​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

domainsArray of objects(ZaInstitutionIdentificationWithDomain)required
domains[].​additionalIdentificationsArray of objects(AccountIdentification)
domains[].​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

domains[].​branchobject(BranchIdentification)
domains[].​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

domains[].​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

domains[].​memberIdstring<= 35 characters

Identification of a member of a clearing system.

domains[].​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

domains[].​domainstring<= 35 characters

A BankservAfrica-specific field requirement that associates this institution with a specific "domain"

  • which is essentially a type of namespace. This is the equivalent of the Electrum 'namespace' found on Non-Banking Identifiers, such as a MobileIdentifier
schemastringrequired
Discriminator
{ "agent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "domains": [ {} ], "schema": "ZA_RPP_LIST_DOMAINS" }

ZaInstitutionIdentificationWithDomain

additionalIdentificationsArray of objects(AccountIdentification)
bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

branchobject(BranchIdentification)
companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

memberIdstring<= 35 characters

Identification of a member of a clearing system.

namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

domainstring<= 35 characters

A BankservAfrica-specific field requirement that associates this institution with a specific "domain"

  • which is essentially a type of namespace. This is the equivalent of the Electrum 'namespace' found on Non-Banking Identifiers, such as a MobileIdentifier
{ "additionalIdentifications": [ {} ], "bicfi": "string", "branch": { "address": {}, "identification": "string", "name": "string" }, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string", "domain": "string" }

ZaRppListDomainsSchemeReport

agentobject(InstitutionIdentification)required
agent.​additionalIdentificationsArray of objects(AccountIdentification)
agent.​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

agent.​branchobject(BranchIdentification)
agent.​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

agent.​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

agent.​memberIdstring<= 35 characters

Identification of a member of a clearing system.

agent.​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

domainsArray of objects(ZaInstitutionIdentificationWithDomain)required
domains[].​additionalIdentificationsArray of objects(AccountIdentification)
domains[].​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

domains[].​branchobject(BranchIdentification)
domains[].​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

domains[].​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

domains[].​memberIdstring<= 35 characters

Identification of a member of a clearing system.

domains[].​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

domains[].​domainstring<= 35 characters

A BankservAfrica-specific field requirement that associates this institution with a specific "domain"

  • which is essentially a type of namespace. This is the equivalent of the Electrum 'namespace' found on Non-Banking Identifiers, such as a MobileIdentifier
schemastringrequired
Discriminator
{ "agent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "domains": [ {} ], "schema": "ZA_RPP_LIST_DOMAINS" }

ZaRppServices

string(ZaRppServices)
Enum"PBPX""PBAC""RTP-PBPX""RTP-PBAC"
"PBPX"

ZaInstitutionDomainDetails

domainstring[ 1 .. 35 ] charactersrequired

A BankservAfrica-specific field requirement that associates this institution with a specific "domain"

  • which is essentially a type of namespace. This is the equivalent of the Electrum 'namespace' found on Non-Banking Identifiers, such as a MobileIdentifier
namestring[ 1 .. 100 ] charactersrequired

Name by which an institution is known and which is usually used to identify that institution

servicesArray of strings(ZaRppServices)>= 0 itemsrequired
Items Enum"PBPX""PBAC""RTP-PBPX""RTP-PBAC"
{ "domain": "string", "name": "string", "services": [ "PBPX" ] }

ParticipantIdentificationDetails

bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

branchobject(BranchIdentification)
domainDetailsArray of objects(ZaInstitutionDomainDetails)
memberIdstring[ 1 .. 35 ] characters

Identification of a member of a clearing system.

namestring<= 140 charactersrequired

Name by which an institution is known and which is usually used to identify that institution.

servicesArray of strings(ZaRppServices)>= 0 itemsrequired
Items Enum"PBPX""PBAC""RTP-PBPX""RTP-PBAC"
sponsoringAgentBicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

sponsoringAgentNamestring<= 100 characters

Name by which an institution is known and which is usually used to identify that institution.

{ "bicfi": "string", "branch": { "address": {}, "identification": "string", "name": "string" }, "domainDetails": [ {} ], "memberId": "string", "name": "string", "services": [ "PBPX" ], "sponsoringAgentBicfi": "string", "sponsoringAgentName": "string" }

ZaRppListParticipantsSchemeReport

agentobject(InstitutionIdentification)required
agent.​additionalIdentificationsArray of objects(AccountIdentification)
agent.​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

agent.​branchobject(BranchIdentification)
agent.​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

agent.​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

agent.​memberIdstring<= 35 characters

Identification of a member of a clearing system.

agent.​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

domainsArray of objects(ZaInstitutionIdentificationWithDomain)required
domains[].​additionalIdentificationsArray of objects(AccountIdentification)
domains[].​bicfistring^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9...

A code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority as described in ISO 9362 Banking - Banking telecommunication messages - Business identifier code (BIC)

domains[].​branchobject(BranchIdentification)
domains[].​companyRegistrationstring<= 35 characters

A unique identifier assigned to a company or organisation by a duly appointed authority within a country.

domains[].​leistring[A-Z0-9]{18,18}[0-9]{2,2}

An organisation identified by a code allocated to a party as described in ISO 17442 Financial Services - Legal Entity Identifier (LEI).

domains[].​memberIdstring<= 35 characters

Identification of a member of a clearing system.

domains[].​namestring<= 140 characters

Name by which an institution is known and which is usually used to identify that institution

domains[].​domainstring<= 35 characters

A BankservAfrica-specific field requirement that associates this institution with a specific "domain"

  • which is essentially a type of namespace. This is the equivalent of the Electrum 'namespace' found on Non-Banking Identifiers, such as a MobileIdentifier
schemastringrequired
Discriminator
{ "agent": { "additionalIdentifications": [], "bicfi": "string", "branch": {}, "companyRegistration": "string", "lei": "string", "memberId": "string", "name": "string" }, "domains": [ {} ], "schema": "ZA_RPP_LIST_DOMAINS" }

SchemeInquiryResponse

An extension of BaseMessage which includes additional information pertinent to an asynchronous response message. In particular, original message identifiers.

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

supplementaryDataobject(SupplementaryData)

A list of key-value pairs to support adding any supplementary/additional data to an Electrum Regulated Payments API message.

originalMessageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

originalMessageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

originalMessageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

reportobject(SchemeReport)
schemastringrequired
Value"SchemeInquiryResponse"
{ "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "supplementaryData": { "property1": "string", "property2": "string" }, "originalMessageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "report": { "schema": "string" }, "schema": "SchemeInquiryResponse" }

ZaRppRefundInitiationPaymentScheme

schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
schemeDataobject(ZaRppSchemeData)
{ "schema": "ZA_RTC", "schemeData": { "hasRtp": true } }

RefundInitiationPaymentScheme

Designates which scheme a refund initiation is associated with and describes scheme-specific information for the refund to be processed. Currently only ZA_RPP supported.

schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
Discriminator
schemeDataobject(ZaRppSchemeData)
{ "schema": "ZA_RPP", "schemeData": { "hasRtp": true } }

RefundInitiationRequest

Requests that a prior Receipt-of-funds transaction (i.e. some inbound payment) is refunded, if possible according to specified scheme rules. Refer to scheme User Guides for validation conditions.

amountsobject(TransactionAmounts)
debtorAccountobject(PaymentAccount)

Representation of an account for payment purposes. Note that at least one of identification or proxy is expected to be present.

messageIdentifiersobject(MessageIdentifiers)required

Holds a point-to-point unique message identification string as well as a message's creation date time.

messageIdentifiers.​creationDateTimestring(date-time)required

The date and time at which the message was created, in senders local timezone or UTC. The date must be formatted as defined by date-time in RFC3339

messageIdentifiers.​messageIdentificationstring<= 35 charactersrequired

A reference used to unambiguously identify the message between the sending and receiving party. Take note that this uniquely identifies a single message in a potentially multi-message exchange to complete a payment.

originalTransactionIdentifiersobject(TransactionIdentifiers)required

Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.

originalTransactionIdentifiers.​endToEndIdentificationstring<= 35 charactersrequired

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. Note: this is distinct from the UETR.

originalTransactionIdentifiers.​transactionIdentificationstring<= 35 characters

Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. Usage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. Usage: The instructing agent has to make sure that the transaction identification is unique for a pre- agreed period.

originalTransactionIdentifiers.​uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference of a payment transaction. This identifier remains the same for all messages related to the same transaction.

paymentSchemeobject(RefundInitiationPaymentScheme)required

Designates which scheme a refund initiation is associated with and describes scheme-specific information for the refund to be processed. Currently only ZA_RPP supported.

paymentScheme.​schemastring(PaymentSchemeName)required

Identifies the scheme used for the payment

  • ZA_RTC: South African Realtime Clearing scheme
  • ZA_RPP: South African Realtime Payments Platform scheme.
  • ZA_EFT: South African Electronic Funds Transfer scheme.
Enum"ZA_RTC""ZA_RPP""ZA_EFT"
Discriminator
paymentScheme.​schemeDataobject(ZaRppSchemeData)
refundReferencestring

An explanation of the transaction, as assigned by the refund initiator, to unambiguously refer to this refund payment. This value will be used as the transaction reference if the clearing scheme supports it.

schemastringrequired
Value"RefundInitiationRequest"
transactionIdentifiersobject(TransactionIdentifiers)required

Holds a series of identifiers to identify the transaction or an individual message that is part of a transaction.

transactionIdentifiers.​endToEndIdentificationstring<= 35 charactersrequired

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. Note: this is distinct from the UETR.

transactionIdentifiers.​transactionIdentificationstring<= 35 characters

Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. Usage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. Usage: The instructing agent has to make sure that the transaction identification is unique for a pre- agreed period.

transactionIdentifiers.​uetrstring(UUID)required

Universally unique identifier to provide an end-to-end reference of a payment transaction. This identifier remains the same for all messages related to the same transaction.

{ "amounts": { "bankSettlementAmount": {}, "instructedAmount": {} }, "debtorAccount": { "currency": "string", "identification": {}, "name": "string", "proxy": {}, "type": {} }, "messageIdentifiers": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string" }, "originalTransactionIdentifiers": { "endToEndIdentification": "string", "transactionIdentification": "string", "uetr": "string" }, "paymentScheme": { "schema": "ZA_RTC", "schemeData": {} }, "refundReference": "string", "schema": "RefundInitiationRequest", "transactionIdentifiers": { "endToEndIdentification": "string", "transactionIdentification": "string", "uetr": "string" } }

transactional

Operations

financial

Operations

identifier-determination

Operations

bulk

Operations

refund

Operations