Domestic Payment Consents

Domestic Payment Consents

1. Version Control

Version

Date

Description of Changes

Bahrain OBF v1.0.0

28th Oct 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

3.1

domestic-payment-consents

POST

POST /domestic-payment-consents

Mandatory

payments

Client Credentials

Signed Request Signed Response

Yes

OBWriteDomesticPaymentConsentRequest

OBWriteDomesticPaymentConsentResponse

3.2

domestic-payment-consents

GET

GET /domestic-payment-consents/{ConsentId}

Mandatory

payments

Client Credentials

Signed Response

No

NA

OBWriteDomesticPaymentConsentResponse

3.3

domestic-payment-consents

GET

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

Mandatory

payments

Authorisation Code

Signed Response

No

NA

OBWriteFundsConfirmationResponse

3.1  POST/domestic-payment-consents

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

  • The POST action indicates to the ASPSP that a domestic-payment-consents has been staged. At this point, the 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 user/customer and PISP) to the ASPSP for the user/customer to authorise

  • The ASPSP creates the domestic-payment-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-consents has been created.

 S.No.

Status

Status Definition

1

AwaitingAuthorisation

The consent resource is awaiting user/customer authorisation

 

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

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

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

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

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

3.2.1 Status

The available status codes for the domestic-payment-consent resource are:

 S.No.

Status

Status Definition

1

AwaitingAuthorisation

The consent resource is awaiting 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-consents resource.

  • If the domestic-payment-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-consents resource

3.4 State Model

3.4.1 Payment Order Consent

The state model for the domestic-payment-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 detail on the payload content for the Domestic Payment API flows.

4.1  OBDomesticPaymentInitiation

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

4.1.1 UML Diagram