Overview
The Payment Services Directive 2 and the related technical standards paved the way to establish an Open Banking industry in Europe and the rest of the world. In order to promote innovation and allow for more flexibility on the implementation of the APIs by the account service providers the Directive and the Technical Standards do not define a specific standard that should be used for all providers. Today the majority of the account service providers created their APIs according to their requirements, which created a very diverse environment. Account Information and Payment Initiation Service Providers must integrate their services to one bank at a time, which is a time consuming and daunting task.
The finapivity Common Open Banking API, provide a single API that Account Information and Payment Initiation Providers can use to access any of the APIs of the banks we currently support. Our Common Open Banking API also maps all the different API data formats to a common format. This simplified connectivity mechanism and the mapping to a common data format allows our customers to focus on how to use Open Banking APIs to provide their services, rather the technicalities of the actual integration.
Get Started!
As a third-party app provider, you must go through the following steps in order to use our APIs:
- Explore the documentation
- Read the API specifications and understand the different flows required
- Contact us to sign up and access the Sandbox
- Try the APIs
- Integrate our APIs with your application
- Test the integration under a number of scenarios
- When you’re finished testing, submit your application for the production data, upload the required eIDAS certificates, subscribe to our Production APIs, get authorized and go live!
- Go Live!
Sandbox environment
Use the sandbox environment to get familiar with the APIs, explore their features and test your applications with the provided sample data of each bank. The sandbox APIs work exactly like the production APIs but instead of connecting to the production APIs of the service providers, they connect to their sandbox environments.
Authentication & Authorization
All of the APIs require OAuth authentication via a Client Id and Client Secret. Before you access any of the Data or Payment APIs you need to request an access token using your client credentials. Once you have access token you can access any of the APIs you have access to.
User Authentication, Consent, and Access Tokens
Although most Open Banking APIs use OAuth 2.0, most of them deviate from the standard with their own changes which means the AISPs and PISPs must customize their implementations to meet the requirements of each API. Also, the user consent flow, access and refresh tokens, token expiration dates, usage limits etc. vary between API implementations.
In order to provide a common API, our Open Banking API handles all user authentication flows, including the management of the access tokens.
Flow for Account Information Services
- Request access to accounts for a Payment Services User (PSU)
- Redirect PSU to our account selection and consent link
- PSU will select their bank and complete the consent process
- The user will be redirected back to your redirect Uri, informing you of the results of the account selection process including an account consent id
- We store the access token and the accounts the PSU consented to
- Periodically behind the scenes we query the Account Provider’s APIs to retrieve the latest account information and transactions
- You can use the account consent id to query the accounts of the PSU and their transaction history per account
Flow for Payment Initiation Services
- Provide the payment initiation details
- Redirect PSU to our account selection and payment consent link
- PSU will select their bank and approve/decline the payment
- The user will be redirected back to your redirect Uri, informing you of the results of the account selection process including a payment initiation id
- We store the results of the payment initiation and any other details received during the payment
- You can use the payment initiation id to query the status of the payment