A Berlin Group NextGenPSD2-compliant XS2A client.
The Revised Payment Services Directive (PSD2) is intended to harmonise digital payment transactions within the European Economic Area. In addition to banks, PSD2 also provides many opportunities for third-party service providers (TTPs) to offer innovative services through the payment services provided by banks. Although PSD2 is based on a standard for bank interfaces, there remains considerable scope for implementation. For TTPs, developing and maintaining an XS2A interface is a time-consuming challenge. With the PSD2 XS2A Client Styx we offer TTPs a free and easy solution to interact with the different PSD2 interfaces of banks from Germany and Europe.
- Payment initiation service (PIS)
- Account information service (AIS)
- Confirmation of funds service (PIIS)
- SCA methods (redirect, OAuth2, decoupled, embedded)
For more information please have a look at the Styx wiki and petafuel.github.io/styx/.
The Styx Client API is a REST interface that follows the Berlin Group NextGenPSD2 specification. The documentation is available in OpenAPI format.
Styx is build using the Amazon Corretto 8 - the production-ready distribution of Open Java Development Kit (OpenJDK) and uses a PostgreSQL database.
-
Clone the repository
git clone https://github.com/petafuel/styx.git
-
Styx uses packages provided through GitHub Packages
Edit your ~/.2/settings.xml and add your GitHub username and your personal access token. Also see here.
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <servers> <server> <id>styxgithub</id> <username>GITHUB_NAME</username> <password>GITHUB_TOKEN</password> </server> </servers> </settings>
-
Configure Styx
You have to adjust connectionpool.properties to configure the connection to your PostgreSQL database. Also adjust API/src/main/resources/api.properties and Core/src/main/resource/core.properties according to your Styx deployment.
-
Build Styx
Run
mvn clean -DskipTests=true install
to build Styx. -
Execute Styx
cd API/target java -jar styxRest.jar
Styx is build using great third party projects such as
- OWASP Dependency-Check,
- Eclipse Yasson,
- REST-assured and many others.
You can find the complete list of third party libraries and their respective licenses in the 'third_party' directory.