Help Center
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)

  1. Do not charge the customer again. Say this out loud to whoever is handling the table.
  2. Re-open the guest's order page and refresh — verification often lands seconds later and the badge flips to Paid by itself.
  3. Check the order in the admin console / till — the payment list on the order shows every attempt with its status.
  4. 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.
  5. 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.