Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
maxLevel1
stylenone

...

For a payment-order consent, the selected debtor account cannot be changed once the consent has been authorised.

3.3.4 Consent Re-

...

Authentication

Payment consents are short-lived and cannot be re-authenticated by the PSU.

...

 

...

4.1.2.2  Data Dictionary

Name

Occurrence

Xpath

Enhanced Definition

Class

Codes

Pattern

OBCharge

 

OBCharge

Set of elements used to provide details of a charge for the payment initiation.

OBCharge

 

 

ChargeBearer

1..1

OBCharge/ChargeBearer

Specifies which party/parties will bear the charges associated with the processing of the payment transaction.

String

Enum:

  • BorneByCreditor

  • BorneByDebtor

  • FollowingServiceLevel

  • Shared

 

Type

1..1

OBCharge/Type

Charge type, in a coded form.

String

Enum:

·  To be determined

 

 

Amount

1..1

OBCharge/Amount

Amount of money associated with the charge type.

OBActiveOrHistoricCurrencyAndAmount

 

 

Amount

1..1

OBCharge/Amount/Amount

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

String

 

^\d{1,13}.\d{1,5}$

Currency

1..1

OBCharge/Amount/Currency

A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".

String

 

^[A-Z]{3,3}$

 

4.1.3 OBAuthorisation

This section describes the OBAuthorisation class which is used in the payment-order consent request and payment-order consent response payloads.

4.1.3.1  UML Diagram

...

4.1.3.2  Data Dictionary

Name

Occurrence

Xpath

Enhanced Definition

Class

Codes

Pattern

OBAuthorisation

 

OBAuthorisation

The authorisation type request from the TPP.

OBAuthorisation

 

 

AuthorisationType

1..1

OBAuthorisation/AuthorisationType

Type of authorisation flow requested.

String

Enum:

  • Single

 

CompletionDateTime

0..1

OBAuthorisation/CompletionDateTime

Date and time at which the requested authorisation flow must be completed.

DateTime

 

 

 

4.1.4 OBDomesticRefundAccount

...

4.1.4.1  UML Diagram

...

4.1.4.2  Data Dictionary

Name

Occurrence

Xpath

Enhanced Definition

Class

Codes

Pattern

OBDomesticRefundAccount

 

OBDomesticRefundAccount

Unambiguous identification of the refund account to which a refund will be made as a result of the transaction.

OBDomesticRefundAccount

 

 

Account

1..1

OBDomesticRefundAccount/Account

Provides the details to identify an account.

OBDomesticRefundAccount/Account

 

 

SchemeName

1..1

OBDomesticRefundAccount/Account/SchemeName

Name of the identification scheme, in a coded form as published in an external list.

String

Enum:

BH.OBF.BBAN

  • BH.OBF.IBANBH.OBF.PAN

 

Identification

1..1

OBDomesticRefundAccount/Account/Identification

Identification assigned by an institution to identify an account. This identification is known by the account owner.

String

 

 

Name

0..1

OBDomesticRefundAccount/Account/Name

Name of the account, as assigned by the account servicing institution. Usage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account. OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.

String

 

 

 

4.1.5        OBInternationalRefundAccount

...

4.1.5.2   Data Dictionary

Name

Occurrence

Xpath

Enhanced Definition

Class

Codes

Pattern

OBInternationalRefundAccount

 

OBInternationalRefundAccount

Unambiguous identification of the refund account to which a refund will be made as a result of the transaction.

OBInternationalRefundAccount

 

 

Creditor

0..1

OBInternationalRefundAccount/Creditor

Party to which an amount of money is due.

OBInternationalRefundAccount/Creditor

 

 

Name

0..1

OBInternationalRefundAccount/Creditor/Name

Name by which a party is known and which is usually used to identify that party.

String

 

 

PostalAddress

0..1

OBInternationalRefundAccount/Creditor/PostalAddress

Information that locates and identifies a specific address, as defined by postal services.

