Troubleshooting
Medium
Cashier · Restaurant Admin (Owner) · Manager
Updated September 2026
Payment pending: customer paid but order shows unpaid
Money left the customer's account but the bill still says unpaid. Follow this reconciliation — do not re-charge.
What happened?
The guest's bank/UPI app shows the money went out, but the order in RestoQR still shows Pending / Pay at counter and an amount owed.
Why it can happen
- The gateway completed the charge but its confirmation back to RestoQR did not arrive (mobile network drop at the worst possible second).
- Signature verification is still being processed.
- The guest paid against an older payment attempt for the same bill.
- A genuine gateway-side delay — rare, but banks do batch.
Do this (in order)
- Do not charge the customer again. Say this out loud to whoever is handling the table.
- Re-open the guest's order page and refresh — verification often lands seconds later and the badge flips to Paid by itself.
- Check the order in the admin console / till — the payment list on the order shows every attempt with its status.
- Verify the payment reference — ask the guest for the UPI/bank reference, and look the amount up in the restaurant's Razorpay dashboard. Money visible there with the right amount is real money.
- If the money is confirmed in the gateway but the order stays unpaid after ~15 minutes — settle the table at the counter *only if the guest has not actually been debited* (re-check!); otherwise contact support with the reference and let the reconciliation happen at the system level. The order will not be lost: gateway records plus the audit log make it fully traceable.
What NOT to do
Do not
- Do not create a second payment blindly — a pending gateway payment can still capture, and then you have charged twice (see Duplicate payment).
- Do not mark the order paid manually because "the guest showed me the SMS" — captured status requires gateway verification, and bypassing it breaks your close-out numbers.
- Do not delete the order or the payment attempt — those records are the reconciliation trail.
How you know it is fixed
The order shows a captured (Paid) payment matching the debited amount, the guest page reads Paid, and the amount appears in the gateway dashboard — all three agreeing.
Still not working?
Contact support — category Payments — with: order number, exact time, amount, the guest's bank/UPI reference and the gateway payment ID (pay_…) if you have it. Owners can also pull the billing reconciliation figures for the day from the close-out screen to bound the problem.
Was this helpful?