There are various ways for a bank to implement a PSD2 compliant XS2A interface. Don’t waste time in connecting different banks with different approaches into your application. Use the free of charge XS2A adapter and concentrate on your true value proposition!
adorsys is a company who works ever since the very beginning of PSD2 with its requirements and implicit tasks. We help banks to be PSD2 complaint (technical and legal terms). To speed up the process we provide this open source XS2A interface, that can be connected to your middleware system. You can check your readiness for PSD2 Compliance and other information via our Web-site.
PSD2 as the first regulatory driven Open Banking initiative offers many opportunities for both Banks and Third Party Providers. TPPs can use the account information and payment services provided by the banks in order to offer new innovative services to the end users. The more banks a TPP can interact with the more users it can reach with its application, which in consequence raises the value of the application itself. However, being able to interact with many banks can be a time and cost consuming challenge when developing and maintaining an application. Even though PSD2 sets a standard for bank interfaces, much space for implementation options remains. A bank, therefore, can have an own PSD2 compliant solution or have implemented one of the mayor PSD2 standards, like Open Banking UK, Berlin Group or STET. A PSD2 adapter must be able to process the different messages correctly and react fast to changes on the XS2A interfaces.
For configuring adapter with your custom settings, just copy adapter configuration
file adapter.config.properties
and replace with your values. Then provide the path to your custom config file
with adapter.config.file.path
environment variable.
# Java property example
-Dadapter.config.file.path=/opt/xs2a-adapter/custom-config/custom.adapter.config.properties
# Environment variable example
env "adapter.config.file.path=/opt/xs2a-adapter/custom-config/custom.adapter.config.properties" perl -le 'print $ENV{"adapter.config.file.path"}'
-
Download the project and go to the project directory:
> git clone https://github.com/adorsys/xs2a-adapter > cd xs2a-adapter
-
Build and run the project
> mvn clean package > java \ -Djavax.net.ssl.keyStoreType=pkcs12 \ -Djavax.net.ssl.keyStore=<certificate-file> \ -Djavax.net.ssl.keyStorePassword=<certificate-password> \ -Dcom.sun.security.enableAIAcaIssuers=true \ -Dpkcs12.keyStore=<key-store-file> \ -jar xs2a-adapter-app/target/xs2a-adapter-app.jar
-
Open xs2a-adapter swagger page to get more details about REST Api.
-
Run postman tests for AIS and PIS flows:
> newman run postman/xs2a\ adapter.postman_collection.json \ -d postman/adapters.postman_data.json \ --globals postman/postman_globals_local.json \ --folder AIS \ --folder sepa-credit-transfers \ --folder pain.001-sepa-credit-transfers \ --timeout-request 3000
Read this short guideline to get more details
xs2a-adapter
relies on presence of X-GTW-ASPSP-ID
or X-GTW-Bank-Code
request header for routing.
The former uniquely identifies an XS2A API provider in the aspsp-registry
.
The later is a shorthand for performing a lookup in the registry using a bank code.
Note that the aspsp-registry
supports lookup by attributes other than bank code including full-text search by name,
but only as a pre-request.
For testing API of xs2a it is used Postman https://www.getpostman.com/ Environment jsons with global parameter’s sets and Collections of jsons for imitation of processes flows are stored in /postman folder. To import Postman collections and environments follow next steps:
- Download Postman jsons with collections and environments to your local machine.
- Open Postman, press button “Import”.
- Choose “Import file” to import one json or “Import folder” to import all jsons within the folder, then press button “Choose Files” or “Choose Folders” and open necessary files/folders.
- To change settings of environments - go to “Manage Environments”, press the environment name and change variables.
To start testing with Postman collections it is necessary to have all services running.
- Francis Pouatcha - Initial work - adorsys
See also the list of contributors who participated in this project.
For commercial support please contact adorsys Team.
This project is licensed under the Apache License version 2.0 - see the LICENSE file for details