OBPostalAddress

 

 

AddressType

0..1

OBInternationalRefundAccount/Creditor/PostalAddress/AddressType

Identifies the nature of the postal address.

String

Enum:

  • Business

  • Correspondence

  • DeliveryTo 

  • MailTo 

  • POBox 

  • Postal 

  • Residential

  • Statement

 

Department

0..1

OBInternationalRefundAccount/Creditor/PostalAddress/Department

Identification of a division of a large organisation or building.

String

 

 

SubDepartment

0..1

OBInternationalRefundAccount/Creditor/PostalAddress/SubDepartment

Identification of a sub-division of a large organisation or building.

String

 

 

AddressLine

0..7

OBInternationalRefundAccount/Creditor/PostalAddress/AddressLine

Information that locates and identifies a specific address, as defined by postal services, presented in free format text.

String

 

 

StreetName

0..1

 OBInternationalPaymentInitiation/Creditor/PostalAddress/StreetName

Name of a street or thoroughfare

String

BuildingNumber

0..1

 OBInternationalPaymentInitiation/Creditor/PostalAddress/BuildingNumber

Number that identifies the position of a building on a street

String

 

 

PostCode

0..1

 OBInternationalPaymentInitiation/Creditor/PostalAddress/PostCode

Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail

String

 

 

TownName

0..1

 OBInternationalPaymentInitiation/Creditor/PostalAddress/TownName

Name of a built-up area, with defined boundaries, and a local government

String

 

 

CountrySubDivision

0..1

 OBInternationalPaymentInitiation/Creditor/PostalAddress/CountrySubDivision

Identifies a subdivision of a country such as state, region, country

String

 

 

Country

0..1

OBInternationalRefundAccount/Creditor/PostalAddress/Country

Nation with its own government.

String

 

^[A-Z]{2,2}$

Agent

0..1

OBInternationalRefundAccount/Agent

Financial institution servicing an account for the creditor.

OBInternationalRefundAccount/Agent

 

 

SchemeName

0..1

OBInternationalRefundAccount/Agent/SchemeName

Name of the identification scheme, in a coded form as published in an external list.

String

 Enum:

  • BH.OBF.IBAN 

 

 

Identification

0..1

OBInternationalRefundAccount/Agent/Identification

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

String

 

 

Name

0..1

OBInternationalRefundAccount/Agent/Name

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

String

 

 

PostalAddress

0..1

OBInternationalRefundAccount/Agent/PostalAddress

Information that locates and identifies a specific address, as defined by postal services.

OBPostalAddress

 

 

AddressType

0..1

OBInternationalRefundAccount/Agent/PostalAddress/AddressType

Identifies the nature of the postal address.

String

Enum:

  • Business

  • Correspondence

  • DeliveryTo 

  • MailTo 

  • POBox 

  • Postal 

  • Residential

  • Statement

 

Department

0..1

OBInternationalRefundAccount/Agent/PostalAddress/Department

Identification of a division of a large organisation or building.

String

 

 

SubDepartment

0..1

OBInternationalRefundAccount/Agent/PostalAddress/SubDepartment

Identification of a sub-division of a large organisation or building.

String

 

 

AddressLine

0..7

OBInternationalRefundAccount/Agent/PostalAddress/AddressLine

Information that locates and identifies a specific address, as defined by postal services, presented in free format text.

String

 

 

StreetName

0..1

 OBInternationalPaymentInitiation/CreditorAgent/PostalAddress/StreetName

Name of a street or thoroughfare

String

BuildingNumber

0..1

 OBInternationalPaymentInitiation/CreditorAgent/PostalAddress/BuildingNumber

Number that identifies the position of a building on a street

String

 

 

PostCode

0..1

 OBInternationalPaymentInitiation/CreditorAgent/PostalAddress/PostCode

Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail

String

 

 

TownName

0..1

 OBInternationalPaymentInitiation/CreditorAgent/PostalAddress/TownName

