Card reader says approved but Shopify POS won't stop saying "processing" — what do I do?

When the card reader shows approved but the Shopify POS screen never confirms the sale, here's how to check whether the order actually went through and avoid charging the customer twice.

POSpaymentscard readercheckoutduplicate charge

What's going on

It happens at the worst possible moment: a customer taps or inserts their card, the reader beeps and shows approved, and then the Shopify POS screen just sits there spinning on "processing." The order never lands in Shopify admin, the receipt screen never appears, and the merchant is left staring at a customer who has already been charged (maybe) while having no order to show for it.

The scary part is that this isn't a payment failure in the usual sense — the card network has often already approved and authorized the charge on the reader's end. What's stuck is the round trip back to Shopify: the POS device needs to tell Shopify's servers the payment succeeded and get an order created in response, and if that handshake doesn't complete, the app has no way to show you a finished sale even though money may already be moving on the customer's card.

Merchants dealing with this in real time face a genuine dilemma: tap the card again and risk a duplicate charge, or wait and risk the customer walking out without ever getting a receipt. Support threads on this describe both outcomes happening — a completed but unrecorded charge, and occasionally a customer disputing a charge that shows on their statement with no matching Shopify order.

Why it happens

The card reader and the Shopify POS app are two separate systems talking to two separate networks. The reader talks to the card network (via Bluetooth or a direct connection) to get the authorization, while the POS app separately needs a working internet connection to Shopify's servers to record that authorization as a completed order. Those two steps usually happen within a second of each other, but they aren't the same event — a card can be fully approved by the bank while the second leg, POS-to-Shopify, is what's actually hung.

The most common trigger is a connectivity gap: a dropped Wi-Fi connection, a weak cellular signal, a Bluetooth disconnect between the POS device and a wireless card reader, or the store's router briefly losing its internet connection right as the sale is being finalized. Because the reader itself doesn't need constant internet to get card network approval in the same way the POS app needs internet to sync the order, you end up with a reader that says yes and an app that never hears back.

5 ways to fix it

1

Do not tap or swipe the card again — check the order status first

Before anything else, leave the checkout screen alone and open the order in Shopify admin (or the POS order history) from another device if possible. If the card was actually approved by the reader, the authorization has already been sent to the card network; retrying the payment on the POS screen risks capturing two separate charges for the same order. Give it 60-90 seconds — most "stuck" spinners resolve on their own once the POS app reconnects to Shopify's servers and confirms the order.

2

Check your internet connection and reader connection, not just the card reader battery

Shopify POS card transactions are approved by the card network almost instantly, but the POS device still needs a stable connection back to Shopify to record the order and close out the payment sheet. A weak Wi-Fi/cellular signal, a Bluetooth drop between the POS device and the reader, or the store's router losing internet mid-transaction is the most common cause of a payment that says "approved" on the reader but never finishes on screen. Reconnect Wi-Fi or switch the POS device to cellular, confirm the reader still shows as connected in the POS app's hardware settings, then check the order list again before doing anything else.

3

Record the transaction/authorization ID and reconcile before refunding or recharging

If the order never appears in Shopify admin after a few minutes, write down whatever reference you have: the time of the transaction, the amount, the last four digits of the card, and any transaction ID shown on the card reader's own receipt or display. This is what Shopify Support and your payment processor will need to trace the authorization and confirm whether it actually completed on the card network's side, even though your POS never recorded a matching order. Do this before you refund anything or run the card a second time, otherwise you lose the paper trail that proves whether one charge or two actually went through.

4

Restart the POS app (and the reader) rather than force-closing mid-transaction

If the spinner still hasn't cleared after checking connectivity, close and reopen the Shopify POS app normally so it can sync any pending transaction with Shopify's servers on relaunch, then power-cycle the card reader. Avoid force-quitting during an active payment sheet if you can help it — a clean restart gives the app a chance to finish reporting the transaction result instead of abandoning it silently.

5

Escalate to Shopify Support with the transaction ID if the order still doesn't reconcile

If after reconnecting and restarting the order still doesn't show up, or the customer's bank statement shows a charge with no matching Shopify order, contact Shopify Support (or your Shopify Payments/payment processor support line if you're on a third-party processor) with the transaction ID, timestamp, and amount. They can look up the authorization on the processor side and either manually complete the order or confirm the charge needs to be reversed. This is a support-ticket situation, not something a merchant can resolve by trial and error in the POS app.

Bottom line

Most of these incidents are a connectivity hiccup, not a payments bug: the card network approved the charge before the POS device's own connection to Shopify dropped, so the screen never got the "all clear" signal. Treat every stuck payment as unconfirmed rather than failed — check the order list, don't recharge blindly, and keep the transaction ID handy so Shopify Support or your processor can reconcile it quickly if the order never appears on its own.

Still Stuck?

Browse the rest of the problem library, run a free storefront scan to catch issues like this automatically, or email us and we'll work out a custom solution for it.