Payment gateway integration
Payment gateway integration that doesn’t lose orders.
Taking the payment is the easy part. We build what comes after it: verified confirmations, safe retries, refunds and a daily check that what the gateway collected matches what your system recorded.
- Every confirmation verified, server to server
- Refunds, subscriptions and split payouts handled
- Tested in sandbox, then with a real payment, before launch
Where it goes wrong
Six ways a payment integration fails.
None of these show up in a demo. They appear weeks later, on a customer’s slow connection or at month-end, when the numbers refuse to match.
- 01
Paid, but the order says “pending”
The site waited for the customer’s browser to come back from the payment page. They closed the tab, lost signal or the redirect failed.
The order is confirmed by a server-to-server message from the gateway, never by the browser alone.
- 02
The customer was charged twice
A slow response made the site, or the customer, send the same payment again.
Every payment is tied to one order with a unique key, so a repeat request returns the first result and doesn’t create a second charge.
- 03
The same payment was recorded twice
Gateways deliberately re-send notifications until they are acknowledged, and sometimes send them out of order.
Each notification is checked against what has already been processed. Seeing it twice changes nothing.
- 04
A refund was made, but the system doesn’t know
Someone refunded from the gateway’s dashboard, and nothing told the website.
Refunds, part-refunds and disputes are handled as events too, so stock, invoices and reports stay correct.
- 05
The bank deposit doesn’t match the sales report
Fees, refunds, chargebacks and settlement delays were never reconciled.
A daily job compares the gateway’s records with yours and flags, or corrects, every mismatch.
- 06
It worked in testing and failed on launch day
Live keys, live callback addresses and extra bank checks behave differently from the test set-up.
A written go-live checklist, and a real low-value payment and refund before any customer sees it.
How we build it
Six layers between “Pay” and “Paid”.
Every integration we build has all six, whichever gateway you use.
- 1
The order comes first
Your server creates the order and sets the amount before any payment starts. The price can’t be changed from the customer’s browser.
- 2
Card details never touch your server
We use the gateway’s hosted checkout or hosted fields. Card numbers go straight from the customer to the gateway, which keeps your compliance burden as light as it can be.
- 3
Every confirmation is verified
Whatever comes back, from the browser or by webhook, is checked against the gateway’s signature before anything is marked as paid.
- 4
Webhooks are stored, then processed
Each notification is verified, saved and acknowledged at once. The work happens afterwards, so a slow step never causes a missed event, and repeats are harmless.
- 5
Records are reconciled every day
A scheduled job compares payments, refunds and settlements at the gateway with your own records, and reports anything that doesn’t match.
- 6
People are told when it matters
Failed payments, disputes and mismatches raise an alert. Customers get the right message, and your team sees what needs attention.
What we take on
New, broken or outgrown.
Whether you are adding payments for the first time or untangling an integration someone else left behind, the starting point is the same: we look at what exists and tell you what it needs.
- 01
A new integration
Add online payments to a website, store or app that has none.
- 02
Repair an existing one
Missing orders, duplicate charges or reports that don’t add up.
- 03
Add or switch gateway
A second gateway as back-up, better rates or a new country.
- 04
Subscriptions
Recurring billing, plan changes, retries for failed renewals.
- 05
Marketplace payouts
Split a payment between sellers and your commission.
- 06
Reconciliation
Reports that tie gateway, bank and accounts together.
Gateways and methods
Stripe, Razorpay, PayPal, PayU, Cashfree and PhonePe, or the gateway your bank gives you.
- Credit and debit cards
- UPI
- Wallets
- Net banking
- International cards
- Subscriptions and mandates
- Payment links
- Split payouts
- Refunds and part-refunds
Security
Card details never touch your server.
We use the gateway’s hosted checkout or hosted fields, so card numbers travel straight from your customer to the gateway. That is safer for them, and it keeps your compliance obligations as small as they can be.
- Secret keys stay on the server, never in the page
- Every incoming message is checked against the gateway’s signature
- Logs record what happened without storing sensitive data
- Access to the gateway account limited to the people who need it
Tested before any customer pays
6 of 6- Successful payment, with the browser tab closed mid-way
- Failed and abandoned payments
- The same webhook delivered twice, and out of order
- A webhook that arrives hours late
- Full refund and part-refund
- A real low-value payment and refund in live mode
Which payment gateways do you integrate?
We integrate Stripe, Razorpay, PayPal, PayU, Cashfree and PhonePe. If your bank or region uses a different gateway, send us its documentation and we’ll tell you what is involved.
Do you store card details?
No. We use the gateway’s hosted checkout or hosted fields, so card numbers go directly from your customer to the gateway and never pass through your server. That is safer for your customers and keeps your compliance obligations small.
A payment went through but my system didn’t record it. Can you fix that?
Yes. It is almost always a webhook problem: the gateway’s confirmation never arrived, or it wasn’t handled. We add signature checks, safe retries and a reconciliation job that compares the gateway’s records with yours, so a missed message is caught and corrected.
Can you set up subscriptions and recurring payments?
Yes: plans, trials, upgrades and downgrades, retries when a renewal fails, and the emails that go with them. Which methods support recurring payments depends on the gateway and country, so we confirm that first.
Can we accept payments from other countries?
Yes, if your gateway and business registration allow it. We’ll help you work out which gateway covers the countries and currencies you need.
Can we switch to a different gateway?
Yes. New payments can move to the new gateway straight away. Saved cards and running subscriptions are harder: whether they can be moved depends on both gateways, so we check before promising anything.
Have a payment problem right now?
Tell us what is happening. We’ll tell you what is likely wrong and what it takes to fix, usually within one business day.