Versions Compared

Key

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

1.     Overview

The Domestic Payments Consent resource is used by a PISP to register an intent to initiate a Domestic Payment.

This resource description should be read in conjunction with a compatible Payment Initiation API Profile.

...

Table of Contents
maxLevel1
stylenone

1. Version Control

Version

Date

Description of Changes

Bahrain OBF v1.0.0

25th Aug 2020

Initial Release

2.  Overview     

The Domestic Payment Consents resource is used by a PISP to register an intent to initiate a Domestic Payment.

This resource description should be read in conjunction with a Payment Initiation API Profile.

3.  Endpoints

S. No.

Resource

HTTP Operation

Endpoint

Mandatory

Scope

Grant Type

Message Signing

Idempotency Key

Request Object

Response Object

23.1

domestic-payment-consents

POST

POST /domestic-payment-consents

Mandatory

payments

Client Credentials

Signed Request Signed Response

Yes

OBWriteDomesticPaymentConsentRequest

OBWriteDomesticPaymentConsentResponse

23.2

domestic-payment-consents

GET

GET /domestic-payment-consents/{ConsentId}

Mandatory

payments

Client Credentials

Signed Response

No

NA

OBWriteDomesticPaymentConsentResponse

23.3

domestic-payment-consents

GET

GET /domestic-payment-consents/{ConsentId}/funds-confirmation

Mandatory

payments

Authorization Authorisation Code

Signed Response

No

NA

OBWriteFundsConfirmationResponse

...

3.

...

POST /domestic-payment-consents

The API endpoint allows the PISP to ask an ASPSP to create a new domestic-payment-consent consents resource.

  • The POST action indicates to the ASPSP that a domestic-payment consent -consents has been staged. At this point, the PSU user/customer may not have been identified by the ASPSP, and the request payload may not contain any information of the account that should be debited.

  • The endpoint allows the PISP to send a copy of the consent (between PSU user/customer and PISP) to the ASPSP for the PSU user/customer to authorise.

  • The ASPSP creates the domestic-payment-consent consents resource and responds with a unique ConsentId to refer to the resource.

...

3.1.

...

1 Status

The default Status is "AwaitingAuthorisation" immediately after the domestic-payment-consent consents has been created.

 S.No.

Status

Status Definition

1

AwaitingAuthorisation

The consent resource is awaiting PSU user/customer authorisation

 

...

3.

...

GET /domestic-payment-consents/ {ConsentId}

A PISP can retrieve a payment consent resource that they have created to check its status.

  • Once the PSU user/customer authorises the payment-consent resource - the Status status of the payment-consent resource will be updated with "Authorised".

  • If the PSU user/customer rejects the consent or the domestic-payment-consent consents has failed some other ASPSP validation, the Status status will be set to "Rejected".

  • Once a domestic-payment has been successfully created using the domestic-payment-consentconsents, the Status status of the domestic-payment-consent consents will be set to "Consumed".

...

3.2.

...

1 Status

The default Status is "AwaitingAuthorisation" immediately after available status codes for the domestic-payment-consent has been created.resource are:

 S.No.

Status

Status Definition

1

AwaitingAuthorisation

The consent resource is awaiting PSU user/customer authorisation

2

Rejected

The consent resource has been rejected

3

Authorised

The consent resource has been successfully authorised

4

Consumed

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

...

3.

...

3  GET / domestic-payment-consents/{ConsentId}/funds-confirmation

The API endpoint allows the PISP to ask an ASPSP to confirm funds on a domestic-payment-consent resource.

...

consents resource.

  • If the domestic-payment-consent consents resource has an Authorised status the ASPSP must respond to a funds confirmation request (yes/No). If the status is not Authorised, an ASPSP must respond with a 400 (Bad Request) and a BH.OBF.Resource.InvalidConsentStatus error code.

  • Confirmation of funds requests do not affect the status of the domestic-payment-consent consents resource".

...

3.4

...

State Model

...

3.4.

...

1 Payment Order Consent

The state model for the domestic-payment-consent consents resource follows the generic consent state model. However, does not use the Revoked status, as the consent for a domestic-payment is not a long-lived consent.

...

...

4.

...

  Data Models

The data dictionary section gives the detail on the payload content for the Domestic Payment API flows.

Reused Classes

...

4.1  OBDomesticPaymentInitiation

This section describes the OBDomesticPaymentInitiation class which is reused as the Initiation object in the domestic-payment-consent consents resource.

...

4.1.

...

1 UML Diagram

 

...

...

4.1.

...

2 Notes

