Domestic Future Dated Payments
1. Version Control
Version | Date | Description of Changes |
Bahrain OBF v1.0.0 | 28th Oct 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 |
3.1 | domestic-future-dated-payments | POST | POST /domestic-future-dated-payments | Conditional | payments | Authorisation Code | Signed Request Signed Response | Yes | OBWriteDomesticFutureDatedPayment | OBWriteDomesticFutureDatedPaymentResponse |
3.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 |
3.3 | payment-details | GET | GET /domestic-future-dated-payments/{DomesticFutureDatedPaymentId}/payment-details | Optional | payments | Client Credentials | Signed Response | No | No | OBWriteDomesticFutureDatedPaymentIdPaymentDetailsResponse
|
3.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-consents has been authorised by the user/customer, the PISP can proceed to submitting the domestic-future-dated-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 journey. The PISP must submit the Domestic Future Dated Payment immediately, however, there are some scenarios where the ASPSP may not warehouse the 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-payments match the corresponding Initiation and Risk sections of the domestic-future-dated-payment-consents resource. If the two do not match, the ASPSP must not process the request and must respond with a 400 (Bad Request)
Any operations on the domestic-future-dated-payments resource will not result in a Status change for the domestic-future-dated-payments resource
3.1.1 Status
A domestic-future-dated-payments can only be created if its corresponding domestic-future-dated-payment-consents resource has the status of "Authorised".
The domestic-future-dated-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-payments to check its status.
3.2.1 Status
The domestic-future-dated-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}
User/Customer can setup, through PISPs, an instruction to their ASPSPs to cancel a Future 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-payments resource describes the initiation status only i.e., not the subsequent execution of the domestic-future-dated-payments.
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 detail on the payload content for the Domestic Future Dated Payment API flows.
4.1 OBDomesticFutureDatedInitiation (Reused classes)
The OBDomesticFutureDatedInitiation class is defined in the domestic-future-dated-payment-consents 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-payments request object contains the:
ConsentId
The full Initiation and Risk objects from the domestic-future-dated-payment-consents request
The Initiation and Risk sections of the domestic-future-dated-payments request must match the Initiation and Risk sections of the corresponding domestic-future-dated-payment-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 | 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 | 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-payments response object contains the:
DomesticFutureDatedPaymentId
ConsentId
CreationDateTime the domestic-future-dated-payments resource was created
Status and StatusUpdateDateTime of the domestic-future-dated-payments resource
ExpectedExecutionDateTime for the domestic-future-dated-payments resource
ExpectedSettlementDateTime for the domestic-future-dated-payments resource
Refund account details, if requested by PISP as part of the domestic-future-dated-payment-consents resource
Charges array - for the breakdown of applicable ASPSP charges
The Initiation object from the domestic-future-dated-payment-consents
An ASPSP should conditionally provide Debtor/Name in the Payment Order Response, even when the 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 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 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 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