All Projects → ExtraBB → open-psd2

ExtraBB / open-psd2

Licence: GPL-3.0 License
An open source framework for using banking API's built for PSD2 regulation.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to open-psd2

pyitau
Unofficial client to access your Itaú bank data
Stars: ✭ 28 (+40%)
Mutual labels:  finance, bank, banking
powerauth-crypto
PowerAuth - Open-source solution for authentication, secure data storage and transport security in mobile banking.
Stars: ✭ 48 (+140%)
Mutual labels:  authorization, banking, psd2
bunq2ifttt
bunq2IFTTT creates a self-hosted interface between the bunq banking API and IFTTT.
Stars: ✭ 20 (+0%)
Mutual labels:  finance, bank, banking
avanza
A Python library for the unofficial Avanza API
Stars: ✭ 54 (+170%)
Mutual labels:  finance, banking
bankster
Money Creation Made Easy
Stars: ✭ 30 (+50%)
Mutual labels:  finance, banking
mxfactorial
a payment application intended for deployment by the united states treasury
Stars: ✭ 36 (+80%)
Mutual labels:  finance, banking
FinanceKit
FinanceKit is a Framework for iOS and Mac to build apps working with financial data, like money, currencies, stocks, portfolio, transactions and other concepts.
Stars: ✭ 15 (-25%)
Mutual labels:  finance, banking
gb banking
FiveM Extended Banking Script
Stars: ✭ 14 (-30%)
Mutual labels:  bank, banking
obp-apis
OpenBankingProject.ch Community APIs
Stars: ✭ 18 (-10%)
Mutual labels:  banking, psd2
promptpay
Thai QR PromptPay Generator
Stars: ✭ 24 (+20%)
Mutual labels:  bank, banking
awesome-open-finance
A curated list of open finance and open banking resources
Stars: ✭ 92 (+360%)
Mutual labels:  finance, banking
Fintech To Ynab
Automatically push Monzo and Starling transactions into YNAB in real time.
Stars: ✭ 214 (+970%)
Mutual labels:  finance, bank
Finance
A self hosted app to help you get a better understanding of your personal finances.
Stars: ✭ 313 (+1465%)
Mutual labels:  finance, bank
ofxgo
Golang library for querying and parsing OFX
Stars: ✭ 96 (+380%)
Mutual labels:  finance, banking
ap-monorepo
Monorepo containing all packages related to the ACTUS Protocol
Stars: ✭ 15 (-25%)
Mutual labels:  finance, open
psd2
API client for banks supporting PSD2 APIs with OAuth2 authentication.
Stars: ✭ 26 (+30%)
Mutual labels:  banking, psd2
powerauth-mobile-sdk
PowerAuth Mobile SDK for adds capability for authentication and transaction signing into the mobile apps (ios, watchos, android).
Stars: ✭ 27 (+35%)
Mutual labels:  banking, psd2
persian-tools-rs
An anthology of a variety of tools for the Persian language in Rust
Stars: ✭ 17 (-15%)
Mutual labels:  bank, banking
Loan-calculator-bank-payment
Loan Calculator a small web application encoded in HTML, PHP, JS, and CSS. If you want to earn from BANK NICHE then you can use Loan Calculator script.
Stars: ✭ 32 (+60%)
Mutual labels:  bank, banking
fints-institute-db
Database of German Banks and their HBCI / FinTS endpoints
Stars: ✭ 28 (+40%)
Mutual labels:  finance, banking

Open PSD2

This is a library for using open banking api's of various banks. These API's are built for PSD2 regulation but they are not compatible with each other. Therefore I've started this package. Feel free to submit PR's and help build up this package!

Contributing

This package is still a Work in Progress! All contributors are welcome. Feel free to submit a PR or send me a message on Github if you have any questions.

Installation

Run the following:

npm install

Usage

Import the banking API that you need like this:

import { ING } from "open-psd2";

Create a new instance of it using your certificates:

const ing = new ING(true, fs.readFileSync("./secrets/example_client_signing.key"), "changeit", fs.readFileSync("./secrets/example_client_tls.cer"), fs.readFileSync("./secrets/example_client_tls.key"), "example_client_id");

Then you can start using the built in functions to request data. For the ING API it is necessary to request both an access token and then a customer access token. Note that in this example we are using the sandbox and therefore do not require a user authorization code:

app.get('/accounts', function (req, res) {
    ing.requestAccessToken("view_balance").then(access_token => {
        ing.requestCustomerAccessToken(null, access_token).then((customer_access_token) => {
            ing.requestAccounts(customer_access_token).then(accounts => {
                res.send(accounts);
            }).catch((error) => { res.send("Could not retrieve accounts"); console.log(error); });
        }).catch((error) => { res.send("Could not retrieve customer access token"); console.log(error); });
    }).catch((error) => { res.send("Could not retrieve access token"); console.log(error); });
});

Roadmap

For future development I plan the following. First build up a few more Bank API's besides the ING api. Afterwards, see if we can create one unifying API that rules them all and in the darkness binds them.

Licence

GNU General Public License v3.0 - Copyright (C) 2018 Bruno dos Santos Carvalhal (See LICENSE.md)

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].