Account Information Services Provider or ‘AISP’ refers to a person licensed by the CBB to provide account information services using an online portal, mobile or smartphone application, device or other electronic media which a consenting customer can use to obtain aggregate or consolidated information about his/her account balances with ASPSP. The role of an AISP is restricted to providing the technology or other means in order to provide account information to the customer and the handling of communication or electronic documents between the customer and the licensees should the terms of the offer include such services. AISPs must not receive or otherwise handle customer funds in the course of providing account information services.
An Application Programming Interface or ‘API’ is a set of routines, protocols, and tools for building software applications. An API specifies how software components should interact.
Account Servicing Payment Service Providers or ‘ASPSP’ refers to the CBB licensees (include conventional retail bank licensees and Islamic retail bank licensees) who provide and maintain a payment account for a user/customer and, in the context of the Open Banking Ecosystem are entities that publish Read/Write APIs to permit, with customer consent, payments initiated by third party providers and/or make their customers’ account transaction data available to third party providers via their API endpoints.
Bahrain Open Banking Framework or ‘Bahrain OBF’ has been developed considering the relevant use cases (payments as well as account information sharing) that has several business opportunities for the banks and third party providers (TPPs) and caters to the customer’s unique needs in Bahrain. The framework covers both technical as well as non-technical aspects of Open Banking.
Consumer Device Cardholder Verification Method or ‘CDCVM’ is a card network supported verification process performed by the customer and is applicable when the customer assesses transactions originating from mobile devices. CDCVM helps evaluate the legitimate owner of the payment instrument.
The API requests and responses must use a UTF-8 character encoding. This is the default character encoding for JSON (RFC 7158 - https://tools.ietf.org/html/rfc7158#section-8.1) However, an ASPSP's downstream system may not accept some UTF-8 characters, such as emoji characters (e.g. "J" may not be an acceptable Payment Reference). If the ASPSP rejects the message with a UTF-8 character that cannot be processed, the ASPSP must respond with an HTTP 400 (Bad Request) status code.
Client-Initiated Backchannel Authentication or ‘CIBA’ is an authentication flow in which AISPs/PISPs, that can obtain a valid identifier for the user they want to authenticate, will be able to initiate an interaction flow to authenticate their users without having end-user interaction from the consumption device. The flow involves direct communication from the Client to the ASPSPs without redirection through the user's browser (consumption device).
Functionality, endpoints and fields marked as Conditional may be required in some cases for regulatory compliance (for example, if these are made available to the user/customer in the ASPSP's existing Online Channel, or if ASPSPs (or a subset of ASPSPs) have been mandated by a regulatory requirement).
For functionalities and endpoints:
A natural or legal person (end-user) making use of a payment service as a payee, payer or both. A natural or legal person (end-user) making use of an account information service as part of a consent driven data sharing arrangement. Also referred to as a "Payment Service User" or "PSU".
Kindly refer to https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml for the HTTP response codes for different HTTP methods, across all Read/Write API endpoints.
An idempotency key is used to guard against the creation of duplicate resources when using the POST API endpoints (where indicated).
If an idempotency key is required for an API endpoint:
If an idempotency key is not required for an API endpoint:
Functionality, endpoints and fields marked as Mandatory are required in all cases for regulatory compliance and/or for the API to function and deliver essential customer outcomes.
For functionalities and endpoints:
This is an informed suggestion but that the point is optional.
Message encryption is implemented through JSON Web Encryption (JWE).
The approach differs from message signing in that:
If an ASPSP does not support message encryption then should reject any requests with a Content-type or Accept headers that indicate that message encryption is required.
The APIs require TLS 1.2 Mutual Authentication and this may be used as a means of non-repudiation. However, it would be difficult to maintain digital records and evidence of non-repudiation if the API only relied on TLS 1.2. A solution for non-repudiation that does not rely on TLS, would be achieved by providing a JWS with detached content (as defined in RFC 7515 - Appendix F) in the HTTP header of each API request. The HTTP body would form an un-encoded payload as defined in RFC 7797. The JWS would be signed using an algorithm that supports asymmetric keys. A request would be signed by an AISP/PISP's private key and a response would be signed by the ASPSP's private key. Not all API requests and responses are signed. Whether message signing is mandatory, supported or not supported is documented along with each API.
This is an absolute requirement as per Bahrain OBF.
This is an absolute prohibition as per Bahrain OBF.
Open Banking is the secure way to give providers access to customer’s financial information. It opens the way to new products and services that could help customers and small to medium-sized businesses get a better deal. It could also give you a more detailed understanding of customer’s accounts, and help customers find new ways to make the most of their money. Open banking also refers to sharing and leveraging of data (for which customer has consented) by banks with third party developers and firms to build applications and services. For example, third party providers (TPPs) provide real-time payments, greater financial transparency options for account holders, marketing and cross-selling opportunities.
Functionality and endpoints marked as Optional are not necessarily required for regulatory compliance but may be implemented to enable desired customer outcomes.
For functionalities and endpoints:
The Personal Data Protection Law or ‘PDPL’ is the data protection law of Bahrain that applies to any entity processing personal data wholly or partly by automated means – as well as the manual processing of personal data as part of an organized filing system.
Payment Initiation Service Provider or ‘PISP’ refers to a person licensed by the CBB to initiate payment or credit transfers for the customer from an account held with an ASPSP. The role of a PISP is restricted to providing the technology or other means in order to initiate a payment order and the handling of communication or electronic documents between the customer and the licensees should the terms of the offer include such services. PISPs must not receive or otherwise handle customer funds in the course of providing payment initiation services.
Strong Customer Authentication or ‘SCA’ is an authentication based on the use of three elements categorized as knowledge (something only the user knows [for example, a password]), possession (something only the user possesses [for example, particular cell phone and number]) and inherence (something the user is [or has, for example, a fingerprint or iris pattern]) that are independent, so the breach of one does not compromise the others, and is designed in such a way as to protect the confidentiality of the authentication data.
There may exist valid reasons to ignore a particular point in Bahrain OBF, but the full implications need to be understood before choosing a different course.
There may exist valid reasons when a particular point is acceptable or even useful, but the full implications need to be understood before implementing any point described with this label.
A number of resources in the specification include a section for Supplementary Data. This is intended to allow ASPSPs to accept or provide information in a request or response that is not catered for by other sections of the resource definition. The Supplementary Data section is defined as an empty JSON object in the specification. Wherever used, an ASPSP must define and document (on their developer portal) their own structure, usage and (mandatory/optional) requirements for Supplementary Data. An ASPSP must not use Supplementary Data if an element already exists in the OBF standard that fulfills the requirement.
Third Party Providers or “TPP” are CBB licensees that use APIs developed to Standards to access customer’s accounts, in order to provide account information services and/or to initiate payments.
Third Party Providers are either Payment Initiation Service Providers (PISPs) or Account Information Service Providers (AISPs) or both Payment Initiation Service Providers (PISPs) and Account Information Service Providers (AISPs).
The Unified Modeling Language™ or ‘UML®’ is a standard visual modeling language intended to be used for:
UML is a common language for business analysts, software architects and developers used to describe, specify, design, and document existing or new business processes, structure and behavior of artifacts of software systems.
Ain’t Markup Language or ‘YAML’ is a human friendly, cross language, unicode based data serialization language designed around the common native structures of agile programming languages. It is broadly useful for programming needs ranging from configuration files to Internet messaging to object persistence to data auditing.