Verifying money.
WHY IT DEMANDS EXTRA RIGOUR
Errors cost money and cannot always be reversed.
WHAT TO TEST
Successful payment Each decline reason Authentication challenge and failure Timeout with unknown outcome Duplicate submission Refunds, full and partial Reversal after success
WHAT IS COMMONLY UNTESTED
Everything except success.
WHY THAT MATTERS
The failure paths are where money is lost.
WHAT TO VERIFY ABOUT AMOUNTS
That the amount charged matches the order That currency is correct That fees are calculated correctly That rounding behaves as specified
WHAT TO TEST ABOUT UNKNOWN OUTCOMES
That the system records the transaction as pending That it resolves it That it does not charge twice
WHAT TO TEST ABOUT CONCURRENCY
Two payments for the same order, simultaneously.
WHAT TO VERIFY AFTER EVERY TEST
That the ledger or records are consistent.
WHAT TO TEST WITH REAL MONEY
One small live transaction before launch.
WHY
Test environments differ from production in ways that matter.
WHAT TO VERIFY IN THAT TEST
Funds arrive, amounts are correct, reconciliation matches, refund works.
WHAT TO AUTOMATE
Every payment path, since payment code changes rarely and breaks expensively.