A successful payment callback was only one part of keeping balances, transaction states and business documents consistent.
02 / How I approached it
How I approached it
I worked with Stripe and Wise, subscriptions, checkout, payment webhooks and PDF statements. I also designed ledger-like models and explored enforcing financial invariants through PostgreSQL transactions, constraints and triggers.
System flow
Business document
Transaction state
Financial movement
Statement & history
What that means in practice
Architecture & decisions
01
Payments within the commerce workflow
My work in Onlihub and Liqsale included subscriptions, one-time payments, carts, checkout and status synchronization. Stripe and Wise integrations sat within the application’s financial workflow, connecting payment events to the customer’s order or subscription and the relevant transaction records.
02
A transaction model behind the statements
I worked on transaction types and categories, calculations, recalculations and statements, including PDF output. These records describe how financial operations relate to application state and documents. The model supports tracing the figures displayed to users back to the transactions and movements that produced them.
03
Exploring invariants in PostgreSQL
I explored placing part of the financial rules in PostgreSQL transactions, constraints and triggers, including balance restrictions and movements caused by document status changes. The design goal was to make important invariants explicit at the data layer. Trigger-based balance protection was an area of experimentation within that work.
03 / The outcome
The outcome
This practice links my ERP background to modern payment systems: financial operations are modelled through explicit states, categories and movements.