Payment processing, PSP-agnostic where it matters, PSP-specific where it earns it.
Payment processing is the part of a FinTech product where the bugs cost real money. We build it against a typed payment abstraction so the PSP (Stripe today, Adyen tomorrow, both next year) is a strategy choice, not a rewrite. Webhooks, retries, idempotency, and dispute handling all live in the same observable surface.
What we build
A typed payment abstraction at the boundary
Auth, capture, refund, void, payout, all expressed as typed operations. The PSP-specific code lives behind the interface; the business logic doesn't know whether Stripe or Adyen is handling the call.
Multi-PSP routing when the contract requires it
Route by card type, currency, risk score, or per-region cost. Failover when the primary PSP goes down. Operators can shift traffic in real time without code changes; the router emits per-route metrics.
Idempotency keys end-to-end
Every charge attempt carries an idempotency key the PSP and our database both recognize. Retries, by the user, by the network, by the queue, never double-charge. The audit trail proves it.
Webhook reconciliation against the truth
PSP webhooks update the local state machine; nightly reconciliation re-pulls the canonical state from the PSP and flags drift. The platform's view of what's collected matches what hit the bank account.
Disputes routed to a real queue with evidence
Disputes land in a typed queue with pre-filled evidence from the original transaction context (IP, device, geolocation, order line items, delivery confirmation). The fraud ops team responds inside the PSP's window, every time.
PCI scope minimised by design
Tokenisation at the edge so card data never reaches our servers. Stripe Elements / Adyen Components for the in-product surfaces; the backend handles tokens, not pans. SAQ A is the floor, not the aspiration.
Where this fits
You're scaling past Stripe Checkout and the bespoke flow needs the underlying processor abstraction first.
Your single-PSP setup is a regulatory risk and the contract you just signed requires multi-region routing.
Your dispute response is reactive and you keep losing chargebacks because the evidence isn't there when the deadline hits.
Tech stack
- Stripe
- Adyen
- Webhooks
- PCI Scope Minimisation
- Drizzle
Want this for your team?
30 minutes to scope what you need. No pitch deck, no obligation. We tell you straight whether Stacklane fits.
Book a Free Call
