Payments Not Working

Shoppers cannot pay online, payments do not confirm, or paid orders are cancelled: what each checkout message means and how to fix it.

Last updated 19 October 2026

Online payment in a Mercayo store needs two things at once: your own Razorpay account connected in Settings › Payments, and the Online Payments switch on in Settings › Checkout and COD. When shoppers cannot pay, or a payment does not reach the order, work through the causes below in order: most take a minute to check.

Symptoms

What shoppers may see at checkout:

  • No Pay online (UPI, cards, netbanking) choice at all, only cash on delivery.
  • "This store does not take online payments yet."
  • "Online payment is not working in this store just now. Your order #1042 is kept for 30 minutes; please try again shortly."
  • "We could not reach the payment service. Your order #1042 is kept for 30 minutes; please tap PAY NOW to try again."
  • Payment not completed, with "The payment window could not be opened." or "We could not confirm the payment yet. If money was taken, it will show shortly."
  • "We could not confirm this payment. Nothing was changed."
  • "Order #1042 was cancelled because it was not paid in time. Please place it again."

What you may see in the admin:

  • Orders sitting in the Awaiting payment tab of the Orders List.
  • Orders under Cancelled with the reason "Not paid in time".
  • A yellow banner above the orders list: "1 order needs a refund" (or "… orders need a refund").
  • On the Payments screen: "Razorpay could not be connected just now. Nothing was saved; please try again." or "Your role cannot manage payments. Ask the store owner."

Causes and Fixes

Online Payments Is Switched Off

Connecting Razorpay does not, by itself, show online payment at checkout. Online Payments is off by default, even after you connect.

How to check: open Settings › Checkout and COD and look at the Online Payments card. If the switch is off, shoppers see only cash on delivery, and a shopper who reaches the payment step another way gets "This store does not take online payments yet."

How to fix:

  1. In Settings › Checkout and COD, switch on Online Payments.
  2. Press SAVE.
  3. Open your store in a new tab, add something to the bag and go to checkout: Pay online (UPI, cards, netbanking) should now show.

If the switch shows Locked with a note, Mercayo has set it for your store; write to support (below). See Checkout and COD Settings.

Razorpay Is Not Connected

The switch alone is not enough either: online payment needs a connected Razorpay account. While none is connected, the Online Payments card says "Online payments work only once Razorpay is connected." with Open Payments.

How to check: open Settings › Payments. The Razorpay card's corner says Connected or Not connected.

How to fix: connect your keys as described in Payments: paste the Key ID and Key Secret, press CONNECT RAZORPAY, then add the webhook in Razorpay and press DONE, I HAVE ADDED IT.

The Key Secret Is Wrong

Mercayo saves your keys without trying them against Razorpay. A key secret copied wrongly, or a key id and secret from two different keys, shows up only when a shopper tries to pay: Razorpay refuses to make the payment, and the shopper sees "We could not reach the payment service. Your order #… is kept for … minutes; please tap PAY NOW to try again." The order waits in Awaiting payment.

The same message appears when you use live keys before Razorpay has activated your account for live payments, because Razorpay refuses those requests too.

How to fix:

  1. In your Razorpay Dashboard, open Account & Settings → API Keys and generate a fresh key in the mode you want (test or live).
  2. In Mercayo, open Settings › Payments and press REPLACE KEYS.
  3. Paste the new Key ID and Key Secret and connect.
  4. Connecting again makes a new webhook secret: update it in Razorpay's webhook settings (next cause).
  5. Place a test order and pay. The order should show as paid.

The Store Is Still in Test Mode

With test keys (rzp_test_…), the pill beside the Payments title reads Test and the Mode fact says "No real money moves." That is right while you try your store out, but real shoppers cannot pay a real order through test keys.

How to fix: go live as described in Payments: REPLACE KEYS with your live keys (the button then reads CONNECT LIVE ACCOUNT), and add the webhook in Razorpay's live mode with the new secret. Cancel the test orders you placed.

The Webhook Is Missing or Has the Old Secret

