Check out Triodos Open Banking for Developers

I’ve made some scripty stuff in python to play with the lovely Triodos Bank’s Open Banking sandbox. I’m really not sure why…

My python code does everything needed to get a transaction list out of the Triodos API. (As of writing it just grabs the first account that permissions are granted for.)

There are 14 commands (I’m calling modes) which, if followed in order, result in a final “Get Account Transactions” command (12-14 are Initial Query (get first), Get Next (pagination), Get First again)

Actions performed (as described in Triodos API docs) are: Get Initial Access Token, Register URIs, Get Authorization, Exchange the Authorization Code for an Access Token, Request Consent, Get Accounts, Get Account Balances, Get Account Transactions.

If you want to use my Python code then follow these steps.

Step 0:

Unpack my files (md5: 5e91a8028c35ea9720f958d6d206e4f6) [ Alternate link: here ]

Install python and maybe lots of python modules… (and also php if you want to use callback recording bit)

Step 1:

Get a test certificate:

https://xs2a-sandbox.triodos.com/xs2a-bg/internalonly/generateCertificate.xhtml

The organization ID needs to be a valid format for eIDAS eg: PSDUS-AAA-AAAA88 if your country code is “US”

You should save your organization ID into:

rfyoz-OB1/secrets_store/mybank1/your_id.txt (without leading or trailing whitespace in file)

Step 2:

Save your eIDAS Organization Id to:

rfyoz-OB1/secrets_store/mybank1/your_id.txt

Save the generated Private key to:

rfyoz-OB1/secrets_store/mybank1/secret_key.txt

Save the generated Signing Certificate public key to:

rfyoz-OB1/secrets_store/mybank1/sign.txt

Save the generated Issuer key id to:

rfyoz-OB1/secrets_store/mybank1/key_id.txt

Step 2.5:

Create a test user in the sandbox:

https://xs2a-sandbox.triodos.com/xs2a-bg/internalonly/generateTestUser.xhtml

Step 3:

Run rfyoz-OB1/code/server/go_server.sh

Step 4:

Run rfyoz-OB1/code/scripts/run_first.sh

Run rfyoz-OB1/code/scripts/go.sh

Run rfyoz-OB1/code/scripts/go2.sh

You should get some transactions, that when put in an HTML table, look like this: here

Triodos weren’t very imaginative with the fake data it seems.