Name of a built-up area, with defined boundaries, and a local government

String

 

 

CountrySubDivision

0..1

 OBInternationalPaymentInitiation/CreditorAgent/PostalAddress/CountrySubDivision

Identifies a subdivision of a country such as state, region, country

String

 

 

Country

0..1

OBInternationalRefundAccount/Agent/PostalAddress/Country

Nation with its own government.

String

 

^[A-Z]{2,2}$

Account

1..1

OBInternationalRefundAccount/Account

Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.

OBInternationalRefundAccount/Account

 

 

SchemeName

1..1

OBInternationalRefundAccount/Account/SchemeName

Name of the identification scheme, in a coded form as published in an external list.

String

 Enum:

  • BH.OBF.IBAN

 

Identification

1..1

OBInternationalRefundAccount/Account/Identification

Identification assigned by an institution to identify an account. This identification is known by the account owner.

String

 

 

Name

1..1

OBInternationalRefundAccount/Account/Name

The account name is the name or names of the account owner(s) represented at an account level. Note, the account name is not the product name or the nickname of the account. OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.

String

 

 

 

4.1.6 OBWritePaymentDetails

...

4.1.6.1  UML Diagram

...

4.1.6.2  Data Dictionary

Name

Occurrence

Xpath

Enhanced Definition

Class

Codes

Pattern

OBWritePaymentDetails

 

OBWritePaymentDetails

Payment status details.

OBWritePaymentDetails

 

 

PaymentTransactionId

1..1

OBWritePaymentDetails/PaymentTransactionId

Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable

String

 

 

Status

1..1

OBWritePaymentDetails/Status

Status of a transfer, as assigned by the transaction administrator.

String

Enum:

  • Accepted

  • AcceptedCancellationRequest

  • AcceptedCreditSettlementCompleted

  • AcceptedCustomerProfile

  • AcceptedFundsChecked

  • AcceptedSettlementCompleted

  • AcceptedSettlementInProcess

  • AcceptedTechnicalValidation

  • AcceptedWithChange

  • AcceptedWithoutPosting

  • Cancelled

  • NoCancellationProcess

  • PartiallyAcceptedCancellationRequest

  • PartiallyAcceptedTechnicalCorrect

  • PaymentCancelled

  • Pending

  • PendingCancellationRequest

  • Received

  • Rejected

  • RejectedCancellationRequest

 

StatusUpdateDateTime

1..1


OBWritePaymentDetails/StatusUpdateDateTime

Date and time at which the status was assigned to the transfer.

DateTime

 

 

StatusDetail

0..1

OBWritePaymentDetails/StatusDetail

Payment status details as per underlying Payment Rail.

OBWritePaymentDetails/StatusDetail

 

 

LocalInstrument

0..1


OBWritePaymentDetails/StatusDetail/LocalInstrument

User community specific instrument.

Usage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.

String

Enum:

  • BH.OBF. DNS 

  • BH.OBF. NRT

  • BH.OBF. BIL

 

Status

1..1

OBWritePaymentDetails/StatusDetail/Status

Status of a transfer, as assigned by the transaction administrator.

String

 

 

StatusReason

0..1

OBWritePaymentDetails/StatusDetail/StatusReason


Reason Code provided for the status of a transfer.

String

Enum:

  • Cancelled

  • PendingFailingSettlement

  • PendingSettlement

  • Proprietary

  • ProprietaryRejection

  • Suspended

  • Unmatched

 

StatusReasonDescription

0..1

OBWritePaymentDetails/StatusDetail/StatusReasonDescription

Reason provided for the status of a transfer.

String

 

 

 

4.1.7 OBSCASupportData

This section describes the OBSCASupportData class, which is used across all payment order consent request resources, enabling PISPs to provide Supporting Data when requesting ASPSP for SCA Exemption.

4.1.7.1  UML Diagram

...

4.1.7.2  Data Dictionary

Name

Occurrence

Xpath

Enhanced Definition

