3 ms·
I just implemented a 3-layered payment processing system with infinite logging, and a double-ledger accounting system. Perfect. However, during testing, my coll
by mahmud 17y ago
I just implemented a 3-layered payment processing system with infinite logging, and a double-ledger accounting system. Perfect. However, during testing, my colleague found that typing a negative number and clicking "Add Funds" deducted money from the user's balance and put a fund-transfer ticket out (unauthorized withdrawal!) And when the balance reached zero, no visible feedback or error was giving, but still the electronic fund transfer was initiated (free money!!)
That taught me to process my financial side-effects with explicit, visible, calls; the generic dispatch, and abusing behind the scene meta-object features will make you broke.