Stripe, wired the way
it survives a bad Friday.
Taking a card payment is the easy part. What separates a payment integration that holds up from one that quietly loses money is what happens on the unhappy paths: a tampered basket, a duplicate webhook, a dispute six weeks later.
Start a projectThe four rules we never break
The server re-prices everything
Price, delivery, distance and stock are recalculated on the server before a charge, and the basket the browser sent is treated as a request rather than a fact. Trusting the basket is how a £40 order gets paid for with £4.
The webhook is the only thing that marks an order paid
Verified against the raw body, idempotent, ignoring livemode mismatches. A customer closing the tab after paying must not be able to lose their order, and a retried webhook must not create a second one.
Stock is reserved before payment
Atomically, so two people cannot buy the last one. Releasing it again on an abandoned checkout is part of the same job.
Every order keeps what wins a dispute
The payment reference, the basket as charged, the authentication result and the timestamps. That is what answers a chargeback; a till roll and a memory answer nothing.
Wallets, and why they matter more than they look
Apple Pay and Google Pay as the default path
On a phone, a returning customer paying with a thumbprint converts far better than one typing sixteen digits at a bus stop. Apple Pay arrives through the card payment method rather than as a separate integration.
Domain registration is a real step
Apple Pay has to be registered per domain, and again at cutover and in live mode. It is the commonest reason a wallet button is missing on launch day.
Authentication that does not break the checkout
Strong Customer Authentication means the customer may be sent to their bank app and must come back to a checkout that remembers them. It is one of the things we test on a real phone rather than in a desktop browser.
Connect, for platforms that pay other people
Direct charges on the client’s own account
Where a platform takes a fee and the business takes the sale, the charge belongs on their connected account with an application fee, so they are the merchant of record and the money is theirs from the start.
Onboarding that the business can actually finish
Identity, bank details and verification are Stripe’s flow, and the job is getting the business into it with the right account type for how they trade.
Fees that survive a refund
What happens to the platform fee when an order is refunded is a commercial decision that has to be built deliberately rather than discovered at the first refund.
Before you ask.
Do you store card details?
Can customers pay with Apple Pay?
Can we take a deposit, or hold a card?
Do you take a cut of our sales?
- E-commerce →The store around the checkout.
- Chargebacks →What wins one, and what loses one.
- Strong Customer Authentication →The extra step, and why it is there.
- React Native and Expo →Cross-platform apps in one codebase, and an honest answer about whether you need one.
- AI integration →AI on the reading order, not the decision, with every call’s cost logged.
Ready to get started?
Tell us what you need. We will scope it, price it and build it.
Start a project →