Class

Codes

Pattern

OBSCASupportData

 

SCASupportData

Supporting Data provided by TPP, when requesting SCA Exemption.

OBSCASupportData

 

 

RequestedSCAExemptionType

0..1

SCASupportData/RequestedSCAExemptionType

This field allows a PISP to request specific SCA Exemption for a Payment Initiation

String

Enum:

  • BillPayment

  • ContactlessTravel

  • EcommerceGoods

  • EcommerceServices

  • Kiosk

  • Parking

  • PartyToParty

 

AppliedAuthenticationApproach

0..1

SCASupportData/AppliedAuthenticationApproach

Specifies a character string with a maximum length of 40 characters.

Usage: This field indicates whether the PSU was subject to SCA performed by the TPP

String

Enum:

  • CA

  • SCA

 

ReferencePaymentOrderId

0..1

SCASupportData/ReferencePaymentOrderId

Specifies a character string with a maximum length of 140 characters.

Usage: If the payment is recurring, then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.

String

 

 

 

4.2  Identifier Fields

This section describes the identifiers used through the Payment API flows, the direction of flow through the system, and how they are used.

The standard definitions for the elements in the API payloads are described in the Data Payload section. However, this table gives further detail on the business meaning, and how they are used.

Generated

Identifier

Business Description

Merchant/PISP Sent in API Payload

EndToEndIdentification

The EndToEndIdentification reference is a reference that can be populated by the debtor (or merchant in the ecommerce space). This reference is important to the debtor (could be an internal reference Id against the transaction), it Is NOT the reference information that will be primarily populated on the statement of the creditor (beneficiary).

Merchant/PISP Sent in API Payload

InstructionIdentification

The PISP generates the InstructionIdentification which is a unique transaction Id and passes it to the ASPSP (this is mandatory), but this does not have to go any further in the payment flow. The flow of this identifier needs to align with payment scheme rules.

The expectation is that this is unique indefinitely across all time periods. The PISP can ensure this is indefinitely unique by including a date or date time element to the field, or by inserting a unique Id.

Merchant/PISP Sent in API Payload

RemittanceInformation

The RemittanceInformation is the reference information that the creditor (or beneficiary) will need to reconcile (e.g. Invoice 123).

ASPSP / API System

ConsentId

A unique identification as assigned by the ASPSP to uniquely identify the payment-order consent resource.

ASPSP / API System

Payment Order Id

A unique identification as assigned by the ASPSP to uniquely identify the payment-order resource.

  • DomesticPaymentId

  • DomesticFutureDatedPaymentId

  • DomesticStandingOrderId

  • InternationalPaymentId

  • InternationalFutureDatedPaymentId

ASPSP / Payment Scheme

Scheme Payment ID

This is generated by the ASPSP to uniquely identify a payment through a processing scheme.

 

4.3  Enumerations

4.3.1 Static Enumerations

This section gives the definitions for enumerations used in the Payment APIs.

Code Class

Name

Definition

OBExternalPaymentContextCode

BillPayment

The context of the payment initiation is a bill payment.

OBExternalPaymentContextCode

EcommerceGoods

The context of the payment initiation is for goods via an ecommerce channel.

OBExternalPaymentContextCode

EcommerceServices

The context of the payment initiation is for services via an ecommerce channel.

OBExternalPaymentContextCode

PartyToParty

The context of the payment initiation is a party to party payment.

OBExternalPaymentContextCode

Other

The context of the payment initiation is of another type.

OBTransactionIndividualStatusCode

AcceptedSettlementCompleted

Settlement on the debtor's account has been completed.

Usage: this can be used by the first agent to report to the debtor that the transaction has been completed.

 

Warning: this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement.

PISPs must not use this status as confirmation that settlement is complete on the creditor's account.

OBTransactionIndividualStatusCode

AcceptedSettlementInProcess

All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.

OBTransactionIndividualStatusCode

Pending

