Sixty payment providers, one checkout.
Integrated, maintained, and scaled 60+ third-party payment provider APIs behind a single e-commerce checkout — transaction processing and fraud handling across multiple regions and regulatory regimes. Employer and client names withheld; specifics available under NDA.
01 // Problem
Every payment provider believes it is the standard. Sixty of them means sixty auth schemes, sixty webhook formats, sixty failure vocabularies, and sixty ideas about idempotency — feeding one checkout that must never double-charge, silently fail, or leak a card number.
The work: make provider count an operational detail. Adding gateway #61 should be routine engineering, not a project.
02 // Decisions
- Provider adapter contract: each gateway implements one normalized interface (authorize, capture, refund, webhook-verify); quirks live inside the adapter, never in checkout logic.
- State machine over status strings. Transactions move through explicit states with audited transitions — reconciliation reads the machine, not provider payloads.
- Idempotency keys everywhere: retries and duplicate webhooks are absorbed, not double-processed.
- Fraud checks as a pipeline stage ahead of capture, tuned per region.
- Checkout UX owned end to end (Angular + Ionic mobile): optimization work contributed to a measured 15% conversion-rate increase.
03 // Architecture (sanitized)
04 // Numbers
Volume figures belong to the client. The transferable claim: payment integrations at this count are an architecture problem, not a coding problem — and the adapter/state-machine shape above is what kept #60 as boring as #6.