Single Domestic Payment API allows customer initiation of domestic payments including EFTS NRT, DNS and BIL payments.
The API endpoint allows the PISP to ask an ASPSP to create a new domestic-payment-consents resource.
Request to create payment consent:
https://host:port/api/bobf/release1.0.0/domestic-payment-consents
Authorization: Bearer 4ZopnFZFKjr5zDsicSQpLL
x-idempotency-key: XYZ.51403.MLT.30
x-jws-signature: LMlmPSqzISEpar72ce5deMGue4RsZMDnZYG1bW6hdPlvriZ=..G1rrM18vVYBmdmRurS6nIR1yFHR8bGZyIJdvaB5nKGRvm35hTr==
x-fapi-auth-date: Tue, 12 Mar 2020 09:10: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": {
"Initiation": {
"InstructionIdentification": "0616I029",
"EndToEndIdentification": "20190616B002",
"LocalInstrument": "BH.OBF.DNS",
"InstructedAmount": {
"Amount": "200.13",
"Currency": "BHD"
},
"DebtorAccount": {
"SchemeName": "BH.OBF.IBAN",
"Identification": "BH10BBKU00100000003385",
"Name": "Mr Kevin"
},
"CreditorAccount": {
"SchemeName": "BH.OBF.IBAN",
"Identification": "BH89ABIB00000241324234",
"Name": "Mr Kevin"
},
"RemittanceInformation": {
"Reference": "FRESCO-101",
"Unstructured": "Internal ops code 5120101"
}
}
},
"Risk": {
"PaymentContextCode": "EcommerceGoods",
"MerchantCategoryCode": "5967",
"MerchantCustomerIdentification": "053598653254",
"DeliveryAddress": {
"AddressLine": [
"Flat 7",
"Acacia Lodge"
],
"StreetName": "Acacia Avenue",
"BuildingNumber": "27",
"PostCode": "GU31 2ZZ",
"TownName": "Sparsholt",
"CountySubDivision": [
"Wessex"
],
"Country": "BH"
}
}
}
Response:
201 Created
x-jws-signature: LMlmPSqzISEpar72ce5deMGue4RsZMDnZYG1bW6hdPlvriZ=
x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f
Content-Type: application/json
{
"Data": {
"ConsentId": "nwyUJ7mOS3eluGMSyF9kdQ",
"Status": "AwaitingAuthorisation",
"CreationDateTime": "2019-07-16T16:07:34+0000",
"StatusUpdateDateTime": "2019-07-16T16:07:34+0000",
"Initiation": {
"InstructionIdentification": "0616I029",
"EndToEndIdentification": "20190616B002",
"LocalInstrument": "BH.OBF.DNS",
"InstructedAmount": {
"Amount": "200.13",
"Currency": "BHD"
},
"DebtorAccount": {
"SchemeName": "BH.OBF.IBAN",
"Identification": "BH10BBKU00100000003385",
"Name": "Mr Kevin"
},
"CreditorAccount": {
"SchemeName": "BH.OBF.IBAN",
"Identification": "BH89ABIB00000241324234",
"Name": "Mr Kevin"
},
"RemittanceInformation": {
"Reference": "FRESCO-101",
"Unstructured": "Internal ops code 5120101"
}
}
},
"Risk": {
"PaymentContextCode": "EcommerceGoods",
"MerchantCategoryCode": "5967",
"MerchantCustomerIdentification": "053598653254",
"DeliveryAddress": {
"AddressLine": [
"Flat 7",
"Acacia Lodge"
],
"StreetName": "Acacia Avenue",
"BuildingNumber": "27",
"PostCode": "GU31 2ZZ",
"TownName": "Sparsholt",
"CountySubDivision": [
"Wessex"
],
"Country": "BH"
}
},
"Links": {
"Self": "https://host:port/authpage/paymentConsentId/nwyUJ7mOS3eluGMSyF9kdQ"
}
}
A PISP can optionally retrieve a payment resource that has been created to check its status.
https://host:port/api/bobf/release1.0.0/domestic-payment-consents/nwyUJ7mOS3eluGMSyF9kdQ
Request:
Authorisation: Bearer 4ZopnFZFKjr5zDsicSQpLL
x-fapi-auth-date: Sun, 12 Mar 2020 09:32: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
Response:
200 OK
x-jws-signature: LMlmPSqzISEpar72ce5deMGue4RsZMDnZYG1bW6hdPlvriZ=
x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f
Content-Type: application/json
{
"Data": {
"ConsentId": "nwyUJ7mOS3eluGMSyF9kdQ",
"Status": "Consumed",
"CreationDateTime": "2019-07-16T16:07:34+0000",
"StatusUpdateDateTime": "2019-07-16T16:23:23+0000",
"Initiation": {
"InstructionIdentification": "0616I029",
"EndToEndIdentification": "20190616B002",
"InstructedAmount": {
"Amount": "200.13",
"Currency": "BHD"
},
"DebtorAccount": {
"SchemeName": "BH.OBF.IBAN",
"Identification": "BH22BBKU00100000006564",
"Name": "Mr Kevin"
},
"CreditorAccount": {
"SchemeName": "BH.OBF.IBAN",
"Identification": "BH89ABIB00000241324234",
"Name": "Mr Kevin"
},
"RemittanceInformation": {
"Reference": "FRESCO-101",
"Unstructured": "Internal ops code 5120101"
},
"CreditorPostalAddress": {
"AddressLine": []
}
}
}
}
A PISP to ask an ASPSP to confirm funds on a domestic-payment-consents resource.
https://host:port/api/bobf/release1.0.0/domestic-payment-consents/nwyUJ7mOS3eluGMSyF9kdQ/funds-confirmation
Request:
Authorisation: Bearer 4ZopnFZFKjr5zDsicSQpLL
x-fapi-auth-date: Sun, 12 Mar 2020 09:32: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
Response:
200 OK
x-jws-signature: LMlmPSqzISEpar72ce5deMGue4RsZMDnZYG1bW6hdPlvriZ=
x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f
Content-Type: application/json
{
"Data" : {
"FundsAvailableResult" : {
"FundsAvailableDateTime" : "2021-04-27T14:53:52.219+03:00",
"FundsAvailable" : true
}
}
}
Once the domestic-payment-consents has been authorised by the user/customer, the PISP should proceed to submit the domestic-payment for processing.
Request to initiate domestic payment:
https://host:port/api/bobf/release1.0.0/domestic-payments
Authorisation: Bearer 4ZopnFZFKjr5zDsicSQpLL
x-idempotency-key: XYZ.51403.MLT.30
x-jws-signature: LMlmPSqzISEpar72ce5deMGue4RsZMDnZYG1bW6hdPlvriZ=..G1rrM18vVYBmdmRurS6nIR1yFHR8bGZyIJdvaB5nKGRvm35hTr==
x-fapi-auth-date: Tue, 18 Mar 2020 19:43:31 GMT+03:00
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": {
"ConsentId": "nwyUJ7mOS3eluGMSyF9kdQ",
"Initiation": {
"InstructionIdentification": "0521B002",
"EndToEndIdentification": "213020521B002",
"LocalInstrument": "BH.OBF.DNS",
"InstructedAmount": {
"Amount": "165.88",
"Currency": "BHD"
},
"DebtorAccount": {
"SchemeName": "BH.OBF.IBAN",
"Identification": "BH10BBKU00100000003385",
"Name": "Andrea Smith"
},
"CreditorAccount": {
"SchemeName": "BH.OBF.IBAN",
"Identification": "BH89ABIB00000241324234",
"Name": "ACME Inc"
},
"RemittanceInformation": {
"Reference": "FRESCO-101",
"Unstructured": "Internal ops code 5120101"
}
}
},
"Risk": {
"PaymentContextCode": "EcommerceGoods",
"MerchantCategoryCode": "5967",
"MerchantCustomerIdentification": "053598653254",
"DeliveryAddress": {
"AddressLine": [
"Flat 7",
"Acacia Lodge"
],
"StreetName": "Acacia Avenue",
"BuildingNumber": "27",
"PostCode": "GU31 2ZZ",
"TownName": "Sparsholt",
"CountySubDivision": [
"Wessex"
],
"Country": "BH"
}
}
}
Response:
201 Created
x-jws-signature: LMlmPSqzISEpar72ce5deMGue4RsZMDnZYG1bW6hdPlvriZ=..G1rrM18vVYBmdmRurS6nIR1yFHR8bGZyIJdvaB5nKGRvm35hTr==
x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f
Content-Type: application/jsonson
{
"Data": {
"DomesticPaymentId": "nwyUJ7mOS3eluGMSyF9kdQ",
"ConsentId": "nwyUJ7mOS3eluGMSyF9kdQ",
"Status": "Pending",
"CreationDateTime": "2019-07-16T16:07:34+0000",
"StatusUpdateDateTime": "2019-07-16T16:23:23+0000",
"Initiation": {
"InstructionIdentification": "0616I029",
"EndToEndIdentification": "20190616B002",
"LocalInstrument": "BH.OBF.DNS",
"InstructedAmount": {
"Amount": "165.88",
"Currency": "BHD"
},
"DebtorAccount": {
"SchemeName": "BH.OBF.IBAN",
"Identification": "BH10BBKU00100000003385",
"Name": "Mr Kevin"
},
"CreditorAccount": {
"SchemeName": "BH.OBF.IBAN",
"Identification": "BH89ABIB00000241324234",
"Name": "Mr Kevin"
},
"RemittanceInformation": {
"Reference": "FRESCO-101",
"Unstructured": "Internal ops code 5120101"
}
}
},
"Links": {
"Self": "https://host:port/authpage"
}
}
A PISP can optionally retrieve a payment resource that has been created to check its status.
Request:
https://host:port/api/bobf/release1.0.0/domestic-payments/nwyUJ7mOS3eluGMSyF9kdQ
Authorisation: Bearer 2YotnFZFEjr1zCsicMWpAA
x-fapi-auth-date: Tue, 17 Mar 2020 19:43:31 GMT+03:00
x-fapi-customer-ip-address: 104.25.212.99
x-fapi-interaction-id: 93bac548-d2de-4546-b106-880a5018460d Accept: application/json
Accept: application/json
Response:
200 OK
x-jws-signature: V2hhdCB3ZSBnb3QgaGVyZQ0K..aXMgZmFpbHVyZSB0byBjb21tdW5pY2F0ZQ0K
x-fapi-interaction-id: 93bac548-d2de-4546-b106-880a5018460d
Content-Type: application/json
{
"Data": {
"DomesticPaymentId": "nwyUJ7mOS3eluGMSyF9kdQ",
"ConsentId": "nwyUJ7mOS3eluGMSyF9kdQ",
"Status": "AcceptedSettlementCompleted",
"CreationDateTime": "2019-07-16T16:07:34+0000",
"StatusUpdateDateTime": "2019-07-16T16:23:23+0000",
"Initiation": {
"InstructionIdentification": "0616I029",
"EndToEndIdentification": "20190616B002",
"InstructedAmount": {
"Amount": "2.13",
"Currency": "BHD"
},
"DebtorAccount": {
"SchemeName": "BH.OBF.IBAN",
"Identification": "BH22BBKU00100000006564",
"Name": "Mr Kevin"
},
"CreditorAccount": {
"SchemeName": "BH.OBF.IBAN",
"Identification": "BH89ABIB00000241324234",
"Name": "Mr Kevin"
},
"RemittanceInformation": {
"Reference": "FRESCO-101",
"Unstructured": "Internal ops code 5120101"
},
"CreditorPostalAddress": {
"AddressLine": []
}
}
}
}
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.
Request:
https://host:port/api/bobf/release1.0.0/domestic-payments/nwyUJ7mOS3eluGMSyF9kdQ/payment-details
Authorisation: Bearer 2YotnFZFEjr1zCsicMWpAA
x-fapi-auth-date: Tue, 17 Mar 2020 19:43:31 GMT+03:00
x-fapi-customer-ip-address: 104.25.212.99
x-fapi-interaction-id: 93bac548-d2de-4546-b106-880a5018460d Accept: application/json
Accept: application/json
Response:
{
"Data": {
"PaymentStatus": [
{
"Status": "AcceptedCreditSettlementCompleted",
"StatusDetail": {}
}
]
},
"Links": {
"Self": "self"
},
"Meta": {}
}