An online order is confirmed when Mercayo's server has checked the payment, from the shopper's browser coming back from Razorpay or from Razorpay's webhook, whichever comes first. If the shopper closes the browser or loses signal before coming back, only the webhook can tell Mercayo. Without a working webhook, that order stays in Awaiting payment and is cancelled when its time to pay runs out, although the money reached your Razorpay account.

The webhook fails when it was never added, when Active Events does not include payment.captured and order.paid, or when its secret is from an earlier connection (each REPLACE KEYS makes a new one). Mercayo refuses any notice whose signature does not match, and changes nothing.

How to check: in your Razorpay Dashboard, open Settings → Webhooks. The webhook's address must be the Webhook Address shown on Mercayo's Payments card, with both events ticked, in the same mode (test or live) as your keys.

How to fix: the webhook secret is shown only once, so you cannot read it again. Press REPLACE KEYS, connect with the same keys, then copy the new Secret from the Finish in Razorpay card into Razorpay's webhook and save.

The Shopper Ran Out of Time to Pay

An order paid online waits with its stock held for the minutes in Time to Pay (Online Payments card, default 30, between 10 and 1,440). Mercayo then cancels it with the reason "Not paid in time", puts the stock back and releases its offer uses. A shopper who returns later sees "Order #… was cancelled because it was not paid in time. Please place it again."

How to fix: if your shoppers often need longer (for example paying by a bank's netbanking page), raise Time to Pay and SAVE. To let shoppers know, switch on Tell the Shopper When an Order Expires in the Order Clean-up card. With Bag Reminders on, the shopper can also get one reminder for the cancelled bag.

Money Was Taken but the Order Is Cancelled

  • The payment reached Mercayo after the order was cancelled. Mercayo keeps the payment, leaves the order cancelled and flags it: it appears in the yellow refund banner on the orders list ("1 order needs a refund"). Open the order and press REFUND. See Refunds.
  • The payment never reached Mercayo (no working webhook, see above). The order is cancelled and Mercayo shows no payment. Find the payment in your Razorpay Dashboard: its receipt is your order number. Refund it there, or ask the shopper whether they want the order placed again.

A Problem on Mercayo's Side

Two messages mean the problem is not in your settings:

  • Shoppers see "Online payment is not working in this store just now…" although Razorpay shows Connected: Mercayo could not open your saved keys.
  • Connecting says "Payment keys cannot be saved on this server yet: Mercayo's secure storage for them is not set up. Nothing was saved. Please contact Mercayo support."

Write to support straight away. Switch off Online Payments meanwhile if you sell cash on delivery too, so shoppers are not sent into a payment that cannot open.

Part Payment for COD Is Not Asked

Part Payment for COD needs a connected Razorpay account (not the Online Payments switch). Without one, checkout offers ordinary cash on delivery with no advance.

Still Stuck?

Open Help from your account menu in the admin and write to Mercayo's team (WRITE TO US, or OPEN WHATSAPP where it is set up). Include:

  • your store's address (its handle, for example kosha);
  • the order number and the time the shopper tried to pay;
  • the Razorpay payment id (it starts with pay_) if the money was taken;
  • whether the Payments pill shows Test or Live;
  • a screenshot of the message the shopper saw.

Never send your key secret or webhook secret: support never needs them, and they are never shown on any screen, Mercayo's console included. See Contact Mercayo Support.

Questions

Why don't shoppers see online payment after I connected Razorpay?

Online Payments in Settings › Checkout and COD is off by default. Switch it on and press SAVE; both the switch and a connected account are needed.

Do I need the webhook if payments already confirm?

Yes. A payment usually confirms from the shopper's browser, but a shopper who closes the window too early is confirmed only by the webhook. Without it, those paid orders are cancelled.

Where do I see orders still waiting for a payment?

In the Awaiting payment tab of the Orders List. They leave it once paid (to To ship) or when their time to pay runs out (to Cancelled).

How long does a shopper have to pay?

The minutes in Time to Pay, 30 by default. The same time applies to the part paid online on a part-payment COD order.

Was This Article Helpful?

Thank you. Your answer helps us improve this article.

Still stuck? Write to support from your admin's Help page.

Still Need Help?

Write to Mercayo's support with your store's address and what you were doing. Your admin's Help page has the details.

CONTACT SUPPORT