Higher approvals, a few lines away.
You create a payment session and read the result. Everything that lifts the approval rate — classifying declines, choosing a retry route, requesting SCA exemptions, refreshing network tokens — runs on our side, behind that one call. Your code stays a thin client, and a webhook tells you the moment a payment is recovered.
Create a session, read an approval
The whole surface area is a payment session and the result that comes back. You never build retry logic, never script a 3-D Secure flow, never store a card. Start against the sandbox, point at the live keys when you are ready, and the same call gets smarter behind the scenes as we tune it.
- One call, not a pipeline. Create the session, render the checkout, read approved or declined. That is the contract.
- Retries and 3-D Secure handled for you. Soft-decline recovery and frictionless authentication happen server-side, not in your code.
- You never touch raw card data. Details are tokenized at the network, so your servers stay outside PCI scope.
- Sandbox first. Every decline reason and recovery path is reproducible in test before a single real payment.
A small kit that does the heavy lifting
Three things to integrate against — the checkout, the token vault and the webhooks. The approval logic lives behind all three.
Drop-in checkout and SDKs
Render a hosted checkout or mount the components, on the web and in mobile apps. The SDKs handle the payment session and the 3-D Secure step, so your front end just collects intent and shows the outcome.
Network-token vault
Cards are tokenized at the network the first time they are used, and the token is kept current as cards expire or get reissued. You store the token reference, never the PAN, and returning shoppers stay approvable.
Webhooks for recovered payments
Your code reacts to a webhook when an authorization resolves. Listen for payment.approved, payment.recovered and payment.soft_declined to fulfil, reconcile and report — no polling required.
Four steps to a smarter checkout
Each step is reproducible in the sandbox before it touches real money, so going live is a switch, not a leap.
Get your keys
Sign in, create a sandbox project and copy the test keys. Live keys appear next to them the moment your account is verified.
AuthenticateAdd the checkout
Drop in the hosted checkout or mount the SDK components, then create your first payment session from the server.
IntegrateTest in sandbox
Trigger soft declines, hard declines and 3-D Secure challenges on demand, and watch retries and tokens resolve them.
ReproduceGo live
Swap test keys for live keys and point your webhooks at production. The same session call now recovers real payments.
ShipThe complicated parts run on our side
The logic that actually moves the approval rate is the logic you would least want to maintain. We run it behind the session call so your integration never grows a tangle of edge cases — and gets the benefit of every improvement we ship.
- Decline classification. Each refusal is sorted into soft or hard before anything else happens, so genuine declines are left alone.
- Retry routing. Recoverable declines are retried once, on the route and at the moment most likely to clear.
- SCA exemptions. We request the right exemption so eligible payments skip the challenge and stay frictionless.
- Token refresh. Network tokens are kept current as cards change, with no work on your side.
Small to add, quick to ship
Three things you will want to confirm
Do I ever handle raw card data?
No. Card details are collected by the hosted checkout or the SDK components and tokenized at the network, so the PAN never reaches your servers. You store and reference a network token, which keeps your systems out of PCI scope.
Is there a sandbox?
Yes. Every project starts with sandbox keys, and you can trigger any outcome on demand — soft declines, hard declines, 3-D Secure challenges and successful recoveries. Test keys and live keys sit side by side, so promoting to production is a key swap.
Do I implement the retry logic myself?
No. Classifying declines, choosing a retry route and timing, requesting SCA exemptions and refreshing tokens all run server-side, behind the session call. Your code creates the session, reads the result and reacts to a webhook when a payment is recovered.
Ship the call. We will keep making it smarter.
Read the docs to integrate today, or book a revenue review and we will walk your team through the session model and the recovery that runs behind it.