Table of Contents | ||||
---|---|---|---|---|
|
1. Version Control
Version | Date | Description of Changes |
Bahrain OBF v1.0.0 | 25th Aug 2020 | Initial Release |
2. Overview
The Domestic Future Dated Payments resource is used by a PISP to initiate a Domestic Future Dated Payment.
This resource description should be read in conjunction with a compatible Payment Initiation API Profile.
...
3. Endpoints
Endpoints for the resource - and available methods.
S. No. | Resource | HTTP Operation | Endpoint | Mandatory | Scope | Grant Type | Message Signing | Idempotency Key | Request Object | Response Object |
23.1 | domestic-future-dated-payments | POST | POST /domestic-future-dated-payments | Conditional | payments | Authorisation Code | Signed Request Signed Response | Yes | OBWriteDomesticFutureDatedPayment | OBWriteDomesticFutureDatedPaymentResponse |
23.2 | domestic-future-dated-payments | GET | GET /domestic-future-dated-payments/{DomesticFutureDatedPaymentId} | Mandatory (if resource POST implemented) | payments | Client Credentials | Signed Response | No | No | OBWriteDomesticFutureDatedPaymentResponse |
23.3 | payment-details | GET | GET /domestic-future-dated-payments/{DomesticFutureDatedPaymentId}/payment-details | Optional | payments | Client Credentials | Signed Response | No | No | OBWriteDomesticFutureDatedPaymentIdPaymentDetailsResponse
|
23.4 | domestic-future-dated-payments | PATCH | PATCH /domestic-future-dated-payments/{DomesticFutureDatedPaymentId} | Conditional | payments | Client Credentials | Signed Request Signed Response | No | OBPatchDomesticFutureDatedPayment | OBWriteDomesticFutureDatedPaymentResponse |
...
3.1 POST/domestic-future-dated-payments
Once the domestic-future-dated-payment-consent consents has been authorised by the PSUuser/customer, the PISP can proceed to submitting the domestic-future-dated-payment payments for processing:
This is done by making a POST request to the domestic-future-dated-payments endpoint.
This request is an instruction to the ASPSP to begin the domestic future dated payment Domestic Future Dated Payment journey. The PISP must submit the domestic future dated payment Domestic Future Dated Payment immediately, however, there are some scenarios where the ASPSP may not warehouse the domestic future dated payment Domestic Future Dated Payment immediately (e.g., busy periods at the ASPSP)
The PISP must ensure that the Initiation and Risk sections of the domestic-future-dated-payment payments match the corresponding Initiation and Risk sections of the domestic-future-dated-payment-consent consents resource. If the two do not match, the ASPSP must ASPSP must not process the request and must respond with a 400 (Bad Request).
Any operations on the domestic-future-dated-payment payments resource will not result in a Status change for the domestic-future-dated-payment payments resource
...
3.1.1 Status
A domestic-future-dated-payment payments can only be created if its corresponding domestic-future-dated-payment-consent consents resource has the status of "Authorised".
The domestic-future-dated-payment payments resource that is created successfully must have one of the following Status codes:
Status |
InitiationPending |
InitiationFailed |
InitiationCompleted |
...
3.2 GET /domestic-future-dated-payments/{DomesticFutureDatedPaymentId}
A PISP can retrieve the domestic-future-dated-payment payments to check its status.
...
3.2.1 Status
The domestic-future-dated-payment payments resource must have one of the following Status codes:
Status |
InitiationPending |
InitiationFailed |
InitiationCompleted |
Cancelled |
...
3.3 GET /domestic-future-dated-payments/{DomesticFutureDatedPaymentId}/payment-details
A PISP can retrieve the Details of the underlying payment transaction via this endpoint. This resource allows ASPSPs to return richer list of Payment Statuses, and if available payment scheme related statuses.
...
3.3.1 Status
The domestic-future-dated-payments - payment-details must have one of the following PaymentStatusCode code-set enumerations:
Status |
Accepted |
AcceptedCancellationRequest |
AcceptedTechnicalValidation |
AcceptedCustomerProfile |
AcceptedFundsChecked |
AcceptedWithChange |
Pending |
Rejected |
AcceptedSettlementInProcess |
AcceptedSettlementCompleted |
AcceptedWithoutPosting |
AcceptedCreditSettlementCompleted |
Cancelled |
NoCancellationProcess |
PartiallyAcceptedCancellationRequest |
PartiallyAcceptedTechnicalCorrect |
PaymentCancelled |
PendingCancellationRequest |
Received |
RejectedCancellationRequest |
...
3.4 PATCH /domestic-future-dated-payments/{DomesticFutureDatedPaymentId}
PSUs User/Customer can setup, through PISPs, an instruction to their ASPSPs to cancel a future dated domestic paymentFuture Dated Domestic Payment.
PISPs can allow cancellation of only those specific payments that are initiated through the respective PISPs portal.
...
3.4.1 Status
Status |
RejectedCancellationRequest |
AcceptedCancellationRequest |
PendingCancellationRequest |
...
3.5 State Model
...
3.5.1 Payment Order Consent
The state model for the domestic-future-dated-payment payments resource describes the initiation status only . Ii.e., not the subsequent execution of the domestic-future-dated-paymentpayments.
...
The definitions for the Status:
S.No. | Status | Status Definition |
1 | InitiationPending | The initiation of the payment-order is pending. |
2 | InitiationFailed | The initiation of the payment-order has failed. |
3 | InitiationCompleted | The initiation of the payment-order is complete. |
4 | Cancelled | Payment initiation has been successfully cancelled after having received a request for cancellation |
...
4. Data Model
The data dictionary section gives the detail on the payload content for the Domestic future dated payment Future Dated Payment API flows.
...
4.1 OBDomesticFutureDatedInitiation (Reused classes)
The OBDomesticFutureDatedInitiation class is defined in the domesticthe domestic-future-dated-payment-consents pageconsents page.
...
4.2 Domestic Future Dated Payment– Request
The OBWriteDomesticFutureDatedPayment object will be used for the call to:
POST /domestic-future-dated-payments
...
4.2.1 UML Diagram
...
...
4.2.2 Notes
The domestic-future-dated-payment payments request object contains the:
ConsentId.
The full Initiation and Risk objects from the domestic-future-dated-payment-consent consents request.
The Initiation and Risk sections of the domestic-future-dated-payment payments request must match the Initiation and Risk sections of the corresponding domestic-future-dated-payment-consent consents request.
...
4.2.3 Data Dictionary
Name | Occurrence | XPath | Enhanced Definition | Class/ Datatype | Codes | Pattern |
OBWriteDomesticFutureDatedPayment |
| OBWriteDomesticFutureDatedPayment |
| OBWriteDomesticFutureDatedPayment |
|
|
Data | 1..1 | OBWriteDomesticFutureDatedPayment/Data |
| OBWriteDomesticFutureDatedPayment/Data |
|
|
ConsentId | 1..1 | OBWriteDomesticFutureDatedPayment/Data/ConsentId | OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource. | String |
|
|
Initiation | 1..1 | OBWriteDomesticFutureDatedPayment/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 future dated domestic payment.Single Future Dated Domestic Payment | OBDomesticFutureDatedInitiation |
|
|
Risk | 1..1 | OBWriteDomesticFutureDatedPayment/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 |
|
|
...
4.3 Domestic Future Dated Payment - Response
The OBWriteDomesticFutureDatedPaymentResponse object will be used for a response to a call to:
POST /domestic-future-dated-payments
GET /domestic-future-dated-payments /{DomesticFutureDatedPaymentId}
...
4.3.1 UML Diagram
...
...
4.3.2 Notes
The domestic-future-dated-payment payments response object contains the:
DomesticFutureDatedPaymentId.
ConsentId.
CreationDateTime the domestic-future-dated-payment payments resource was created.
Status and StatusUpdateDateTime of the domestic-future-dated-payment payments resource.
ExpectedExecutionDateTime for the domestic-future-dated-payment payments resource.
ExpectedSettlementDateTime for the domestic-future-dated-payment payments resource.
Refund account details, if requested by PISP as part of the domesticdomestic-future-dated-payment-consents resource.
Charges array - for the breakdown of applicable ASPSP charges.
The Initiation object from the domestic-future-dated-payment-consent.consents
An ASPSP should conditionally provide Debtor/Name in the Payment Order Response, even when the Payer user/customer didn't provide the Debtor Account via PISP
...
4.3.3 Data Dictionary
Name | Occurrence | XPath | Enhanced Definition | Class/ Datatype | Codes | Pattern |
OBWriteDomesticFutureDatedPaymentResponse |
| OBWriteDomesticFutureDatedPaymentResponse |
| OBWriteDomesticFutureDatedPaymentResponse |
|
|
Data | 1..1 | OBWriteDomesticFutureDatedPaymentResponse/Data |
| OBWriteDomesticFutureDatedPaymentResponse/Data |
|
|
DomesticFutureDatedPaymentId | 1..1 | OBWriteDomesticFutureDatedPaymentResponse/Data/DomesticFutureDatedPaymentId | OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic future dated payment Domestic Future Dated Payment resource | String |
|
|
ConsentId | 1..1 | OBWriteDomesticFutureDatedPaymentResponse/Data/ConsentId | OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource | String |
|
|
CreationDateTime | 1..1 | OBWriteDomesticFutureDatedPaymentResponse/Data/CreationDateTime | Date and time at which the message was created | DateTime |
|
|
Status | 1..1 | OBWriteDomesticFutureDatedPaymentResponse/Data/Status | Specifies the status of the payment order resource | String | Enum:
|
|
StatusUpdateDateTime | 1..1 | OBWriteDomesticFutureDatedPaymentResponse/Data/StatusUpdateDateTime | Date and time at which the resource status was updated | DateTime |
|
|
ExpectedExecutionDateTime | 0..1 | OBWriteDomesticFutureDatedPaymentResponse/Data/ExpectedExecutionDateTime | Expected execution date and time for the payment resource | DateTime |
|
|
ExpectedSettlementDateTime | 0..1 | OBWriteDomesticFutureDatedPaymentResponse/Data/ExpectedSettlementDateTime | Expected settlement date and time for the payment resource | DateTime |
|
|
Refund | 0..1 | OBWriteDomesticFutureDatedPaymentResponse/Data/Refund | Unambiguous identification of the refund account to which a refund will be made as a result of the transaction | OBDomesticRefundAccount |
|
|
Charges | 0..n | OBWriteDomesticFutureDatedPaymentResponse/Data/Charges | Set of elements used to provide details of a charge for the payment initiation | OBCharge |
|
|
Initiation | 1..1 | OBWriteDomesticFutureDatedPaymentResponse/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 future dated domestic paymentSingle Future Dated Domestic Payment | OBDomesticFutureDatedInitiation |
|
|
Debtor | 0..1 | OBWriteDomesticFutureDatedPaymentResponse/Data/Debtor | Set of elements used to identify a person or an organisation. | OBWriteDomesticFutureDatedPaymentResponse/Data/Debtor |
|
|
Name | 1..1 | OBWriteDomesticFutureDatedPaymentResponse/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 ASPSP’s online channels. | String |
|
|
...
4.4 Domestic Future Dated Payment Order - Payment Details – Response
The OBWriteDomesticFutureDatedPaymentDetailsResponse object will be used for a response to a call to:
GET /domestic-future-dated-payments/{DomesticFutureDatedPaymentId}/payment-details
...
4.4.1 UML Diagram
...
...
4.4.2 Data Dictionary
Name | Occurrence | XPath | Enhanced Definition | Class/ Datatype | Codes | Pattern |
OBWriteDomesticFutureDatedPaymentDetailsResponse |
| OBWriteDomesticFutureDatedPaymentDetailsResponse |
| OBWriteDomesticFutureDatedPaymentDetailsResponse |
|
|
Data | 1..1 | OBWriteDomesticFutureDatedPaymentDetailsResponse/Data |
| OBWriteDomesticFutureDatedPaymentDetailsResponse/Data |
|
|
PaymentStatus | 0..n | OBWriteDomesticFutureDatedPaymentDetailsResponse/Data/PaymentStatus | Payment status details. | OBWritePaymentDetails |
|
|
...
4.5 Domestic Future Dated Payment – Patch Payment Status - Request
The OBPatchDomesticFutureDatedPayment object will be used for the call to:
PATCH /domestic-future-dated-payments/{DomesticFutureDatedPaymentId}
...
4.5.1 UML Diagram
...
...
4.5.2 Data Dictionary
Name | Occurrence | XPath | Enhanced Definition | Class/ Datatype | Codes | Pattern |
OBPatchDomesticFutureDatedPayment |
| OBPatchDomesticFutureDatedPayment |
| OBPatchDomesticFutureDatedPayment |
|
|
Data | 1..1 | OBPatchDomesticFutureDatedPayment/Data |
| OBPatchDomesticFutureDatedPayment/Data |
|
|
ConsentId | 1..1 | OBPatchDomesticFutureDatedPayment/Data/ConsentId | OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource | String |
|
|
Status | 1..1 | OBPatchDomesticFutureDatedPayment/Data /Status | Specifies the status of the payment order resource | String | Enum:
|
...
|
|
5. Usage Example
5.1 POST /domestic-future-dated-payments
5.1.1 Request
|
|
5.1.2 Response
|
|
5.2 PATCH /domestic-future-dated-payments/{DomesticFutureDatedPaymentId}
5.2.1 Request
|
|
5.2.2 Response
|
|
CENTRAL BANK OF BAHRAIN © 2020