Payment initiation or individual transaction included in the payment initiation is pending. Further checks and status update will be performed.

OBTransactionIndividualStatusCode

Rejected

Payment initiation or individual transaction included in the payment initiation has been rejected.

OBTransactionIndividualStatusCode

AcceptedWithoutPosting

Payment instruction included in the credit transfer is accepted without being posted to the creditor customer's account.

OBTransactionIndividualStatusCode

AcceptedCreditSettlementCompleted

Settlement on the creditor's account has been completed.

OBExternalConsentStatusCode

AwaitingAuthorisation

The consent resource is awaiting PSU authorisation.

OBExternalConsentStatusCode

Rejected

The consent resource has been rejected.

OBExternalConsentStatusCode

Authorised

The consent resource has been successfully authorised.

OBExternalConsentStatusCode

Consumed

The consented action has been successfully completed. This does not reflect the status of the consented action.

OBChargeBearerTypeCode

BorneByCreditor

All transaction charges are to be borne by the creditor.

OBChargeBearerTypeCode

BorneByDebtor

All transaction charges are to be borne by the debtor.

OBChargeBearerTypeCode

FollowingServiceLevel

Charges are to be applied following the rules agreed in the service level and/or scheme.

OBChargeBearerTypeCode

Shared

In a credit transfer context, means that transaction charges on the sender side are to be borne by the debtor, transaction charges on the receiver side are to be borne by the creditor. In a direct debit context, means that transaction charges on the sender side are to be borne by the creditor, transaction charges on the receiver side are to be borne by the debtor.

OBExternalAuthorisationCode

Single

Single authorisation type is requested.

OBExternalStatusCode

InitiationCompleted

The payment-order initiation has been completed.

OBExternalStatusCode

InitiationFailed

The payment-order initiation has failed.

OBExternalStatusCode

InitiationPending

The payment-order initiation is pending.

OBExternalStatusCode

InitiationCompleted

The payment-order initiation has been completed.

OBExternalStatusCode

InitiationFailed

The payment-order initiation has failed.

OBExternalStatusCode

InitiationPending

The payment-order initiation is pending.

OBExternalStatusCode

Cancelled

Payment initiation has been successfully cancelled after having received a request for cancellation.

OBExchangeRateTypeCode

Actual

Exchange rate is the actual rate.

OBExchangeRateTypeCode

Agreed

Exchange rate is the agreed rate between the parties.

OBExchangeRateTypeCode

Indicative

Exchange rate is the indicative rate.

OBPriorityCode

Normal

Priority is normal.

OBPriorityCode

Urgent

Priority is urgent.

OBAddressTypeCode

Business

Address is the business address.

OBAddressTypeCode

Correspondence

Address is the address where correspondence is sent.

OBAddressTypeCode

DeliveryTo

Address is the address to which delivery is to take place.

OBAddressTypeCode

MailTo

Address is the address to which mail is sent.

OBAddressTypeCode

POBox

Address is a postal office (PO) box.

OBAddressTypeCode

Postal

Address is the complete postal address.

OBAddressTypeCode

Residential

Address is the home address.

OBAddressTypeCode

Statement

Address is the address where statements are sent.

OBTransactionIndividualExtendedISOStatusCode

Accepted

Request is accepted.

OBTransactionIndividualExtendedISOStatusCode

AcceptedCancellationRequest

Cancellation is accepted.

OBTransactionIndividualExtendedISOStatusCode

AcceptedCreditSettlementCompleted

Settlement on the creditor's account has been completed.

OBTransactionIndividualExtendedISOStatusCode

AcceptedCustomerProfile

Preceding check of technical validation was successful. Customer profile check was also successful.

OBTransactionIndividualExtendedISOStatusCode

AcceptedFundsChecked

Preceding check of technical validation and customer profile was successful and an automatic funds check was positive.

OBTransactionIndividualExtendedISOStatusCode

AcceptedSettlementCompleted

Settlement on the debtor's account has been completed.

 

