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