All Projects → adorsys → Open Banking Gateway

adorsys / Open Banking Gateway

Licence: apache-2.0
Provides RESTful API, tools, adapters, and connectors for transparent access to open banking API's (for banks that support PSD2 and XS2A as well as HBCI/FinTS)

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Open Banking Gateway

Openfintech
Opensource FinTech standards & payment provider data
Stars: ✭ 87 (+50%)
Mutual labels:  fintech, payment-gateway
Indipay
The Laravel Framework Package for Indian Payment Gateways. Currently Supported Gateway: CCAvenue, PayUMoney, EBS, CitrusPay ,ZapakPay (Mobikwik), Paytm, InstaMojo , Mocker
Stars: ✭ 50 (-13.79%)
Mutual labels:  payment-gateway
Nativescript Paystack
Nativescript integration for Paystack payment platform
Stars: ✭ 10 (-82.76%)
Mutual labels:  payment-gateway
Adyen Ruby Api Library
Adyen API Library for Ruby
Stars: ✭ 35 (-39.66%)
Mutual labels:  payment-gateway
Authnetjson
Library that abstracts Authorize.Net's JSON APIs. This includes the Advanced Integration Method (AIM), Automated Recurring Billing (ARB), Customer Information Manager (CIM), Transaction Reporting, Simple Integration Method (SIM), and Webhooks.
Stars: ✭ 14 (-75.86%)
Mutual labels:  payment-gateway
Mortgageblockchainfabric
Mortgage Processing App using Hyperledger Fabric Blockchain. Uses channels for privacy and access, and restricts read/write previleges through endorsement policies
Stars: ✭ 45 (-22.41%)
Mutual labels:  fintech
Ovopy
Un-official OVO API Wrapper
Stars: ✭ 27 (-53.45%)
Mutual labels:  payment-gateway
Chainode
Fast, Highly Scalable, and Lightweight Private Blockchain Network based on node.js
Stars: ✭ 55 (-5.17%)
Mutual labels:  fintech
Omnipay Authorizenet
Authorize.Net driver for the Omnipay payment processing library
Stars: ✭ 49 (-15.52%)
Mutual labels:  payment-gateway
Fooltrader
quant framework for stock
Stars: ✭ 960 (+1555.17%)
Mutual labels:  fintech
Intrinio Realtime Node Sdk
Intrinio NodeJS SDK for Real-Time Stock & Crypto Prices
Stars: ✭ 30 (-48.28%)
Mutual labels:  fintech
React Native Payment Gateway
this module payment gatway
Stars: ✭ 27 (-53.45%)
Mutual labels:  payment-gateway
Osen Wc Mpesa
WordPress Plugin that extends WordPress and WooCommerce functionality to integrate MPESA for making payments, remittances, checking account balance transaction status and reversals.
Stars: ✭ 45 (-22.41%)
Mutual labels:  payment-gateway
Omnipay Payone
A PAYONE gateway driver for the OmniPay framework
Stars: ✭ 10 (-82.76%)
Mutual labels:  payment-gateway
Recruitment
Overall recruitment process of iyzico Engineering
Stars: ✭ 52 (-10.34%)
Mutual labels:  fintech
Finch
An Open Source Cryptocurrency Payment Processor.
Stars: ✭ 27 (-53.45%)
Mutual labels:  payment-gateway
Real Time Payments
Code for a Developer Journey that uses the Financial APIs on Bluemix. This application uses this service to send and request payments.
Stars: ✭ 28 (-51.72%)
Mutual labels:  fintech
Mangopay2 Nodejs Sdk
Node.js SDK for MANGOPAY
Stars: ✭ 40 (-31.03%)
Mutual labels:  fintech
React Native Midtrans
Midtrans Mobile SDK for React Native
Stars: ✭ 57 (-1.72%)
Mutual labels:  payment-gateway
Objectlabkit
Date Calculators for Business /FX, FX Rate Calculator and Utils
Stars: ✭ 53 (-8.62%)
Mutual labels:  fintech

Build Status

Heavy tests status

Gitter

Code coverage

  • Backend: codecov-backend
  • Frontend: codecov-frontend
  • Example code: codecov-examples

