5 releases (3 breaking)
Uses new Rust 2024
| 0.4.0 | Jan 11, 2026 |
|---|---|
| 0.3.0 | Jan 11, 2026 |
| 0.2.0 | Jan 9, 2026 |
| 0.1.1 | Jan 4, 2026 |
| 0.1.0 | Jan 4, 2026 |
#132 in Finance
28 downloads per month
22KB
475 lines
Monzo Webhook
Serde-compatible structs containing the data from a Monzo bank webhook.
For examples of what different webhooks look like, see
src/tests.txt.
Usage
When implemented a receiver for a Monzo bank webhook, you can use these structs. For example, with axum:
async fn test_webhook_parse(Json(data): Json<monzo_webhook::Webhook>) -> String {
format!("{data:#?}")
}
Testing
This has been tested against the following types of transactions:
- Faster Payments in- and outbound
- Monzo-to-Monzo transactions
- Pot and Account Deposits and Withdrawals
- Contactless purchases
- Online purchases
This needs confirmation that it works with:
- ATM withdrawals
- ATM deposits
- Deposits
- Cheques
- Online refunds
- Chip & PIN purchases
- Chip & PIN refunds
- Contactless refunds
- Direct Debits
- Standing Orders
- BACS Credits
- BACS Debits
- CHAPS Transfers
- International Transfers via Swift
- Fees and Charges
- Interest Paid
- Interest Earned
If you have any JSON webhook payloads of these types of transactions, I would appreciate seeing them. You are recommended to scrub any sensitive data or ID numbers first, then please open an issue.
Dependencies
~1.2–2.2MB
~40K SLoC