This document explains the flow of events related to the Payment Initiation API v3.1.1.
Before you begin
You need to deploy the Payment Initiation API in <WSO2_OB_APIM_HOME>/repository/resources/finance/apis/openbanking.org.uk/Payments/3.1.1/payment-swagger-3.1.1.yaml
. Click here to see how to deploy APIs for WSO2 Open Banking UK.
If you have integrated with OBIE you can use the Dynamic Client Registration v3.2 API. Click here to see how to deploy DCR v3.2 API. Once you deploy the API you can continue from the Generate application access token step.
- Step 1 - Sign up as a TPP
- Step 2 - Approve the TPP
- Step 3 - Sign in to the API store as the TPP
- Step 4 - Create an application
- Step 5 - Subscribe to an API
- Step 6 - Create certificates
- Step 7 - Generate keys
- Step 8 - Approve Production Key generation
- Step 9 - Generate application access token
- Step 10 - Initiate account consents
- Step 11 - Authorizing account consents
- Step 12 - Generate user access token
- Step 13 - Invoke Account and Transaction APIs
Step 1 - Sign up as a TPP
A Third-Party Provider(TPP), is an authorized third-party that allows merchants to accept a wide variety of payments through a single channel/third-party application, and manage the entire payment flow from start to finish. For more information on the role, see here.
The TPP needs to register its Payment Initiation Service Provider (PISP) application in WSO2 API store in order to access the data.
Step 2 - Approve the TPP
Now that you have signed up as a TPP, an admin who overlooks all TPP sign-up forms must approve it.
It is not mandatory to include the approval step for approving the TPP. In order to add this step, you need to configure workflows in the WSO2 Open Banking solution.
Step 3 - Sign in to the API store as the TPP
Step 4 - Create an application
Step 5 - Subscribe to an API
The TPP user needs to subscribe to the PaymentInitiationAPI - v3.1.1
API in order to access API resources. Once subscribed to a certain API, the users are subscribing to all the supported services of the API resources.
Step 6 - Create certificates
The TPP user needs to create certificates to validate whether the TPP is registered in a governing entity.
Step 7 - Generate keys
The TPP user requires a Client ID(Consumer Key) and a Client Secret(Consumer Secret) to access the subscribed APIs.
Step 8 - Approve Production Key generation
This step includes instructions to an Approver user to review and approve a request to generate production keys for an application.
It is not mandatory to include the approval step for the Production Key generation. In order to add this step, you need to configure workflows in the WSO2 Open Banking solution.
Step 9 - 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 PaymentInitiationAPI - v3.1.1 API.
Step 10 - 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 wish to access. Upon the user approving or denying the account consent, the TPP is now eligible to access the user's account details.
Step 11 - Authorizing account consents
The AISP redirects the bank customer to authenticate and approve/deny application-provided consents.
Step 12 - Generate user access token
In this section, you will be generating an access token using the authorization code generated in the section above.
Step 13 - Invoke Account and Transaction APIs
Following API functionalities are available in the Account and Transaction API.
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
.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/accounts \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' -k \ -H 'x-fapi-financial-id: open-bank'
{ "Meta": { "TotalPages": 1 }, "Links": { "Self": "/accounts" }, "Data": { "Account": [ { "AccountId": "30080012343456", "Currency": "GBP", "AccountType": "Personal", "AccountSubType": "CurrentAccount", "Nickname": "Bills" } ] } }
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.
curl -X GET \ https://localhost:8243/open-banking/v3.1.1/aisp/accounts/<AccountId> \ -k -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Meta": { "TotalPages": 1 }, "Links": { "Self": "https://api.alphabank.com/open-banking/v2.0/accounts/30080012343456" }, "Data": { "Account": [ { "AccountId": "30080012343456", "Currency": "GBP", "AccountType": "Personal", "AccountSubType": "CurrentAccount", "Nickname": "Bills" } ] } }
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 Try out the Payment Initiation API v3.1.1.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/accounts/<AccountId>/balances \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "Balance": [ { "Type": "InterimAvailable", "AccountId": "30080012343456", "CreditLine": [ { "Type": "Pre-Agreed", "Included": true, "Amount": { "Amount": "1000.00", "Currency": "GBP" } } ], "Amount": { "Amount": "1230.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit", "DateTime": "2017-04-05T10:43:07+00:00" } ] }, "Links": { "Self": "/accounts/30080012343456/balances/" }, "Meta": { "TotalPages": 1 } }
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.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/balances \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "Balance": [ { "Type": "InterimBooked", "AccountId": "30080012343456", "Amount": { "Amount": "57.36", "Currency": "GBP" }, "CreditDebitIndicator": "Debit", "DateTime": "2017-05-02T14:22:09+00:00" } ] }, "Links": { "Self": "/balances/" }, "Meta": { "TotalPages": 1 } }
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 Try out the Payment Initiation API v3.1.1.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/accounts/<AccountId>/beneficiaries \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ Data": { "Beneficiary": [ { "AccountId": "30080012343456", "Reference": "Towbar Club", "CreditorAccount": { "SchemeName": "SortCodeAccountNumber", "Identification": "80200112345678", "Name": "Mrs Juniper" }, "BeneficiaryId": "Ben1" } ] }, "Links": { "Self": "/accounts/30080012343456/beneficiaries/" }, "Meta": { "TotalPages": 1 } }
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.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/beneficiaries \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "Beneficiary": [ { "AccountId": "30080012343456", "Reference": "Towbar Club", "CreditorAccount": { "SchemeName": "SortCodeAccountNumber", "Identification": "80200112345678", "Name": "Mrs Juniper" }, "BeneficiaryId": "Ben1" } ] }, "Links": { "Self": "/beneficiaries/" }, "Meta": { "TotalPages": 1 } }
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 Try out the Payment Initiation API v3.1.1.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/accounts/<AccountId>/direct-debits \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "DirectDebit": [ { "PreviousPaymentDateTime": "2017-04-05T10:43:07+00:00", "AccountId": "30080012343456", "MandateIdentification": "Caravanners", "DirectDebitStatusCode": "Active", "DirectDebitId": "DD03", "PreviousPaymentAmount": { "Amount": "0.57", "Currency": "GBP" }, "Name": "Towbar Club 3 - We Love Towbars" } ] }, "Links": { "Self": "/accounts30080012343456/direct-debits/" }, "Meta": { "TotalPages": 1 } }
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.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/direct-debits \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "DirectDebit": [ { "PreviousPaymentDateTime": "2017-04-05T10:43:07+00:00", "AccountId": "30080012343456", "MandateIdentification": "Caravanners", "DirectDebitStatusCode": "Active", "DirectDebitId": "DD03", "PreviousPaymentAmount": { "Amount": "0.57", "Currency": "GBP" }, "Name": "Towbar Club 3 - We Love Towbars" } ] }, "Links": { "Self": "/direct-debits/" }, "Meta": { "TotalPages": 1 } }
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 Try out the Payment Initiation API v3.1.1.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/accounts/<AccountId>/offers \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "Offers": [ { "OfferId": "Offer1", "AccountId": "30080012343456", "Description": "Credit limit increase for the account up to £10000.00", "Amount": { "Amount": "10000.00", "Currency": "GBP" }, "OfferType": "LimitIncrease" }, { "OfferId": "Offer2", "AccountId": "30080012343456", "Description": "Balance transfer offer up to £2000", "Amount": { "Amount": "2000.00", "Currency": "GBP" }, "OfferType": "BalanceTransfer" } ] } "Links": { "Self": "/accounts30080012343456/offers/" }, "Meta": { "TotalPages": 1 } }
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.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/offers \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "Offers": [ { "OfferId": "Offer1", "AccountId": "30080012343456", "Description": "Credit limit increase for the account up to £10000.00", "Amount": { "Amount": "10000.00", "Currency": "GBP" }, "OfferType": "LimitIncrease" } ] }, "Links": { "Self": "/offers/" }, "Meta": { "TotalPages": 1 } }
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 Try out the Payment Initiation API v3.1.1 .
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/accounts/<AccountId>/parties \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "Party": [ { "Relationships": { "Account": { "Related": "/accounts/30080012343456", "Id": 30080012343456 } }, "BeneficialOwnership": true, "PartyId": "PABC123", "FullLegalName": "Semiotec Limited", "Address": [ { "StreetName": "Street", "BuildingNumber": "15", "TownName": "London", "Country": "GB", "AddressType": "Business", "PostCode": "NW1 1AB" } ], "AccountRole": "UK.OBIE.Principal", "PartyType": "Sole", "EmailAddress": "[email protected]", "Name": "Semiotec", "LegalStructure": "UK.OBIE.PrivateLimitedCompany" }, { "PartyNumber": "0000007456", "Relationships": { "Account": { "Related": "/accounts/30080012343456", "Id": 30080012343456 } }, "BeneficialOwnership": false, "PartyId": "PXSIF023", "FullLegalName": "Mr Kevin Bartholmew Atkinson", "AccountRole": "UK.OBIE.Administrator", "PartyType": "Delegate", "EmailAddress": "[email protected]", "Name": "Kevin Atkinson", "LegalStructure": "UK.OBIE.Individual" } ] }, "Links": { "Self": "/accounts/30080012343456/parties/" }, "Meta": { "TotalPages": 1 } }
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
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/accounts/<AccountId>/party \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "Party": { "Email": "[email protected]", "PartyId": "PABC123", "Address": { "StreetName": "Street", "BuildingNumber": "15", "TownName": "London", "AddressType": "Business", "PostCode": "NW1 1AB" }, "PartyType": "Sole", "Name": "Semiotec" } }, "Links": { "Self": "/accounts30080012343456/party/" }, "Meta": { "TotalPages": 1 } }
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
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/party \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "Party": { "Email": "[email protected]", "PartyId": "PXSIF023", "PartyType": "Delegate", "Name": "abc user" } }, "Links": { "Self": "/party/" }, "Meta": { "TotalPages": 1 } }
GET /accounts/{AccountId}/product
AccountId
. The AccountId
is retrieved in the call to Try out the Payment Initiation API v3.1.1.curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/accounts/<AccountId>/product \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "Product": [ { "AccountId": "30080012343456", "ProductName": "321 Product", "ProductType": "PersonalCurrentAccount", "ProductId": "51B" } ] }, "Links": { "Self": "/accounts30080012343456/product" }, "Meta": { "TotalPages": 1 } }
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.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/products \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "Product": [ { "AccountId": "30080012343456", "ProductName": "321 Product", "ProductType": "PersonalCurrentAccount", "ProductId": "51B" }, { "AccountId": "30080098763459", "ProductName": "321 Product", "ProductType": "PersonalCurrentAccount", "ProductId": "51B" }, { "AccountId": "30080098971337", "ProductName": "321 Product", "ProductType": "PersonalCurrentAccount", "ProductId": "51B" } ] }, "Links": { "Self": "/products/" }, "Meta": { "TotalPages": 1 } }
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 Try out the Payment Initiation API v3.1.1 .
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/accounts/<AccountId>/scheduled-payments \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'Postman-Token: d045684b-643f-4ac5-b37f-b15a0caf0d15' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "ScheduledPayment": [ { "AccountId": "30080012343456", "CreditorAccount": { "SchemeName": "SortCodeAccountNumber", "Identification": "23605490179017", "Name": "Mr Tee" }, "ScheduledPaymentDateTime": "2017-05-05T00:00:00+00:00", "InstructedAmount": { "Amount": "10.00", "Currency": "GBP" }, "ScheduledPaymentId": "SP03", "ScheduledType": "Execution" } ] }, "Links": { "Self": "/accounts/30080012343456/scheduled-payments/" }, "Meta": { "TotalPages": 1 } }
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.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/scheduled-payments \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN> -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "ScheduledPayment": [ { "AccountId": "30080012343456", "CreditorAccount": { "SchemeName": "SortCodeAccountNumber", "Identification": "23605490179017", "Name": "Mr Tee" }, "ScheduledPaymentDateTime": "2017-05-05T00:00:00+00:00", "InstructedAmount": { "Amount": "10.00", "Currency": "GBP" }, "ScheduledPaymentId": "SP03", "ScheduledType": "Execution" }, { "AccountId": "30080098763459", "CreditorAccount": { "SchemeName": "SortCodeAccountNumber", "Identification": "23605490179017", "Name": "Mr Tee" }, "ScheduledPaymentDateTime": "2017-05-05T00:00:00+00:00", "InstructedAmount": { "Amount": "10.00", "Currency": "GBP" }, "ScheduledPaymentId": "SP03", "ScheduledType": "Execution" }, { "AccountId": "30080098971337", "CreditorAccount": { "SchemeName": "SortCodeAccountNumber", "Identification": "23605490179017", "Name": "Mr Tee" }, "ScheduledPaymentDateTime": "2017-05-05T00:00:00+00:00", "InstructedAmount": { "Amount": "10.00", "Currency": "GBP" }, "ScheduledPaymentId": "SP03", "ScheduledType": "Execution" } ] }, "Links": { "Self": "/scheduled-payments/" }, "Meta": { "TotalPages": 1 } }
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 Try out the Payment Initiation API v3.1.1 .
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/accounts/<AccountId>/standing-orders \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "StandingOrder": [ { "NextPaymentAmount": { "Amount": "0.56", "Currency": "GBP" }, "AccountId": "30080012343456", "NextPaymentDateTime": "2017-08-13T00:00:00+00:00", "StandingOrderId": "Ben3", "Reference": "Towbar Club 2 - We Love Towbars", "StandingOrderStatusCode": "Active", "CreditorAccount": { "SchemeName": "SortCodeAccountNumber", "Identification": "80200112345678", "Name": "Mrs Juniper" }, "Frequency": "EvryWorkgDay", "FirstPaymentAmount": { "Amount": "0.57", "Currency": "GBP" }, "FirstPaymentDateTime": "2017-08-12T00:00:00+00:00", "FinalPaymentAmount": { "Amount": "0.56", "Currency": "GBP" }, "FinalPaymentDateTime": "2027-08-12T00:00:00+00:00" } ] }, "Links": { "Self": "/accounts30080012343456/standing-orders/" }, "Meta": { "TotalPages": 1 } }
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.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/standing-orders \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'Postman-Token: 36b82581-9a4c-4092-9ed8-444ece8e3c25' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "StandingOrder": [ { "NextPaymentAmount": { "Amount": "0.56", "Currency": "GBP" }, "AccountId": "30080012343456", "NextPaymentDateTime": "2017-08-13T00:00:00+00:00", "StandingOrderId": "Ben3", "Reference": "Towbar Club 2 - We Love Towbars", "StandingOrderStatusCode": "Active", "CreditorAccount": { "SchemeName": "SortCodeAccountNumber", "Identification": "80200112345678", "Name": "Mrs Juniper" }, "Frequency": "EvryWorkgDay", "FirstPaymentAmount": { "Amount": "0.57", "Currency": "GBP" }, "FirstPaymentDateTime": "2017-08-12T00:00:00+00:00", "FinalPaymentAmount": { "Amount": "0.56", "Currency": "GBP" }, "FinalPaymentDateTime": "2027-08-12T00:00:00+00:00" }, { "NextPaymentAmount": { "Amount": "0.56", "Currency": "GBP" }, "AccountId": "30080098763459", "NextPaymentDateTime": "2017-08-13T00:00:00+00:00", "StandingOrderId": "Ben3", "Reference": "Towbar Club 2 - We Love Towbars", "StandingOrderStatusCode": "Active", "CreditorAccount": { "SchemeName": "SortCodeAccountNumber", "Identification": "80200112345678", "Name": "Mrs Juniper" }, "Frequency": "EvryWorkgDay", "FirstPaymentAmount": { "Amount": "0.57", "Currency": "GBP" }, "FirstPaymentDateTime": "2017-08-12T00:00:00+00:00", "FinalPaymentAmount": { "Amount": "0.56", "Currency": "GBP" }, "FinalPaymentDateTime": "2027-08-12T00:00:00+00:00" }, { "NextPaymentAmount": { "Amount": "0.56", "Currency": "GBP" }, "AccountId": "30080098971337", "NextPaymentDateTime": "2017-08-13T00:00:00+00:00", "StandingOrderId": "Ben3", "Reference": "Towbar Club 2 - We Love Towbars", "StandingOrderStatusCode": "Active", "CreditorAccount": { "SchemeName": "SortCodeAccountNumber", "Identification": "80200112345678", "Name": "Mrs Juniper" }, "Frequency": "EvryWorkgDay", "FirstPaymentAmount": { "Amount": "0.57", "Currency": "GBP" }, "FirstPaymentDateTime": "2017-08-12T00:00:00+00:00", "FinalPaymentAmount": { "Amount": "0.56", "Currency": "GBP" }, "FinalPaymentDateTime": "2027-08-12T00:00:00+00:00" } ] }, "Links": { "Self": "/standing-orders/" }, "Meta": { "TotalPages": 1 } }
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 Try out the Payment Initiation API v3.1.1 .
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/accounts/<AccountId>/statements \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "Statement": [ { "AccountId": "30080012343456", "StatementId": "8sfhke-sifhkeuf-97813", "StatementReference": "002", "Type": "RegularPeriodic", "StartDateTime": "2017-08-01T00:00:00+00:00", "EndDateTime": "2017-08-31T23:59:59+00:00", "CreationDateTime": "2017-09-01T00:00:00+00:00", "StatementDescription": [ "August 2017 Statement", "One Free Uber Ride" ], "StatementAmount": [ { "Amount": { "Amount": "400.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit", "Type": "ClosingBalance" }, { "Amount": { "Amount": "600.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit", "Type": "PreviousClosingBalance" } ] }, { "AccountId": "30080012343456", "StatementId": "34hj24u-324h33-31i3p4", "StatementReference": "003", "Type": "RegularPeriodic", "StartDateTime": "2017-09-01T00:00:00+00:00", "EndDateTime": "2017-09-30T23:59:59+00:00", "CreationDateTime": "2017-10-01T00:00:00+00:00", "StatementDescription": [ "September 2017 Statement" ], "StatementAmount": [ { "Amount": { "Amount": "200.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit", "Type": "PreviousClosingBalance" }, { "Amount": { "Amount": "400.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit", "Type": "PreviousClosingBalance" } ] } ], "Links": { "Self": "https://api.alphabank.com/open-banking/v2.0/accounts/30080012343456/statements/" }, "Meta": { "TotalPages": 1 } } }
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 Try out the Payment Initiation API v3.1.1.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/accounts/<AccountId>/statements/<StatementId> \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "Statement": [ { "AccountId": "30080012343456", "StatementId": "34hj24u-324h33-31i3p4", "StatementReference": "002", "Type": "RegularPeriodic", "StartDateTime": "2017-08-01T00:00:00+00:00", "EndDateTime": "2017-08-31T23:59:59+00:00", "CreationDateTime": "2017-09-01T00:00:00+00:00", "StatementDescription": [ "August 2017 Statement", "One Free Uber Ride" ], "StatementAmount": [ { "Amount": { "Amount": "400.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit", "Type": "ClosingBalance" }, { "Amount": { "Amount": "600.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit", "Type": "PreviousClosingBalance" } ] } ], "Links": { "Self": "/accounts/30080012343456/statements/34hj24u-324h33-31i3p4" }, "Meta": { "TotalPages": 1 } } }
GET /accounts/{AccountId}/statements/{StatementId}/file
The AISPs are able to retrieve a non-json representation of a specific statement. This endpoint allows downloading the statement in a format specified in the Accept header of the AISP.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/accounts/<AccountId>/statements/<StatementId>/file \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
GET /accounts/{AccountId}/statements/{StatementId}/transactions
The AISPs are able to retrieve the transaction resources for a specific AccountId
and a StatemntId
.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/accounts/<AccountId>/statements/<StatementId>/transactions \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "Transaction": [ { "Status": "Booked", "AccountId": "30080012343456", "TransactionReference": "Ref 1", "ProprietaryBankTransactionCode": { "Issuer": "AlphaBank", "Code": "Transfer" }, "Amount": { "Amount": "10.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit", "StatementReference": "Ref 34hj24u-324h33-31i3p4", "TransactionId": "123", "TransactionInformation": "Cash from Aubrey", "BookingDateTime": "2017-04-05T10:43:07+00:00", "BankTransactionCode": { "SubCode": "DomesticCreditTransfer", "Code": "ReceivedCreditTransfer" }, "ValueDateTime": "2017-04-05T10:45:22+00:00", "Balance": { "Type": "InterimBooked", "Amount": { "Amount": "230.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit" } } ] }, "Links": { "Self": "/accounts/30080012343456/transactions/" }, "Meta": { "LastAvailableDateTime": "2017-12-03T00:00:00+00:00", "FirstAvailableDateTime": "2017-05-03T00:00:00+00:00", "TotalPages": 1 } }
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.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/statements \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "Statement": [ { "Type": "RegularPeriodic", "AccountId": "30080012343456", "StartDateTime": "2017-08-01T00:00:00+00:00", "CreationDateTime": "2017-09-01T00:00:00+00:00", "EndDateTime": "2017-08-31T23:59:59+00:00", "StatementId": "8sfhke-sifhkeuf-97813", "StatementReference": "002", "StatementDescription": [ "August 2017 Statement", "One Free Uber Ride" ], "StatementAmount": [ { "Type": "ClosingBalance", "Amount": { "Amount": "400.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit" }, { "Type": "PreviousClosingBalance", "Amount": { "Amount": "600.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit" } ] }, { "Type": "RegularPeriodic", "AccountId": "30080098763459", "StartDateTime": "2017-08-01T00:00:00+00:00", "CreationDateTime": "2017-09-01T00:00:00+00:00", "EndDateTime": "2017-08-31T23:59:59+00:00", "StatementId": "8sfhke-sifhkeuf-97813", "StatementReference": "002", "StatementDescription": [ "August 2017 Statement", "One Free Uber Ride" ], "StatementAmount": [ { "Type": "ClosingBalance", "Amount": { "Amount": "400.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit" }, { "Type": "PreviousClosingBalance", "Amount": { "Amount": "600.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit" } ] }, { "Type": "RegularPeriodic", "AccountId": "30080098971337", "StartDateTime": "2017-08-01T00:00:00+00:00", "CreationDateTime": "2017-09-01T00:00:00+00:00", "EndDateTime": "2017-08-31T23:59:59+00:00", "StatementId": "8sfhke-sifhkeuf-97813", "StatementReference": "002", "StatementDescription": [ "August 2017 Statement", "One Free Uber Ride" ], "StatementAmount": [ { "Type": "ClosingBalance", "Amount": { "Amount": "400.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit" }, { "Type": "PreviousClosingBalance", "Amount": { "Amount": "600.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit" } ] } ] }, "Links": { "Self": "/statements/" }, "Meta": { "TotalPages": 1 } }
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 Try out the Payment Initiation API v3.1.1.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/accounts/<AccountId>/transactions \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "Transaction": [ { "Status": "Booked", "TransactionInformation": "Cash from Aubrey", "BookingDateTime": "2017-04-05T10:43:07+00:00", "AccountId": "30080012343456", "TransactionReference": "Ref 1", "BankTransactionCode": { "SubCode": "DomesticCreditTransfer", "Code": "ReceivedCreditTransfer" }, "ProprietaryBankTransactionCode": { "Issuer": "AlphaBank", "Code": "Transfer" }, "Amount": { "Amount": "10.00", "Currency": "GBP" }, "ValueDateTime": "2017-04-05T10:45:22+00:00", "CreditDebitIndicator": "Credit", "Balance": { "Type": "InterimBooked", "Amount": { "Amount": "230.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit" }, "TransactionId": "123" } ] }, "Links": { "Self": "https://api.alphabank.com/open-banking/v2.0/accounts/30080012343456/transactions/" }, "Meta": { "LastAvailableDateTime": "2017-12-03T00:00:00+00:00", "FirstAvailableDateTime": "2017-05-03T00:00:00+00:00", "TotalPages": 1 } }
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.
curl -X GET \ https://<WSO2_OB_APIM_HOST>:8243/open-banking/v3.1.1/aisp/transactions \ -H 'Authorization: Bearer <USER_ACCESS_TOKEN>' -k\ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'accept: application/json' \ -H 'x-fapi-financial-id: open-bank'
{ "Data": { "Transaction": [ { "Status": "Booked", "TransactionInformation": "Cash from Aubrey", "BookingDateTime": "2017-04-05T10:43:07+00:00", "AccountId": "30080012343456", "TransactionReference": "Ref 1", "BankTransactionCode": { "SubCode": "DomesticCreditTransfer", "Code": "ReceivedCreditTransfer" }, "ProprietaryBankTransactionCode": { "Issuer": "AlphaBank", "Code": "Transfer" }, "Amount": { "Amount": "10.00", "Currency": "GBP" }, "ValueDateTime": "2017-04-05T10:45:22+00:00", "CreditDebitIndicator": "Credit", "Balance": { "Type": "InterimBooked", "Amount": { "Amount": "230.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit" }, "TransactionId": "123" }, { "Status": "Booked", "TransactionInformation": "Cash from Aubrey", "BookingDateTime": "2017-04-05T10:43:07+00:00", "AccountId": "30080098763459", "TransactionReference": "Ref 1", "BankTransactionCode": { "SubCode": "DomesticCreditTransfer", "Code": "ReceivedCreditTransfer" }, "ProprietaryBankTransactionCode": { "Issuer": "AlphaBank", "Code": "Transfer" }, "Amount": { "Amount": "10.00", "Currency": "GBP" }, "ValueDateTime": "2017-04-05T10:45:22+00:00", "CreditDebitIndicator": "Credit", "Balance": { "Type": "InterimBooked", "Amount": { "Amount": "230.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit" }, "TransactionId": "123" }, { "Status": "Booked", "TransactionInformation": "Cash from Aubrey", "BookingDateTime": "2017-04-05T10:43:07+00:00", "AccountId": "30080098971337", "TransactionReference": "Ref 1", "BankTransactionCode": { "SubCode": "DomesticCreditTransfer", "Code": "ReceivedCreditTransfer" }, "ProprietaryBankTransactionCode": { "Issuer": "AlphaBank", "Code": "Transfer" }, "Amount": { "Amount": "10.00", "Currency": "GBP" }, "ValueDateTime": "2017-04-05T10:45:22+00:00", "CreditDebitIndicator": "Credit", "Balance": { "Type": "InterimBooked", "Amount": { "Amount": "230.00", "Currency": "GBP" }, "CreditDebitIndicator": "Credit" }, "TransactionId": "123" } ] }, "Links": { "Self": "/transactions/" }, "Meta": { "TotalPages": 1 } }
PaymentInitiationAPI - v3.1.1
initiates credit transfers on behalf of a bank's customer.