Open Banking Gateway

Provides tools, adapters and connectors for transparent access to open banking apis. The initial effort focuses on the connectivity to banks that implement the European PSD2 directive either through one of the common market initiatives like : The Berlin Group NextGenPSD2, The Open Banking UK, The Polish PSD2 API or even through proprietary bank api like the ING’s PSD2 API.

What this Project is about

Tackle the Key Challenge for Third Party Providers of Payment Services

The European PSD2 as the first regulator driven Open Banking initiative offers many opportunities for both banks, known as traditional provider of payment services (called ASPSPs in this context) and other Third Party Providers of payment services (TPPs). TPPs can use account information and payment services provided by banks to offer new innovative services to bank account holders. The more banks and TPPs can interact with each other, the more payment account holders can be provided with reacher banking solutions, which in turn simplifies and leverage commercial value chains.

Being able to interact with different banking APIs can be a time and cost consuming challenge. Even though the PSD2 requires European banks to provide APIs and despite the effort of market initiatives to provide common standard interfaces, there is still a multitude of divergent authorization schemes involved and a lot of space for implementation options. A bank can even decide not to join one of the known market initiatives and define it's own PSD2 compliant API.

The purpose of this open banking gateway is to provide the community with a common and simple interface for accessing major Open Banking APIs.

Introducing the FinTech as a Major Role

Being a regulator driven initiative, PSD2 mandates the regulation of TPPs. With this additional detail, the market is experiencing a distinction between regulated TPPs and non regulated FinTechs. This framework is therefore designed taking in consideration the existence of the category of payment service providers called FinTech that used APIs exposed by a regulated TPP to access payment services exposed by banks.

Address Security Issues associated with PSU Access to Multiple Interfaces

In the Open Banking Context, a payment service user (PSU or banking account holder) might have to deal with up to 3 different user interface to initiate, authorize and get the requested banking service executed. There being redirected back and forth from one UserAgent (resp. device) to another. This intensive use of redirection in Open Banking bearing a lot of risk of impersonating the PSU, we set a goal of this Framework to dissect the complexity involved with those redirection processes and open forums for discussion of possible solutions and sample implementations. Following papers are the first attempt to capture the problem (UserAgent Redirection, PSU Access Security Design).

Project Demo

Big Picture

The following picture displays the overall architecture of this banking gateway: High level architecture

Security concept

The following picture displays the overall security concept of this banking gateway: Security concept

Security concept has 2 kinds of flows:

  • authenticated (for consent sharing)
  • anonymous (for payments, but can be authenticated too).

Here are detailed diagrams of each flow:

Technical architecture

The following picture displays the overall technical architecture concept of this banking gateway: Technical architecture

Key components as shown on diagram:

APIs:

Facade:

Protocol:

Running the project locally

  • docker-compose-dev.yml - docker-compose file in the project root for Development (requires building docker images)
  • docker-compose.yml - docker-compose file in the project root for Demo (Images will be pulled from DockerHub)

Postman scripts to play with API

Postman collection details

  • postman-ais-collection Xs2a-embedded or HBCI AIS (account information services) example - getting users' account and transactions list

Note: Postman requires disabled request signing functionality - for that use Spring-profile no-signature-filter

Information for developers:

  • Working with BPMN: As most protocols use BPMN, we have developed the plugin 'Flowable BPMN visualizer' that directly integrates into IntelliJ with code navigation, refactoring and other stuff for Flowable BPMN engine. It will make your work a lot easier as you don't need to leave IntelliJ to change diagram or to see what class is used at which step.

  • Starting with project: How to start with project

  • Populating database with bank data: How to fill database with bank data

Documentation

Please take a look into our documentation to know more about:

Planned and released versions

Architecture

Third Parties Contribution

This project is designed to enable contribution from different sources, as the open banking challenge will start with a magnitude of discrepancies in individual bank implementations, even for banks implementing a common standards.

How to contribute

Authors & Contact

See also the list of contributors who participated in this project.

For commercial support please contact adorsys Team.

License

This project is licensed under the Apache License version 2.0 - see the LICENSE file for details

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].