Payment gateway integration,
built once and tested on real cards
A payment gateway is more than a button that redirects to a hosted page. We wire the gateway's SDK or API into your checkout and handle webhooks for every payment state. We retry failed notifications, and test the whole path with real cards in test mode before anything goes live.
What the integration actually covers
Payment gateway integration is the plumbing between your checkout and the provider that actually moves money: Stripe, Opn (Omise), LiqPay, or a local processor your market expects. It covers the client-side card or wallet form. It covers the server-side call that creates and confirms the charge. And it covers the webhook listener that reacts when the gateway later says a payment succeeded, failed, or was disputed. Done properly, a customer pays with the method they already trust, and your system knows the true state of every payment without polling the gateway by hand.
When a custom build is the right call
You need this when you are launching a new checkout, or adding a second payment method or currency. The same goes for fixing a gateway integration that silently drops webhooks and leaves orders stuck “pending” for days. It is also worth a rebuild when a previous integration charges a card but never confirms the order. That is a common failure mode we have found auditing e-commerce stores.
You do not need a custom integration if a platform’s native checkout already covers your methods and volume. Shopify Payments or a WooCommerce plugin is often enough for a simple store with one currency and no unusual payment logic. Custom integration earns its cost once you need local methods a plugin does not support. The same is true for split payments, or a checkout embedded in an app or bot rather than a web page.
How we build it
We start from your gateway’s test environment and your actual checkout flow, not a generic template. The server side, Python and FastAPI or Node and TypeScript depending on your stack, creates the payment intent and confirms it. It listens for webhooks on a dedicated, signature-verified endpoint. Every webhook gets logged before it is processed, so a replay or a bug in our handler never loses the record of what the gateway actually said. Idempotency keys cover every charge attempt, so a retried request from a flaky connection cannot create a second charge. Refunds and partial refunds go through the same gateway API rather than a manual dashboard step. Failed payments carry a message your checkout can show the customer, instead of a generic error.
For stores on Shopify or WooCommerce, we work inside the platform’s payment app model rather than bypassing it. That way updates do not break on the next platform upgrade. For custom checkouts, card tokens, not raw card numbers, never touch our servers in a form that would bring PCI scope onto you. See the PCI-aware payment architecture page for how we keep that boundary clean.
What to watch
Gateway choice is partly a vendor-lock-in decision. Switching providers later means re-testing every payment state, not just swapping an API key. We design the integration layer with that provider’s quirks isolated from the rest of your checkout code, where it is reasonable to do so. Running cost includes the gateway’s own transaction fees, which we do not control and which vary by card type and country. A gateway integration is not “set and forget.” Card networks change rules. 3-D Secure requirements shift by region. A dormant integration can start failing silently if nobody is watching webhook error rates.
Price and timeline
| Option | Price | What it covers | Timeline |
|---|---|---|---|
| MVP | from $1,200 | One gateway, cards plus one local method, webhooks, test-mode verification | 1 to 3 weeks |
| Production | from $3,000 | Multiple gateways or currencies, subscription-ready charges, retry and alerting on webhook failures | 3 to 5 weeks |
Related
A gateway integration is often the first piece of subscription billing with dunning or split payments and payouts for marketplaces. If cards need to stay out of PCI scope entirely, see PCI-aware payment architecture. It is one part of the development service and pairs with e-commerce for the rest of the store. For a store this kind of integration actually shipped in, see the Balkans supplements store.
Ready to stop losing orders to a flaky checkout? Get in touch and send us your current gateway setup.
FAQ
How much does payment gateway integration cost?
From $1,200 for one gateway on one checkout flow, cards and local wallets included. A second gateway or currency, or a subscription flow, adds time and is quoted after we see your stack.
How long does it take?
1 to 3 weeks once we have test credentials for the gateway and access to the checkout code or platform.
Which gateways and platforms do you support?
Stripe, Opn (Omise), LiqPay, and most local providers with a documented API. We work on Shopify, WordPress and WooCommerce, or a custom Next.js or FastAPI checkout.
Who owns the integration code?
You. It lives in your repository or your platform's theme or app, under your gateway account, from the first commit.
What happens after launch?
We watch the first weeks of live payments for webhook failures or declined-card patterns, then hand over monitoring. Ongoing changes, a new currency, a new method, get quoted separately.