For the OBDomesticPaymentInitiation object:

  • All elements in the Initiation payload that are specified by the PISP must not be changed via the ASPSP, as this is part of formal consent from the PSU.user/customer

  • If the ASPSP is able to establish a problem with payload or any contextual error during the API call, the ASPSP must reject the domestic-payment-consent consents request immediately.

  • If the ASPSP establishes a problem with the domestic-payment-consent consents after the API call, the ASPSP must set the status of the domestic-payment-consent consents resource to Rejected.

  • DebtorAccount is optional, as the PISP may not know the account identification details for the PSU.user/customer

  • If the DebtorAccount is specified by the PISP and is invalid for the PSUuser/customer, then the domestic-payment-consent consents will be set to Rejected reject after PSU user/customer authentication.

  • Account Identification field usage:

o    Where the "BH.OBF.

...

IBAN" is specified as the SchemeName in the Account identification section (either DebtorAccount or CreditorAccount)

...

, the Identification field must be populated with the

...

full IBAN
o    Where the

...

“BH.OBF.

...

PAN” is specified as the SchemeName in the Account identification section (either DebtorAccount or CreditorAccount), the

...

identification field must be populated with the full

...

Primary Account Number - identifier scheme used to identify a card account

  • As a merchant may be initiating a payment via a PISP two identifiers are included in the payload:

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

...


o    EndToEndIdentification is uniquely generated by the merchant

...

  • Neither the InstructionIdentification nor EndToEndIdentification will be used as the domestic-payment-consent consents resource identifier (ConsentId) as the ConsentId must be uniquely generated by the ASPSP.

  • LocalInstrument is the requested payment scheme for execution.

...

4.1.

...

3 Data Dictionary

Name

Occurrence

XPath

Enhanced Definition

Class/ Datatype

Codes

Pattern

OBDomesticPaymentInitiation

 

OBDomesticPaymentInitiation

The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment.

OBDomesticPaymentInitiation

 

 

InstructionIdentification

1..1

OBDomesticPaymentInitiation/InstructionIdentification

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

Usage: The instruction identification is a point-to-point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.

String

 

 

EndToEndIdentification

1..1

OBDomesticPaymentInitiation/EndToEndIdentification

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

Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field

String

 

 

LocalInstrument

01..1

OBDomesticPaymentInitiation/LocalInstrument

User community specific instrument.

 UsageUsage: 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.INTERNALDNS

  • BH.OBF.EFTS-CSCT-NRT

  • BH.OBF.EFTS-CSCT-DNSBIL

 

InstructedAmount

1..1

OBDomesticPaymentInitiation/InstructedAmount

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

 UsageUsage: This amount has to be transported unchanged through the transaction chain.

OBDomesticPaymentInitiation/InstructedAmount

 

 

Amount

1..1

OBDomesticPaymentInitiation/InstructedAmount/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,13}\.\d{1,5}$

Currency

1..1

OBDomesticPaymentInitiation/InstructedAmount/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}$

DebtorAccount

0..1

OBDomesticPaymentInitiation/DebtorAccount

Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.

OBDomesticPaymentInitiation/DebtorAccount

 

 

SchemeName

1..1

OBDomesticPaymentInitiation/DebtorAccount/SchemeName

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

String

Enum:

  • BH.OBF.BBANBH.OBF.IBAN

  • BH.OBF.PAN

 

Identification

1..1

OBDomesticPaymentInitiation/DebtorAccount/Identification

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

String

 

 

Name

0..1

OBDomesticPaymentInitiation/DebtorAccount/Name

The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.

Note: the account name is not the product name or the nickname of the account.

String

 

 

SecondaryIdentification

0..1

OBDomesticPaymentInitiation/DebtorAccount/SecondaryIdentification

This is secondary identification of the account, as assigned by the account servicing institution. This can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).

String

 

 

CreditorAccount

1..1

OBDomesticPaymentInitiation/CreditorAccount

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

OBDomesticPaymentInitiation/CreditorAccount

 

 

SchemeName

1..1

OBDomesticPaymentInitiation/CreditorAccount/SchemeName

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

String

Enum:

BH.OBF.BBAN

  • BH.OBF.IBAN

  • BH.OBF.PAN

 

Identification

1..1

OBDomesticPaymentInitiation/CreditorAccount/Identification

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

String

 

 

Name

0..1

OBDomesticPaymentInitiation/CreditorAccount/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

 

 

SecondaryIdentification

0..1

OBDomesticPaymentInitiation/CreditorAccount/SecondaryIdentification

This is secondary identification of the account, as assigned by the account servicing institution. This can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).account

String

 

 

CreditorPostalAddress

0..1

OBDomesticPaymentInitiation/CreditorPostalAddress

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

OBPostalAddress

 

 

AddressType

0..1

OBDomesticPaymentInitiation/CreditorPostalAddress/AddressType

Identifies the nature of the postal address.

String

Enum:

  • Business

  • Correspondence

  • DeliveryTo

  • MailTo

  • POBox

  • Postal

  • Residential

  • Statement

 

 

Department

0..1

OBDomesticPaymentInitiation/CreditorPostalAddress/Department

Identification of a division of a large organisation or building.

String

 

 

SubDepartment

0..1

