Shopify Customer Charged Twice: How to Reply and When to Refund
When a customer says they were charged twice, start by finding out which of three cases you have. It may be a pending authorization that will drop off by itself, a duplicate order the customer placed by mistake, or a real second charge on one order. Each case needs a different reply. Only the last two need a refund, and you should send that refund fast, before the customer goes to their bank and opens a chargeback.
These tickets are short and they sound urgent. "You took my money twice" reads like a serious error, even when nothing went wrong. If you answer with a vague "we'll look into it", the customer calls their bank. If you give the right explanation for their case, the ticket closes in one reply.
The three cases behind "I was charged twice"
- Pending authorization. What happened: the bank shows a hold and the final charge side by side. What the customer sees: two lines for the same amount, one marked pending or not marked at all. What you do: explain the hold. No refund needed.
- Duplicate order. What happened: the customer checked out twice, often after a slow page or a failed payment message. What the customer sees: two charges and two order confirmation emails. What you do: cancel the order they don't want, then refund it.
- Real double charge. What happened: one order, two captured payments. What the customer sees: two settled charges for one order number. What you do: refund the extra payment right away.
Which case you see most often depends on your store and your payment methods. Some banking apps show a hold right next to the final charge, so it looks like a second payment.
How to check which case you have
Do these checks before you reply. They take a few minutes in your Shopify admin.
- Search orders by the customer's email. Two orders for the same items, placed minutes apart, means a duplicate order.
- Open the order and read the timeline. Payment events are logged there. Two captures on one order means a real double charge.
- Look at the transactions. If you see only one captured payment, the second line on the customer's statement is most likely a hold.
- Check the payment method. Wallets such as PayPal show payments their own way. Ask the customer which statement they are reading.
- Check the customer's history. If they have disputed a charge with you before, give the ticket to a person instead of answering it automatically.
Your checks may show one order and one payment while the customer still says they paid twice. In that case, ask for their full bank statement before you do anything else. A screenshot of the full statement settles it faster than a back and forth.
What to reply in each case
Keep every reply short. Give the order number, say what you found, and say what happens next.
Case 1, pending authorization: "Hi Sarah, thanks for checking. I looked at order #4821 and we took one payment of the order total. The second line on your statement is a temporary hold your bank placed when you paid. It isn't a second charge, and your bank will release it. When the hold goes depends on your bank, so if it's still there after a few business days, your bank can confirm it's a hold. If your full statement shows two completed charges, reply with a screenshot and we'll sort it out."
Don't promise a release date. Each bank decides when a hold drops off. If you name a day and miss it, you get a second ticket.
Case 2, duplicate order: "Hi Sarah, you're right. You placed order #4821 and order #4822 two minutes apart, for the same items. I've cancelled #4822. Your refund for it has been issued. Your bank decides how long it takes to show on your statement. Order #4821 is going ahead as normal."
Cancel before the second order ships. If both orders have already left your warehouse, the second one becomes a return, and your return policy decides who pays for shipping. Our guide to Shopify order edit requests before shipping, listed at the end of this article, explains how long you have to act.
Case 3, real double charge: "Hi Sarah, I'm sorry about this. Order #4821 was charged twice because of a payment error on our side. Your refund for the extra payment has been issued. Your bank decides how long it takes to show on your statement. Your order isn't affected and will ship as planned."
Own the mistake in one sentence and skip the long apology. Shopify's own advice for this case, in its Help Center page on preventing chargebacks, is to refund the second charge right away and contact the customer to tell them what happened. Refund first, then find the cause. If it happens on several orders, take it to Shopify Support or your payment provider. That is a checkout or gateway problem, not a customer problem.
Why speed matters more than usual here
A customer who thinks you took their money twice and hears nothing back can dispute the charge with their bank. Our guide to preventing chargebacks on Shopify, listed at the end of this article, explains why a fast, clear support reply is your best defense, and what to do if a dispute opens anyway.
If the customer already says "I'll contact my bank," treat the ticket as a chargeback threat. Our article on whether to offer a refund to remove a bad review, also listed at the end of this article, explains how to handle threats without rewarding them.
What an AI agent can handle, and what goes to your team
Double charge tickets are a good fit for automation. Most of them come down to facts in Shopify, not opinion. Once the agent has found the order, your rules decide which reply goes out, and payment problems stay with a person.
- One order, one payment, customer sees two lines. AI handles it: sends your approved hold wording and asks for the full statement if needed.
- Two identical orders minutes apart, neither shipped. AI handles it: cancels the duplicate if you gave it cancellation permission, then refunds it if you gave it refund permission. Goes to your team: any step it has no permission for.
- Two identical orders, both shipped. AI handles it: explains the situation and the return steps. Goes to your team: if you want to offer a prepaid label or a goodwill code.
- Two captures on one order. Goes to your team: always, payment events are checked by a person.
- Customer says they will open a dispute or mentions the bank. Goes to your team: always.
- Two orders with different items or addresses. Goes to your team: always, since they may be two real orders.
The last case matters. Two orders from the same customer on the same day aren't always a mistake. A customer may buy a gift and something for themselves. Only cancel automatically when the items, quantities and shipping address match.
Relay works this way. It understands the request, finds the order, applies your store's rules and acts, within the permissions you give it. When a case falls outside those rules, it hands the ticket to your team. To decide where that line sits, read our guide to Shopify AI agent human handoff rules, listed at the end of this article.
Rules to write down before the next ticket
Put these in your support policy so every reply says the same thing, whether a person writes it or an AI agent does:
- Duplicate order definition: same customer, same items, same address, placed within a short time window you choose.
- Cancellation permission: whether a duplicate order can be cancelled without approval, and only before fulfillment.
- Refund permission: whether a duplicate order can be refunded without approval.
- Hold wording: one approved sentence that explains authorizations, with no release date.
- Escalation triggers: a mention of the bank, a repeat claim, two payments on one order, two orders with different items or addresses.
- Pattern alert: if real double charges show up on several orders, someone checks the checkout and the payment gateway the same day.
For a wider view of which tickets to automate and which to keep with a person, see what AI support for Shopify should and shouldn't answer, listed at the end of this article.
FAQ
Why does my customer see two charges when Shopify shows one payment? It's usually a pending authorization. When the customer pays, their bank puts a hold on the amount, and some banking apps show that hold next to the final charge. The bank releases the hold on its own. If the second line is still there, ask the customer to check their full statement.
Should I refund before the customer sends proof? Refund right away if your order timeline shows two captured payments, or if you find two matching orders. If Shopify shows only one payment, ask for the full bank statement before you refund. Otherwise you may refund money you were never paid a second time.
Can a duplicate charge turn into a chargeback? Yes. If the customer gets no clear answer, they may dispute the charge with their bank. A fast reply that explains their case, plus a quick refund when the charge is real, is the best way to stop that. See our guide to preventing chargebacks on Shopify, listed at the end of this article, for the rest.
Can an AI agent cancel and refund a duplicate Shopify order on its own? Yes, if you give it permission and set clear limits. Cancellation and refund are two separate permissions, so decide on each one. Your rules decide when it can act. Anything outside those rules goes to your team.

