Goes through the steps of the GoCardless web API to produce a JSON containing the last transactions. Then uses pandas/openpyxl to parse that json and append it as rows in an existing Excel file (completing missing rows based on Transaction ID column).
- API Endpoints
- GoCardless Subscriptions = 50 free connections/month
- eIDAS (Electronic Identification & Trust Services) = EU-wide legislation defining how to certify identity & signatures digitally
- Providers = registered organization entrusted to act as a third-party to handle banking information on behalf of users and deliver them granular services
- AISP (Account Information Service Provider) = provider of AIS
- PISP (Payment Initiation Service Provider) = provider of PIS
- Requisition = link to bank account (sample)
- Services = granular functionality (eg read but not write)
- AIS (Account Information Service) = service to access account balances & transaction histories
- PIS (Payment Initiation Service) = service to initiate/cancel a payments
- PSD2 (Payment Services Directive 2) = citizen-benefiting EU law mandating banks to offer a secured digital access (API) via third-party apps
/!\ All URLs must end with /
- create a user secret
- HTTP POST to get access (& refresh) token, save it in a file
- (optional) HTTP GET banks list
- (optional) HTTP POST end user agreement (can change history days)
- HTTP POST to create a requisition (authenticate with bank via an OAuth-like workflow)
- POST response contains a link (opened in a browser)
- Set http://localhost as return/redirect URL
- Authenticates (via ItsMe), then browser gets redirected to localhost URL with a requisition ID (in URL as a query parameter named ref)
- That requisition ID is actually a reference to that user's consent stored in GoCardless backend
- HTTP GET accounts, passing requisition ID
- HTTP GET transactions, passing account ID
.\go_venv\Scripts\Activate.ps1main.py <secret_file> <excel_file> <excel_sheet>- Build .exe via
pyinstaller --onefile (--windowed) (--name gocardless.exe) main.py