OBDomesticPaymentInitiation/CreditorPostalAddress/SubDepartment

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

String

 

 

AddressLine

0..7

OBDomesticPaymentInitiation/CreditorPostalAddress/AddressLine

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

String

 

 

StreetName

0..1

OBDomesticPaymentInitiation/CreditorPostalAddress/StreetName

Name of a street or thoroughfare.

String

 

 

BuildingNumber

0..1

OBDomesticPaymentInitiation/CreditorPostalAddress/BuildingNumber

Number that identifies the position of a building on a street.

String

 

 

PostCode

0..1

OBDomesticPaymentInitiation/CreditorPostalAddress/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

OBDomesticPaymentInitiation/CreditorPostalAddress/TownName

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

String

 

 

CountrySubDivision

0..1

OBDomesticPaymentInitiation/CreditorPostalAddress/CountrySubDivision

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

String

 

 

Country

0..1

OBDomesticPaymentInitiation/CreditorPostalAddress/Country

Nation with its own government.

String

 

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

AddressLine

0..7

OBDomesticPaymentInitiation/CreditorPostalAddress/AddressLine

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

String

 

 2,2} $

RemittanceInformation

0..1

OBDomesticPaymentInitiation/RemittanceInformation

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

OBDomesticPaymentInitiation/RemittanceInformation

 

 

RemittanceDescription

0..1

OBDomesticPaymentInitiation/RemittanceInformation/ RemittanceDescription

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

String

 

 

Reference

0..1

OBDomesticPaymentInitiation/RemittanceInformation/Reference

Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped

String

 

 

SupplementaryData

0..1

OBDomesticPaymentInitiation/SupplementaryData

Additional information that cannot be captured in the structured fields and/or any other specific block.

OBSupplementaryData

 

 

 

...

4.2  Domestic Payment Consents - Request

The OBWriteDomesticPaymentConsentRequest object will be used for the call to:

  • POST /domestic-payment-consents

...

4.2.

...

1 UML Diagram

...

...

4.2.

...

2 Notes

The domestic-payment-consent consents request contains these objects:

  • Initiation

  • Authorisation

  • SCASupportData

  • Risk

...

4.2.

...

3 Data Dictionary

Name

Occurrence

XPath

Enhanced Definition

Class/ Datatype

Codes

Pattern

OBWriteDomesticPaymentConsentRequest

 

OBWriteDomesticPaymentConsentRequest

 

OBWriteDomesticPaymentConsentRequest

 

 

Data

1..1

OBWriteDomesticPaymentConsentRequest/Data

 

OBWriteDomesticPaymentConsentRequest/Data

 

 

ReadRefundAccount

0..1

OBWriteDomesticPaymentConsentRequest/Data/ReadRefundAccount

Specifies to share the refund account details with PISP

String

Enum:

  • Yes

  • No

 

Initiation

1..1

OBWriteDomesticPaymentConsentRequest/Data/Initiation

The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment.

OBDomesticPaymentInitiation

 

 

Authorisation

0..1

OBWriteDomesticPaymentConsentRequest/Data/Authorisation

The authorisation request from the TPP.PISP

OBWriteDomesticPaymentConsentRequest/Data/Authorisation

 

 

AuthorisationType

0..1

OBWriteDomesticPaymentConsentRequest/Data/Authorisation/AuthorisationType

The type of authorisation flow requested.

String

Enum:

  • Single

 

 

CompletionDateTime

0..1

OBWriteDomesticPaymentConsentRequest/Data/Authorisation/CompletionDateTime

The date and time at which the requested authorisation flow is must be completed.

DateTime

 

 

SCASupportData

0..1

OBWriteDomesticPaymentConsentRequest/Data/SCASupportData

Supporting Data provided by TPPPISP, when requesting SCA Exemption.

OBWriteDomesticPaymentConsentRequest/Data/SCASupportData

 

 

RequestedSCAExemptionType

0..1

