The Payments Initiation BBK Open Banking API enables TPP applications to make payments directly from a customer's account. Customers remain in control, providing approval for each payment.
BBK payment initiation Open banking API provides the following services to TPPs:
BBK payment initiation Open banking API allows the following types of domestic payments:
The Payment Initiation is intended to initiate a single domestic payment with the consent of the customer.
The process of gaining confirmation of payment request from a customer is a multi-step process. TPP must complete each of the steps below in order to initiate a payment request:
Related security requirements:
TPP must specify Local instrument parameter in payment consent. Allowed local instruments are:
Related security requirements:
TPP must specify Local instrument parameter in payment. Allowed local instruments are:
Request to create payment consent:
https://<host>:<port>/api/domestic-payment-consents
Content-Type:application/json
Authorization:Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJzdWIiOiJUUFAxIiwic2NvcGUiOiJwYXltZW50cyIsImlzcyI6IkFQSV9HVyIsImV4cCI6MTU2MzM3OTA4OSwiaWF0IjoxNTYzMjkyNjg5fQ.UVZPUokFLygOBv3pJzI5c6mAEmeipCqvtx3Shy7vf0I68uUQrdCsSzjSzQSmoO08SMDFlt1dP_6jgXSPSjLAA9fw2TyaXAGy8TJu_sOSeGSqYQvC6bQeO3maI6rzdx2OizbrIu3rKIBekp3mbblBuJ7f9t8ErRQ70Ody8MXE4z3CZa5QdbhhzdpIZB6vfBrn0TfdegUTtJi-fAJr9gLBMKrg1zj9x78RS3yAggLqFqI4QsSrMVhB-IT_xAlXICB9tmcUYFpgYA2OYHBsq9IzAmxPJ2MO3qe9h_S7XTVzdKxV3O9RzJ__75lw8RnRyGxM_k-ekUksNAr7s4sejpXFBg
UserAgent:B-6t99-yRUGaNOy3otR1cA
{
"Data": {
"Initiation": {
"InstructionIdentification": "0616I029",
"EndToEndIdentification": "20190616B002",
"LocalInstrument": "EFT-CSCT-DNS",
"InstructedAmount": {
"Amount": "2.13",
"Currency": "BHD"
},
"DebtorAccount": {
"SchemeName": "IBAN",
"Identification": "BH10BBKU00100000003385",
"Name": "Mr Kevin",
"SecondaryIdentification": "00023"
},
"CreditorAccount": {
"SchemeName": "IBAN",
"Identification": "BH89ABIB00000241324234",
"Name": "Mr Kevin",
"SecondaryIdentification": "00024"
},
"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:
HTTP/1.1 201 Created
x-fapi-interaction-id: 93bac548-d2de-4546-b106-880a5018460d
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": "EFT-CSCT-DNS",
"InstructedAmount": {
"Amount": "2.13",
"Currency": "BHD"
},
"DebtorAccount": {
"SchemeName": "IBAN",
"Identification": "BH10BBKU00100000003385",
"Name": "Mr Kevin",
"SecondaryIdentification": "00023"
},
"CreditorAccount": {
"SchemeName": "IBAN",
"Identification": "BH89ABIB00000241324234",
"Name": "Mr Kevin",
"SecondaryIdentification": "00024"
},
"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": "UK"
}
},
"Links": {
"Self": "https://pg:9045/authpage/paymentConsentId/nwyUJ7mOS3eluGMSyF9kdQ"
}
}
Request to initiate domestic payment:
https://<host>:<port>/api/domestic-payments
Content-Type:application/json
Authorization:Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJzdWIiOiJUUFAxIiwiY29uc2VudElkIjoibnd5VUo3bU9TM2VsdUdNU3lGOWtkUSIsImlzcyI6IkFQSV9HVyIsImV4cCI6MTU2MzM4MDAwMywiaWF0IjoxNTYzMjkzNjAzfQ.JzeuQYfmxmyTHYUWcKMzt8NVjTO9T0EgOvLdo-cde7JL0yd8yHwgAHSUdsWxDYJMMVlFr1ITeVwFr2tefD4hIXIznuSjGXkfRjqeD1Oqgg1olc6v64T4Iyo4guHABDA4h8vJJbSUA4fnIkRP134A_sW3DGbeuW73_ooU2q4BUvVu_58v_xWUyuUJv5dB_3b8Z40eFNSb32OKl8tabQ_rhQPhcwbfpjdgJl2K-2fTyOpAwXcreaN0IkUnZNxAYjlBycJPSUDCql4xiclM6iEkXHl6KZON5wjgpvVwGOgznSKoyxDfIy6OAGOiS-4MIZLnAomwoFNlokz5X9mHi0LJFg
UserAgent:B-6t99-yRUGaNOy3otR1cA
{
"Data": {
"ConsentId": "58923",
"Initiation": {
"InstructionIdentification": "0521B002",
"EndToEndIdentification": "213020521B002",
"LocalInstrument": "EFT-CSCT-NRT",
"InstructedAmount": {
"Amount": "165.88",
"Currency": "BHD"
},
"DebtorAccount": {
"SchemeName": "PAN",
"Identification": "5555555555554444",
"Name": "Andrea Smith",
"SecondaryIdentification": "0002"
},
"CreditorAccount": {
"SchemeName": "PAN",
"Identification": "08080021325698",
"Name": "ACME Inc",
"SecondaryIdentification": "0002"
},
"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:
HTTP/1.1 201 Created
x-fapi-interaction-id: 93bac548-d2de-4546-b106-880a5018460d
Content-Type: application/json
{
"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": "EFT-CSCT-DNS",
"InstructedAmount": {
"Amount": "2.13",
"Currency": "BHD"
},
"DebtorAccount": {
"SchemeName": "IBAN",
"Identification": "BH10BBKU00100000003385",
"Name": "Mr Kevin",
"SecondaryIdentification": "00023"
},
"CreditorAccount": {
"SchemeName": "IBAN",
"Identification": "BH89ABIB00000241324234",
"Name": "Mr Kevin",
"SecondaryIdentification": "00024"
},
"RemittanceInformation": {
"Reference": "FRESCO-101",
"Unstructured": "Internal ops code 5120101"
}
}
},
"Links": {
"Self": "https://pg:9045/authpage"
}
}
A PISP can optionally retrieve a payment consent resource that has been created to check its status.
Request:
https://<host>:<port>/api/domestic-payments/nwyUJ7mOS3eluGMSyF9kdQ
Authorization:Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJzdWIiOiJUUFAxIiwic2NvcGUiOiJwYXltZW50cyIsImlzcyI6IkFQSV9HVyIsImV4cCI6MTU2MzM3OTA4OSwiaWF0IjoxNTYzMjkyNjg5fQ.UVZPUokFLygOBv3pJzI5c6mAEmeipCqvtx3Shy7vf0I68uUQrdCsSzjSzQSmoO08SMDFlt1dP_6jgXSPSjLAA9fw2TyaXAGy8TJu_sOSeGSqYQvC6bQeO3maI6rzdx2OizbrIu3rKIBekp3mbblBuJ7f9t8ErRQ70Ody8MXE4z3CZa5QdbhhzdpIZB6vfBrn0TfdegUTtJi-fAJr9gLBMKrg1zj9x78RS3yAggLqFqI4QsSrMVhB-IT_xAlXICB9tmcUYFpgYA2OYHBsq9IzAmxPJ2MO3qe9h_S7XTVzdKxV3O9RzJ__75lw8RnRyGxM_k-ekUksNAr7s4sejpXFBg
Accept:application/json
UserAgent:B-6t99-yRUGaNOy3otR1cA
Response:
HTTP/1.1 200 OK
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": "IBAN",
"Identification": "BH22BBKU00100000006564",
"Name": "Mr Kevin"
},
"CreditorAccount": {
"SchemeName": "IBAN",
"Identification": "BH89ABIB00000241324234",
"Name": "Mr Kevin"
},
"RemittanceInformation": {
"Reference": "FRESCO-101",
"Unstructured": "Internal ops code 5120101"
},
"CreditorPostalAddress": {
"AddressLine": []
}
}
}
}
A PISP can optionally retrieve a payment resource that has been created to check its status.
https://<host>:<port>/api/domestic-payment-consents/nwyUJ7mOS3eluGMSyF9kdQ
Request:
Authorization:Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJzdWIiOiJUUFAxIiwic2NvcGUiOiJwYXltZW50cyIsImlzcyI6IkFQSV9HVyIsImV4cCI6MTU2MzM3OTA4OSwiaWF0IjoxNTYzMjkyNjg5fQ.UVZPUokFLygOBv3pJzI5c6mAEmeipCqvtx3Shy7vf0I68uUQrdCsSzjSzQSmoO08SMDFlt1dP_6jgXSPSjLAA9fw2TyaXAGy8TJu_sOSeGSqYQvC6bQeO3maI6rzdx2OizbrIu3rKIBekp3mbblBuJ7f9t8ErRQ70Ody8MXE4z3CZa5QdbhhzdpIZB6vfBrn0TfdegUTtJi-fAJr9gLBMKrg1zj9x78RS3yAggLqFqI4QsSrMVhB-IT_xAlXICB9tmcUYFpgYA2OYHBsq9IzAmxPJ2MO3qe9h_S7XTVzdKxV3O9RzJ__75lw8RnRyGxM_k-ekUksNAr7s4sejpXFBg
Accept:application/json
UserAgent:B-6t99-yRUGaNOy3otR1cA
Response:
HTTP/1.1 200 OK
x-fapi-interaction-id: 93bac548-d2de-4546-b106-880a5018460d
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": "2.13",
"Currency": "BHD"
},
"DebtorAccount": {
"SchemeName": "IBAN",
"Identification": "BH22BBKU00100000006564",
"Name": "Mr Kevin"
},
"CreditorAccount": {
"SchemeName": "IBAN",
"Identification": "BH89ABIB00000241324234",
"Name": "Mr Kevin"
},
"RemittanceInformation": {
"Reference": "FRESCO-101",
"Unstructured": "Internal ops code 5120101"
},
"CreditorPostalAddress": {
"AddressLine": []
}
}
}
}