Usage: this can be used by the first agent to report to the debtor that the transaction has been completed.

 

Warning: this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement

OBTransactionIndividualExtendedISOStatusCode

AcceptedSettlementInProcess

All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.

OBTransactionIndividualExtendedISOStatusCode

AcceptedTechnicalValidation

Authentication and syntactical and semantical validation are successful

OBTransactionIndividualExtendedISOStatusCode

AcceptedWithChange

Instruction is accepted but a change will be made, such as date or remittance not sent.

OBTransactionIndividualExtendedISOStatusCode

AcceptedWithoutPosting

Payment instruction included in the credit transfer is accepted without being posted to the creditor customer’s account.

OBTransactionIndividualExtendedISOStatusCode

Cancelled

Request is cancelled.

OBTransactionIndividualExtendedISOStatusCode

NoCancellationProcess

No cancellation process.

OBTransactionIndividualExtendedISOStatusCode

PartiallyAcceptedCancellationRequest

Cancellation is partially accepted.

OBTransactionIndividualExtendedISOStatusCode

PartiallyAcceptedTechnicalCorrect

Authentication and syntactical and semantical validation are successful.

OBTransactionIndividualExtendedISOStatusCode

PaymentCancelled

Transaction has been cancelled.

OBTransactionIndividualExtendedISOStatusCode

Pending

Payment initiation or individual transaction included in the payment initiation is pending. Further checks and status update will be performed.

OBTransactionIndividualExtendedISOStatusCode

PendingCancellationRequest

Cancellation request is pending.

OBTransactionIndividualExtendedISOStatusCode

Received

Payment initiation has been received by the receiving agent.

OBTransactionIndividualExtendedISOStatusCode

Rejected

Payment initiation or individual transaction included in the payment initiation has been rejected.

OBTransactionIndividualExtendedISOStatusCode

RejectedCancellationRequest

Cancellation request is rejected

OBTransactionIndividualStatusReasonCode

Cancelled

Reason why the payment status is cancelled

OBTransactionIndividualStatusReasonCode

PendingFailingSettlement

Reason why the payment status is pending (failing settlement).

OBTransactionIndividualStatusReasonCode

PendingSettlement

Reason why the payment status is pending (settlement).

OBTransactionIndividualStatusReasonCode

Proprietary

Defines a free text proprietary reason.

OBTransactionIndividualStatusReasonCode

ProprietaryRejection

Defines the reason that has been used by the Local Instrument system to reject the transaction

OBTransactionIndividualStatusReasonCode

Suspended

Reason why the payment status is suspended.

OBTransactionIndividualStatusReasonCode

Unmatched

Reason why the payment status is unmatched.

OBExternalSCAExemptionTypeCode

BillPayment

Bill Payment

OBExternalSCAExemptionTypeCode

ContactlessTravel

Contactless Travel

OBExternalSCAExemptionTypeCode

EcommerceGoods

Ecommerce Goods

OBExternalSCAExemptionTypeCode

EcommerceServices

Ecommerce Services

OBExternalSCAExemptionTypeCode

Kiosk

Kisok

OBExternalSCAExemptionTypeCode

Parking

Parking

OBExternalSCAExemptionTypeCode

PartyToParty

Party To Party

OBExternalAppliedAuthenticationApproachCode

CA

Single Factor Strong Customer Authentication

OBExternalAppliedAuthenticationApproachCode

SCA

Multi Factor Strong Customer Authentication

OBReadRefundAccountCode

Yes

Yes

OBReadRefundAccountCode

No

No

4.3.2 ISO Enumerations

These following ISO Enumerations are used in the Payment APIs.

ISO Data Type

Fields

ISO Enumeration Values URL

String

MerchantCategoryCode

https://www.iso.org/standard/33365.html

String

Currency

https://www.iso20022.org/external_code_list.page

String

Country

https://www.iso.org/iso-3166-country-codes.html

4.3.3 Namespaced Enumerations

...