OBWriteDomesticPaymentConsentRequest/Data/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

    OBWriteDomesticPaymentConsentRequest/Data/SCASupportData/AppliedAuthenticationApproach

    This field indicates whether the PSU user/customer was subject to SCA performed by the TPPPISP

    String

    Enum:

    • CA

    • SCA

     

    ReferencePaymentOrderId

    0..1

    OBWriteDomesticPaymentConsentRequest/Data/SCASupportData/ReferencePaymentOrderId

    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

     

     

    Risk

    1..1

    OBWriteDomesticPaymentConsentRequest/Risk

    The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.

    OBRisk

     

     

    PaymentContextCode

    0..1

    OBWriteDomesticPaymentConsentRequest/Risk/PaymentContextCode

    This field specifies the payment context

     

    String

    Enum:

    • BillPayment

    • EcommerceGoods

    • EcommerceServices

    • Other

    • PartyToParty

     

    MerchantCategoryCode

    0..1

    OBWriteDomesticPaymentConsentRequest/Risk/MerchantCategoryCode

    Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.

     

    String

     

     

    MerchantCustomerIdentification

    0..1

    OBWriteDomesticPaymentConsentRequest/Risk/MerchantCustomerIdentification

    The unique customer identifier of the PSU user/customer with the merchant.

     

    String

     

     

    DeliveryAddress

    1..1

    OBWriteDomesticPaymentConsentRequest/Risk/DeliveryAddress

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

    It will contain AddressLine, StreetName, BuildingNumber, PostCode, TownName, CountrySubDivision, Country

    OBWriteDomesticPaymentConsentRequest/Risk/DeliveryAddress

     

     

     

    ...

    4.

    ...

    Domestic Payment

    ...

    Consents - Response

    The OBWriteDomesticPaymentConsentResponse object will be used for a response to a call to:

    • POST /domestic-payment-consents

    • GET /domestic-payment-consents/{ConsentId}

    ...

    4.3.

    ...

    1 UML Diagram

    ...

    ...

    4.3.

    ...

    2 Notes

    The domestic-payment-consent consents response contains the full original payload from the domestic-payment-consent consents request, with the additional elements below:

    • ConsentId

    • CreationDateTime the domestic-payment-consent consents resource was created.

    • Status and StatusUpdateDateTime of the domestic-payment-consent consents resource.

    • CutOffDateTime Behaviour is explained in Payment Initiation API Profile, Section - Payment Restrictions -> CutOffDateTime Behaviour.

    • ExpectedExecutionDateTime for the domestic-payment resource if created before CutOffDateTIme CutOffDateTime - the expected DateTime the payment is executed against the Debtor Account. If populated, the ASPSP must update the value with any changes (e.g., after PSU user/customer authorisation).

    • ExpectedSettlementDateTime for the domestic-payment resource if created before CutOffDateTIme CutOffDateTime - the expected DateTime the payment will be received at the Creditor Account. If populated, the ASPSP must update the value with any changes (e.g., after PSU user/customer authorisation).

    • Charges array for the breakdown of applicable ASPSP charges

    • Post successful PSU user/customer Authentication, an ASPSP may provide Debtor/Name in the Payment Order Consent payment-order-consent Response, even when the Payer did not didn't provide the Debtor Account via PISP

    ...

    4.3.

    ...

    3 Data Dictionary

    Name

    Occurrence

    XPath

    Enhanced Definition

    Class/ Datatype

    Codes

    Pattern

    OBWriteDomesticPaymentConsentResponse

     

    OBWriteDomesticPaymentConsentResponse

     

    OBWriteDomesticPaymentConsentResponse

     

     

    Data

    1..1

    OBWriteDomesticPaymentConsentResponse/Data

     

    OBWriteDomesticPaymentConsentResponse/Data

     

     

    ConsentId

    1..1

    OBWriteDomesticPaymentConsentResponse/Data/ConsentId

    OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.

    String

     

     

    CreationDateTime

    1..1

    OBWriteDomesticPaymentConsentResponse/Data/CreationDateTime

    Date and time at which the resource was created

    DateTime

     

     

    Status

    1..1

    OBWriteDomesticPaymentConsentResponse/Data/Status

    Specifies the status of consent resource in code form

    String

    Enum:

    • Authorised

    • AwaitingAuthorisation

    • Consumed

    • Rejected

     

    StatusUpdateDateTime

    1..1

    OBWriteDomesticPaymentConsentResponse/Data/StatusUpdateDateTime

    Date and time at which the resource status was updated

    DateTime

     

     

    ReadRefundAccount

    0..1

    OBWriteDomesticPaymentConsentResponse/Data/ReadRefundAccount

    Specifies to share the refund account details with PISP

    String

    Enum:

    • Yes

    • No

     

    CutOffDateTime

    0..1

    OBWriteDomesticPaymentConsentResponse/Data/CutOffDateTime

    Specified cut-off date and time for the payment-consent

    DateTime

     

     

    ExpectedExecutionDateTime

    0..1

    OBWriteDomesticPaymentConsentResponse/Data/ExpectedExecutionDateTime

    Expected execution date and time for the payment resource.

    DateTime

     

     

    ExpectedSettlementDateTime

    0..1

    OBWriteDomesticPaymentConsentResponse/Data/ExpectedSettlementDateTime

    Expected settlement date and time for the payment resource.

    DateTime

     

     

    Charges

    0..n

    OBWriteDomesticPaymentConsentResponse/Data/Charges

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

    OBWriteDomesticPaymentConsentResponse/Data/Charges

     

     

    ChargeBearer

    0..n

    OBWriteDomesticPaymentConsentResponse/Data/Charges/ChargeBearer

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

    String

    Enum:

    • BorneByCreditor

    • BorneByDebtor

    • FollowingServiceLevel

    • Shared

     

    Type

    0..n

    OBWriteDomesticPaymentConsentResponse/Data/Charges/Type

    This denotes the charge type in a coded form.

    String

    Enum :

    To be determinedEnum:

    • BH.OBF.DNS

    • BH.OBF.NRT

    • BH.OBF.BIL

     

    Amount

    1..1

    OBWriteDomesticPaymentConsentResponse/Data/Charges/Amount

    Amount of money associated with the charge type.

     

    OBActiveOrHistoricCurrencyAndAmount

     

     

    Amount

    1..1

    OBWriteDomesticPaymentConsentResponse/Data/Charges/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

    OBWriteDomesticPaymentConsentResponse/Data/Charges/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}$

    Initiation

    1..1

    OBWriteDomesticPaymentConsentResponse/Data/Initiation

    The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment.

    OBDomesticPaymentInitiation

     

     

    Authorisation

    0..1

    OBWriteDomesticPaymentConsentResponse/Data/Authorisation

    The authorisation request from the TPP.

    OBWriteDomesticPaymentConsentResponse/Data/Authorisation

     

     

    AuthorisationType

    0..1

    OBWriteDomesticPaymentConsentResponse/Data/Authorisation/AuthorisationType

    The type of authorisation flow requested.

    String

    Enum:

    Single

    payment

    OBDomesticPaymentInitiation

     

     

    CompletionDateTimeAuthorisation

    0..1

    OBWriteDomesticPaymentConsentResponse/Data/Authorisation/CompletionDateTime

    The date and time at which the requested authorisation flow is completed.

    DateTime

     

     

    SCASupportData

    0..1

    authorisation request from the PISP

    OBWriteDomesticPaymentConsentResponse/Data/SCASupportData

    Supporting Data provided by TPP, when requesting SCA Exemption.

    OBWriteDomesticPaymentConsentResponse/Data/SCASupportData

    Authorisation

     

     

    RequestedSCAExemptionTypeAuthorisationType

    0..1

    OBWriteDomesticPaymentConsentResponse/Data/SCASupportDataAuthorisation/RequestedSCAExemptionTypeThis field allows a PISP to request specific SCA Exemption for a Payment InitiationAuthorisationType

    The type of authorisation flow requested

    String

      Enum:

  • BillPayment

  • ContactlessTravel

  • EcommerceGoods

  • EcommerceServices

  • Kiosk

  • Parking

  • PartyToParty            

    • Single

     

     

    AppliedAuthenticationApproachCompletionDateTime

    0..1

    OBWriteDomesticPaymentConsentResponse/Data/SCASupportDataAuthorisation/AppliedAuthenticationApproach

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

    String

    Enum:

    • CA

    • SCA

     

    ReferencePaymentOrderIdCompletionDateTime

    The date and time at which the requested authorisation flow is completed

    DateTime

     

     

    SCASupportData

    0..1

    OBWriteDomesticPaymentConsentResponse/Data/SCASupportData/ReferencePaymentOrderId

    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

    Supporting Data provided by PISP, when requesting SCA Exemption

    OBWriteDomesticPaymentConsentResponse/Data/SCASupportData

     

     

    DebtorRequestedSCAExemptionType

    0..1

    OBWriteDomesticPaymentConsentResponse/Data/SCASupportData/DebtorSet of elements used to identify a person or an organisation.RequestedSCAExemptionType

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

    String

     

     

    AppliedAuthenticationApproach

    0..1

    OBWriteDomesticPaymentConsentResponse/Data/Debtor SCASupportData/AppliedAuthenticationApproach

    This field indicates whether the user/customer was subject to SCA performed by the PISP

    String

    Enum:

    • CA

    • SCA

     

    NameReferencePaymentOrderId

    10..1

    OBWriteDomesticPaymentConsentResponse/Data/DebtorSCASupportData/Name

    The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.

    Note: The account name is not the product name or the nickname of the account.ReferencePaymentOrderId

    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

     

     

    Risk

    1..1

    OBWriteDomesticPaymentConsentResponse/Risk

    The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.

    OBRisk

     

     

    PaymentContextCode

    0..1

    OBWriteDomesticPaymentConsentResponse/Risk/PaymentContextCode

    This field specifies the payment context

     

    String

    Enum:

    • BillPayment

    • EcommerceGoods

    • EcommerceServices

    • Other

    • PartyToParty

     

    MerchantCategoryCode

    0..1

    OBWriteDomesticPaymentConsentResponse/Risk/MerchantCategoryCode

    Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.goods the merchant provides for the transaction

     

    String

     

     

    MerchantCustomerIdentification

    0..1

    OBWriteDomesticPaymentConsentResponse/Risk/MerchantCustomerIdentification

    The unique customer identifier of the user/customer with the merchant

     

    String

     

     

    MerchantCustomerIdentificationDebtor

    0..1

    OBWriteDomesticPaymentConsentResponse/Risk/MerchantCustomerIdentification

    The unique customer identifier of the PSU with the merchant.

     /Data/Debtor

    Set of elements used to identify a person or an organisation

    OBWriteDomesticPaymentConsentResponse/Data/Debtor

     

     

    Name

    1..1

    OBWriteDomesticPaymentConsentResponse/Data/Debtor/Name

    The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels

    Note: The account name is not the product name or the nickname of the account

    String

     

     

    DeliveryAddress

    1..1

    OBWriteDomesticPaymentConsentResponse/Risk/DeliveryAddress

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

    It will contain AddressLine, StreetName, BuildingNumber, PostCode, TownName, CountrySubDivision, Country

    OBWriteDomesticPaymentConsentResponse/Risk/DeliveryAddress

     

     

     

    ...

    4.

    ...

    4  Domestic Payment

    ...

    Consents Confirmation of Funds - Response

    The OBWriteFundsConfirmationResponse object will be used for a response to a call to:

    • GET /domestic-payment-consents/{ConsentId}/funds-confirmation

    ...

    4.4.

    ...

    1 UML Diagram

    ...

    ...

    4.4.

    ...

    2 Notes

    The confirmation of funds response contains the result of a funds availability check , or SupplementaryData.

    ...

    4.4.

    ...

    3 Data Dictionary

    Name

    Occurrence

    XPath

    Enhanced Definition

    Class/ Datatype

    Codes

    Pattern

    OBWriteFundsConfirmationResponse

     

    OBWriteFundsConfirmationResponse

     

    OBWriteFundsConfirmationResponse

     

     

    Data

    1..1

    OBWriteFundsConfirmationResponse/Data

     

    OBWriteFundsConfirmationResponse/Data

     

     

    FundsAvailableResult

    0..1

    OBWriteFundsConfirmationResponse/Data/FundsAvailableResult

    Result of a funds availability check.

    OBWriteFundsConfirmationResponse/Data/FundsAvailableResult

     

     

    FundsAvailableDateTime

    1..1

    OBWriteFundsConfirmationResponse/Data/FundsAvailableResult/FundsAvailableDateTime

    Date and time at which the funds availability check was generated.

    DateTime

     

     

    FundsAvailable

    1..1

    OBWriteFundsConfirmationResponse/Data/FundsAvailableResult/FundsAvailable

    Flag to indicate the availability of funds given the Amount in the consent request.

    xs:boolean

     

     

    SupplementaryData

    0..1

    OBWriteFundsConfirmationResponse/Data/SupplementaryData

    Additional information that cannot be captured in the structured fields and/or any other specific block.

    OBSupplementaryData

     

     

    ...

    5.

    ...

      Usage Example

    ...

    5.

    ...

    POST /domestic-payment-consents

    ...

    5.1.

    ...

    1  Request

    POST /domestic-payment-consents

    Authorization: Bearer 4ZopnFZFKjr5zDsicSQpLL

    x-idempotency-key: XYZ.51403.MLT.30

    x-jws-signature: LMlmPSqzISEpar72ce5deMGue4RsZMDnZYG1bW6hdPlvriZ=..G1rrM18vVYBmdmRurS6nIR1yFHR8bGZyIJdvaB5nKGRvm35hTr==

    x-fapi-auth-date: Tue, 18 12 Mar 2020 1909:4310:31 17 GMT+3

    x-fapi-customer-ip-address: 204.35.213.15

    x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f

    Content-Type: application/json

    Accept: application/json

    {

      "Data": {

        "ReadRefundAccount": "No",   

        "Initiation": {
          "InstructionIdentification": "0616I029",

          "EndToEndIdentification": "20190616B002",

          "LocalInstrument": "EFT-CSCT-BH.OBF.DNS",
          "InstructedAmount": {
            "Amount": "2.13",
            "Currency": "BHD"
          },

          "DebtorAccount": {

            "SchemeName": "BH.OBF.IBAN",

            "Identification": "BH10BBKU00100000008876",        "Name": "Aamir KhanBH10BBKU00100000008876",

            "SecondaryIdentificationName": "00023Mohammed Ahmed Abdulla",

          },

          "CreditorAccount": {

            "SchemeName": "BH.OBF.IBAN",

            "Identification": "BH89ABIC00000987654321",

            "Name": "Asif KhanFaisal Hassan Mohammed",

            "SecondaryIdentification": "00025"

          },

                 "CreditorPostalAddress": {

            "AddressType": "Business",

            "DepartmentAddressLine": "TO_BE_CONFIRMED",

            "SubDepartment": "TO_BE_CONFIRMED",

            "StreetName": "Route 1888",
            "XYZ Bank, Diplomatic Area”

            “StreetName”: “Al Barsha”

            "BuildingNumber": "27",
            "PostCode": "317",
            "TownName": "Manama",
            "CountySubDivisionCountrySubDivision": "Manama”       Manama”

                  "Country": "BH",

            "AddressLine": "Block 317, Road 1702, Building 96”

          },

          "RemittanceInformation": {

            "RemittanceDescription": "Internal ops code 5120101",

            "Reference": "STORE-101"

          },

        "Authorisation": {

          "AuthorisationType": "Single",

          "CompletionDateTime": "2020-03-12T09:10:17.594Z594+03:00"

        },

        "SCASupportData": {

          "RequestedSCAExemptionType": " BillPayment ",

          "AppliedAuthenticationApproach": "CASCA",

          "ReferencePaymentOrderId": "08976"

        }

      },

      "Risk": {

        "PaymentContextCode": "BillPayment",

        "MerchantCategoryCode": "00017002345",

        "MerchantCustomerIdentification": "00017180023456789",

        "DeliveryAddress": {

            "AddressLine": "Block 317, Road 1702, Building 96”,

          "SubDepartment": "TO_BE_CONFIRMED",

          "XYZ Bank, Diplomatic Area”

     "StreetName": "Route 1888",

                  "BuildingNumber": "27",

            "PostCode": "317",

            "TownName": "Manama",

                  "CountySubDivisionCountrySubDivision": "Manama”       Manama”      

            "Country": "BH",    }

      }

    }

    ...

    5.1.

    ...

    2  Response

    201 Created

    x-jws-signature: LMlmPSqzISEpar72ce5deMGue4RsZMDnZYG1bW6hdPlvriZ=

    x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f

    Content-Type: application/json

     {

      "Data": {

        "ConsentId": "56565656",

        "CreationDateTime": "2020-03-12T09:10:17.595Z595+03:00",

        "Status": "Authorised",

        "StatusUpdateDateTime": "2020-03-12T09:10:17.595Z595+03:00",

        "ReadRefundAccount": "No",

        "CutOffDateTime": "2020-03-12T09:10:17.595Z595+03:00",

        "ExpectedExecutionDateTime": "2020-03-12T09:10:17.595Z595+03:00",

        "ExpectedSettlementDateTime": "2020-03-12T09:10:17.595Z595+03:00",

        "Charges": [

          {

            "ChargeBearer": "BorneByCreditor",

            "Type": "TO_BE_CONFIRMEDBH.OBF.DNS",

            "Amount": {

              "Amount": "2.13",

              "Currency": "BHD"

            }

          }

        ],

        "Initiation": {
          "InstructionIdentification": "07171I030",
          "EndToEndIdentification": "20200716D004",
          "LocalInstrument": "EFT-CSCT-BH.OBF.DNS",
          "InstructedAmount": {
            "Amount": "2.13",
            "Currency": "BHD"
          },   

          "DebtorAccount": {
            "SchemeName": "BH.OBF.IBAN",
            "Identification": "BH10BBKU001000000012345",
            "Name": "Aamir KhanMohammed Ahmed Abdulla",
            "SecondaryIdentification": "00026"
          },
          "CreditorAccount": {
            "SchemeName": "BH.OBF.IBAN",
            "Identification": "BH89ABIB00000123456789",
            "Name": "Asif KhanFaisal Hassan Mohammed",
            "SecondaryIdentification": "00026"
          }

                 "CreditorPostalAddress": {

            "AddressType": "Business",

            "DepartmentAddressLine": "TO_BE_CONFIRMED",

            "SubDepartment": "TO_BE_CONFIRMED",

            "StreetName": "Route 1888",
            "XYZ Bank, Diplomatic Area”

            “StreetName”: “Al Barsha”

            "BuildingNumber": "27",
            "PostCode": "317",
            "TownName": "Manama",
            "CountySubDivisionCountrySubDivision": "Manama”       Manama”

                  "Country": "BH",        "AddressLine": "Block 317, Road 1702, Building 96”      },

          "RemittanceInformation": {

            "RemittanceDescription": "Internal ops code 5120101",

            "Reference": "STORE-101"

          },  

        "Authorisation": {

          "AuthorisationType": "Single",

          "CompletionDateTime": "2020-03-12T09:10:17.595Z595+03:00"

        },

        "SCASupportData": {

          "RequestedSCAExemptionType": "BillPayment",

          "AppliedAuthenticationApproach": "CASCA",

          "ReferencePaymentOrderId": "00000026"

        }

      },

     

         "Risk": {

        "PaymentContextCode": "BillPayment",

        "MerchantCategoryCode": "002345",

        "MerchantCustomerIdentification": "0023456789",

        "DeliveryAddress": {

            "AddressLine": "Block 317, Road 1702, Building 96”,

          "SubDepartment": "TO_BE_CONFIRMED",

          "XYZ Bank, Diplomatic Area”

     "StreetName": "Route 1888",

                  "BuildingNumber": "27",

            "PostCode": "317",

            "TownName": "Manama",

                  "CountySubDivisionCountrySubDivision": "Manama”       Manama”      

            "Country": "BH",       }

      },

      "Links": {

        "Self": "www.TBC.com"

       

      },

      "Meta": {

        "TotalPages": 02,

        "FirstAvailableDateTime": "2020-03-12T09:10:17.596Z596+03:00",

        "LastAvailableDateTime": "2020-03-12T09:10:17.596Z596+03:00"

      }

    }

    ...

    5.

    ...

    GET /domestic-payment-consents/{ConsentId}

    ...

    5.2.

    ...

    1  Request

    GET /domestic-payment-consents/56984(ConsentId)

    AuthorizationAuthorisation: Bearer 4ZopnFZFKjr5zDsicSQpLL

    x-fapi-auth-date: Sun, 24 12 Mar 2020 1909:4332:31 22 GMT+03:00

    x-fapi-customer-ip-address: 204.35.213.15

    x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f

    Accept: application/json

    ...

    5.2.

    ...

    2  Response

    200 OK

    x-jws-signature: LMlmPSqzISEpar72ce5deMGue4RsZMDnZYG1bW6hdPlvriZ=

    x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f

    Content-Type: application/json

     {

      "Data": {

        "ConsentId": "56565656",

        "CreationDateTime": "2020-03-12T09:32:22.537Z537+03:00",

        "Status": "Authorised",

        "StatusUpdateDateTime": "2020-03-12T09:32:22.537Z537+03:00",

        "ReadRefundAccount": "No",

        "CutOffDateTime": "2020-03-12T09:32:22.537Z537+03:00",

        "ExpectedExecutionDateTime": "2020-03-12T09:32:22.537Z537+03:00",

        "ExpectedSettlementDateTime": "2020-03-12T09:32:22.537Z537+03:00",

        "Charges": [

          {

            "ChargeBearer": "BorneByCreditor",

            "Type": "TO_BE_CONFIRMEDBH.OBF.DNS",

            "Amount": {

              "Amount": "2.13",

              "Currency": "BHD"

            }

          }

        ], 

     "Initiation": {
                         "InstructionIdentification": "07171I030",
                         "EndToEndIdentification": "20200716D004",
                         "LocalInstrument": "EFT-CSCT-BH.OBF.DNS",
                "InstructedAmount": {
                    "Amount": "2.13",
                    "Currency": "BHD"
                }

                         }

    }

          "DebtorAccount": {

                    "SchemeName": "BH.OBF.IBAN",

                    "Identification": "BH10BBKU001000000012345",

                    "Name": "Aamir KhanMohammed Ahmed Abdulla",        "SecondaryIdentification": "00026"

                },

                "CreditorAccount": {

                    "SchemeName": "BH.OBF.IBAN",

                    "Identification": "BH89ABIB00000123456789",

                    "Name": "Asif KhanFaisal Hassan Mohammed",

            "SecondaryIdentification": "00026"
          },

          "CreditorPostalAddress": {

            "AddressType": "Business",

            "DepartmentAddressLine": " "XYZ Bank, Diplomatic Area”

            "SubDepartment": " ",        "StreetName": "Route 1888",

                    "BuildingNumber": "27",

                    "PostCode": "317",

                    "TownName": "Manama",

                    "CountySubDivisionCountrySubDivision": "Manama”       Manama”      

                    "Country": "BH",        "AddressLine": "BH"Block 317, Road 1702, Building 96”      ,    },

          "RemittanceInformation": {

            "RemittanceDescription": "Internal ops code 5120101",

            "Reference": "STORE-101"       },

        "Authorisation": {

          "AuthorisationType": "Single",

          "CompletionDateTime": "2020-03-12T09:10:17.594Z"    594+03:00" },

        "SCASupportData": {

          "RequestedSCAExemptionType": " BillPayment ",

          "AppliedAuthenticationApproach": "CASCA",

          "ReferencePaymentOrderId": "000000"     }

      },

      "Risk": {

        "PaymentContextCode": "BillPayment",

        "MerchantCategoryCode": "002345",

        "MerchantCustomerIdentification": "0023456789",

        "DeliveryAddress": {

                  "AddressLine": "Block 317, Road 1702, Building 96”,

          "SubDepartment": "TO_BE_CONFIRMED",

          "XYZ Bank, Diplomatic Area”

             "StreetName": "Route 1888",

            "BuildingNumber": "27",

            "PostCode": "317",

                  "TownName": "Manama",

                  "CountySubDivisionCountrySubDivision": "Manama”       Manama”      

            "Country": "BH",      },

     "Links": {

        "Self": "www.TBC.com"   

      },

      "Meta": {

        "TotalPages": 02,

        "FirstAvailableDateTime": "2020-03-12T09:32:22.537Z537+03:00",

        "LastAvailableDateTime": "2020-03-12T09:32:22.537Z537+03:00"

      }

    }

      

    CENTRAL BANK OF BAHRAIN © 2020