This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Integrating with the Core Banking System for Berlin

Accounts information retrieval

In the Open Banking accounts flow, integration with the core banking system is utilized during account information retrieval requests.

The URL of the API endpoints of the core banking system, which corresponds to the account's information retrieval requests, should be configured in the In sequences of the Accounts API. For more information, see Configuring sequence files.

In the Open Banking accounts flow, the WSO2 Open Banking solution manages the consent initiation and authorisation. When the TPP makes account information retrieval requests, the WSO2 Open Banking solution validates the consent request, and upon successful validation, the consent-related information is directed to the core banking system in the form of a header, Account-Request-Information.

This header is a signed JWT, which needs to be decoded by the core banking system. A sample decoded JSON is given below:

{
	 "access": {
	 "balances": [
 	{ "iban": "DE40100100103307118608" },
 	{ "iban": "DE02100100109307118603",
	"currency": "USD"
	 },
	 { "iban": "DE67100100101306118605" }
	 ],
 	"transactions": [
	 { "iban": "DE40100100103307118608" },
	 { "maskedPan": "123456xxxxxx1234" }
	 ]
	 },
	 "recurringIndicator": "true",
	 "validUntil": "2017-11-01",
	 "frequencyPerDay": "4"
}

In the core banking system, the required validations should be performed, and the response be built, according to the requirements of the Open Banking Accounts specification.

Payments submission

In the Open Banking payments flow, integration with the core banking system is utilised during payment submission requests.

The URL of the API endpoints of the core banking system, which corresponds to the payment submission requests, should be configured in the In sequences of the Payments API. For more information, see Configuring sequence files.

In the Open Banking payments flow, the WSO2 Open Banking solution manages the consent initiation and authorisation. When the TPP makes a payment submission request, it is validated, and upon successful validation, the request is directed to the core banking system. The account ID selected by the PSU, is sent in the form of an encoded header, Account-ID.

In the core banking system, the required validations should be performed, and the response be built, according to the requirements of the Open Banking Payments specification.

Payable Accounts API

The backend endpoint for the Payable Accounts API is used to get the payable accounts of the user during the authentication flow. If Third Party Application (TPP) has not provided any debtor account in payment initiation request, PSU is able to select one of these payable accounts when he provide the consent to the payment. If the TPP has sent the debtor account in the initiation request, this API is used to validate the provided account against actual payable accounts. consentId and userId (PSU ID) requires to be sent in the URL as query parameters when calling this API.

The backend endpoint for payable accounts retrieval can be configured in open-banking.xml file as below.


<!--Configure endpoint to retrieve payable accounts passing userId https://localhost:9443/as400/payable-accounts/{userId} -->
    <PayableAccountsRetriveEndpoint>http://APIM_HOSTNAME:9763/open-banking/services/bankaccounts/bankaccountservice/payable-accounts</PayableAccountsRetriveEndpoint>

Shareable Accounts API

Shareable Accounts API is used for two purposes as follows.

  1. Validate the debtor account if the PISP sends it in the initiation request

  2. Populate the payment accounts on the consent page if the initiation request does not contain a debtor account.

consentId and userId (PSU ID) requires to be sent in the URL as query parameters when calling this API.

The backend endpoint for shareable accounts retrieval can be configured in open-banking.xml file as below.

<!--Configure endpoint to retrieve sharable accounts passing userId https://localhost:9443/as400/sharable-accounts/{userId} -->
    <SharableAccountsRetriveEndpoint>http://APIM_HOSTNAME:9763/open-banking/services/bankaccounts/bankaccountservice/sharable-accounts</SharableAccountsRetriveEndpoint>