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/.
Account and Transaction API v3.1.5
This document explains the flow of events related to the Account and Transaction API v3.1.5.Â
Before you begin:
To enable Request-URI validation during the account retrieval process; validate the account ID against the account ID in the consent, open  theÂ
<WSO2_OB_IAM_HOME>/repository/conf/deployment.toml
 file and set the following property to  true and restart the Identity and Access Management server:Â[open_banking.account_id_validation_on_retrieval] enable = true
You need to deploy the Account and Transaction API, to try out the flow.
If you have integrated with OBIE you can use the Dynamic Client Registration v3.2 API. Once you deploy the DCR v3.2 API, you can continue from the Generate application access token step.
- Step 1 - Sign up as a TPP
- Step 2 - Sign in to the Developer Portal as the TPP
- Step 3 - Create an application
- Step 4 - Subscribe to API
- Step 5 - Create and upload certificates
- Step 6 - Generate keys
- Step 7 - Generate application access token
- Step 8 - Initiate account consents
- Step 9 - Authorizing account consents
- Step 10 - Generate user access token
- Step 11 - Invoke Account and Transaction APIs
Step 1 - Sign up as a TPP
In this step, the TPP registers its TPP application in the WSO2 Open Banking Developer portal.
Step 2 - Sign in to the Developer Portal as the TPP
Step 3 - Create an application
Step 4 - Subscribe to API
The TPP user needs to subscribe to the Account and Transaction API in order to access the API resources. Once subscribed, the users can access all the supported services of the API resources.
Step 5 - Create and upload certificates
The TPP user needs to create certificates to validate whether the TPP is registered in a governing entity. It is verified in the TPP Onboarding process. There are two types of certifications that can be added to the client trust stores of the WSO2 Open Banking Identity and Access Management and WSO2 Open Banking API Management modules.
- Root and issuer certificates obtained from Open Banking Implementation Entity.
- eIDAS issuer certificates obtained from the Qualified Trust Service Providers.
See eIDAS Implementation for PSD2 Compliance to find out more information on the two approaches.
In order to support eIDAS or OB certificates in WSO2 Open Banking, you need to update the client trust stores.
Step 6 - Generate keys
The TPP user requires a Client ID(Consumer Key) to access the subscribed APIs.
Step 7 - Generate application access token
When invoking APIs in the Account and Transaction flow, application access tokens must be generated using the client credential grant type. The generated application access token is used to invoke the Account and Transaction API.
Step 8 - Initiate account consents
In this step, the TPP creates a request to get the consent of the PSU to access the accounts and its information from the bank. The Bank sends the request to the PSU stating the accounts and information that the TPP wishes to access. Upon the user approving or denying the account consent, the TPP is now eligible to access the user's account details.
Step 9 - Authorizing account consents
The AISP redirects the bank customer to authenticate and approve/deny application-provided consents.
Step 10 - Generate user access token
In this section, you will be generating an access token using the authorization code generated in the section above.
Step 11 - Invoke Account and Transaction APIs
Following API functionalities are available in the Account and Transaction API.
- GET/ accounts
- GET/ accounts/{AccountId}
- GET/ balances
- GET/ accounts/{AccountId}/balances
- GET/ transactions
- GET/ accounts/{AccountId}/transactions
- GET/ beneficiaries
- GET/ accounts/{AccountId}/beneficiaries
- GET/ direct-debits
- GET/ accounts/{AccountId}/direct-debits
- GET/ standing-orders
- GET/ accounts/{AccountId}/standing-orders
- GET/ products
- GET/ accounts/{AccountId}/product
- GET/ offers
- GET/ accounts/{AccountId}/offers
- GET/ party
- GET/ accounts/{AccountId}/party
- GET/ accounts/{AccountId}/parties
- GET/ scheduled-payments
- GET/ accounts/{AccountId}/scheduled-payments
- GET/ statements
- GET/ accounts/{AccountId}/statements
- GET/ accounts/{AccountId}/statements/{StatementId}
- GET/ accounts/{AccountId}/statements/{StatementId}/file
- GET/ accounts/{AccountId}/statements/{StatementId}/transactions
GET/ accounts
The first step for an AISP after an account request is authorised is to call the GET/ accounts endpoint.
An AISP will be given the full list of accounts that the PSU has authorised the AISP to access. The AccountIds
returned is used to retrieve other resources for a specific AccountId
.
GET/ accounts/{AccountId}
The AISPs are able to retrieve the account information for a given AccountId. The AccountID
is retrieved in the call to GET/ accounts.
GET/ balances
The AISPs are able to retrieve the account information resources in bulk.
This retrieves the resources for all authorised accounts linked to the account request.
GET/ accounts/{AccountId}/balances
The AISPs are able to retrieve the account balance information resource for a specific AccountId.
The AccountId is retrieved in the call to GET/ accounts.
GET/ transactions
The AISPs are able to retrieve the transactions in bulk.
This will retrieve the transactions resources for all authorised accounts linked to the account request.
GET/ accounts/{AccountId}/transactions
The AISPs are able to retrieve the transaction resource for a specific AccountId
. The AccountId
is retrieved in the call to GET/ accounts.
GET/ beneficiaries
The AISPs are able to retrieve the beneficiaries' information in bulk.
This endpoint will retrieve the beneficiaries' resources for all authorised accounts linked to a specific account request.
GET/ accounts/{AccountId}/beneficiaries
The AISPs are able to retrieve the account beneficiaries information resource for a specific AccountId
. The AccountId is retrieved in the call to GET/ accounts.
GET/ direct-debits
The AISPs are able to retrieve direct-debits for all accounts that the PSU has consented to.
This will retrieve the direct-debit resources for all authorised accounts linked to the account request.
GET/ accounts/{AccountId}/direct-debits
The AISPs are able to retrieve the direct-debits for a specific account identified by AccountId
using this endpoint. The AccountId
is retrieved in the call to GET/ accounts.
GET/ standing-orders
The AISPs are able to retrieve the standing orders' resources in bulk.
This will retrieve the scheduled-payments resources for all authorised accounts linked to the account request.
GET/ accounts/{AccountId}/standing-orders
The AISPs are able to retrieve the standing-order resources for a specific AccountId
. The AccountId
is retrieved in the call to GET/ accounts.
GET/ products
The AISPs are able to retrieve the products information in bulk.
This endpoint will retrieve the products resources for all authorised accounts linked to a specific account request.
GET/ accounts/{AccountId}/product
The AISPs are able to retrieve the account product information for a specific AccountId. The AccountId is retrieved in the call to GET/ accounts.
GET/ offers
The AISPs are able to retrieve the offers resources in bulk. This will retrieve the resources for all authorised accounts linked to the account request.
GET/ accounts/{AccountId}/offers
The AISPs are able to retrieve the offers resource for a specific AccountId
. The AccountId
is retrieved in the call to GET/ accounts.
GET/ party
The AISPs are able to retrieve details on the user that has authorised the account-access-consent with the ASPSP:
- In the case of a business account, this will be the details of the party that has given authorisation to the AISP to view the account
- In the case of a joint account, this will be the party that has given authorisation to the AISP to view the account
GET/ accounts/{AccountId}/party
The AISPs are able to retrieve details on the account owner or holder for a given AccountId
.
- In the case of a business, this will be the details of the business
In the case of a joint account, this will be the party that has given authorisation to the AISP to view the account
GET/ accounts/{AccountId}/parties
The AISPs are able to retrieve details on the account owners or holders and operators. The AccountId
is retrieved in the call to GET/ accounts.
GET/ scheduled-payments
The AISPs are able to retrieve the scheduled-payments resources in bulk.
This will retrieve the scheduled-payments resources for all authorised accounts linked to the account request.
GET/ accounts/{AccountId}/scheduled-payments
The AISPs are able to retrieve the scheduled-payments for a specific AccountId
. The AccountId
is retrieved in the call to GET/ accounts.
GET/ statements
The AISPs are able to retrieve statement information for all accounts that the PSU has consented to.
This will retrieve the statement resources for all authorised accounts linked to the account request.
GET/ accounts/{AccountId}/statements
The AISPs are able to retrieve the statements information resource for a given AccountId.
The AccountId
is retrieved in the call to GET/ accounts.
GET/ accounts/{AccountId}/statements/{StatementId}
The AISPs are able to retrieve the statement information resource for a specific statement in the AccountId.
The AccountId
is retrieved in the call to GET/ accounts.
GET/ accounts/{AccountId}/statements/{StatementId}/file
The AISPs are able to retrieve a non-json representation of a specific statement as specified in the Accept header by the AISP. The statement can be downloaded in formats such as pdf
, doc
and csv
.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.2/aisp/accounts/<AccountId>/statements/<StatementId>/file \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' \ -H 'Cache-Control: no-cache' \ -H 'accept: application/pdf' \ --cert <PUBLIC_KEY_FILE_PATH> --key <PRIVATE_KEY_FILE_PATH> \ --output statement.pdf
GET/ accounts/{AccountId}/statements/{StatementId}/transactions
The AISPs are able to retrieve the transaction resources for a specific AccountId
and a StatemntId
.