Customer Charged Customs Fees? What to Say on Shopify
A customer is asked to pay customs fees at the door. Check who was meant to pay, send the right reply, and say it before checkout so fewer people ask.

“Why do I have to pay to get my own parcel?”
The order went out, the tracking moved, and then it stopped at the border. A few days later the customer writes in: the carrier wants money before it will deliver, and they think you have tricked them. Sometimes the email arrives after they have already refused the parcel.
The customer is upset about money you never see: the duty goes to their government, the handling fee to the carrier. You still get the email. Answer it carefully, because a customer who feels ambushed at the door tends to pay and never order again, refuse the parcel, or call their bank — and that last one can become a chargeback.
First, work out which message you have
Four different situations hide behind “customs” emails, and each needs a different reply:
- They have a fee notice and the parcel is waiting. The carrier has sent a text, an email or a card asking them to pay before delivery. The parcel is fine; the question is who pays
- The parcel is held in customs. Tracking has not moved for days and shows a customs or clearance status. Usually the carrier is waiting for something, often payment or a document
- They want to refuse the parcel. They do not want to pay and are asking whether they can just send it back
- They have paid and want the money back. The parcel arrived, and now they are asking you to cover what they paid at the door
Open the order and the tracking before you reply, and check one more thing.
Check one thing first: who was supposed to pay
Everything depends on what the customer was told before they paid. There are two ways to sell across a border, and most small stores use the first without having decided to:
- The customer pays duties on delivery. You ship the order, and the carrier collects any duties, import taxes and its own handling fee from the customer before it hands the parcel over. This is the default for most stores
- You collect duties at checkout. The customer pays duties and import taxes in your checkout, and the parcel is delivered without a second bill. Shopify can do this for some stores and markets, depending on your plan and how you take payments
Look at the order’s payment summary. If you collect duties at checkout, they show there; if there is no duties line, the customer did not pay them to you. Then look at your shipping policy and product pages: is the sentence about duties actually written anywhere the customer would have seen it before buying?
If it is written down, the fee is theirs and you can say so kindly. If it is not, treat the fee as at least partly yours, because the customer had no way of knowing.
The reply when your policy says duties are theirs
Be clear, be kind, and do not apologise for something you did correctly. Explain where the money goes, point to where it was written, and tell them what happens next:
Hi {first name},
Thanks for letting me know. I have checked order #{number}. The fee the carrier is asking for is import duty and tax charged by {country}, plus the carrier’s handling fee. None of it comes to us, and we are not able to pay it on your behalf from here.
Our shipping policy mentions this for international orders: {link}. Once it is paid through the carrier, they will deliver the parcel as normal.
Please pay only through the carrier’s own website or app, using the tracking number {tracking number}. If you get a payment request that does not match that number, do not pay it — send it to me first and I will check.
— {your name}, {store name}
The last paragraph is not decoration. Fake customs fee messages are a common scam, and a customer who has just been asked to pay a real fee is exactly the person who might fall for a fake one. Telling them how to check protects them, and it protects you from a “your store scammed me” review.
The reply when the parcel is held in customs
A parcel sitting in customs is often waiting for the customer: a payment, an ID number, or a form the carrier has sent them. Tell them what you can see and what the carrier needs:
Hi {first name},
I have checked order #{number}. The tracking shows it at customs in {country} since {date}, with the status “{last tracking status}”.
When a parcel waits at this stage, the carrier is usually waiting for a payment or a document from the person receiving it. Please check your email and texts for a message from {carrier}, or look the parcel up on their website with the tracking number {tracking number}.
If there is nothing there, reply to me and I will open a case with {carrier} from our side.
— {your name}, {store name}
Then write a check-back date on the order, and if the tracking has not moved by then, chase the carrier yourself.
The reply when they want to refuse the parcel
Refusing seems like the easy way out to the customer, so tell them what it really means before they do it. A refused parcel usually comes back to you as a return to sender, slowly, and the return shipping is often charged to you:
Hi {first name},
Before you decide, here is what happens if the parcel is refused: it travels back to us, which can take a few weeks, and we refund the order once it arrives, minus {what your policy deducts, for example the original shipping cost}. You can see this in our returns policy here: {link}.
If you would rather keep it, the fee is paid to {carrier} and the parcel is delivered as normal.
— {your name}, {store name}
Whatever your rule is, write it down before anyone needs it. A flat, written rule is easier to accept than one that sounds invented on the spot.
When the fee is on you
Sometimes the honest answer is that the customer is right. The product page said “free shipping worldwide”, nobody mentioned duties, and they were asked to pay at the door. Arguing about a rule that was not written anywhere costs more than the fee.
In that case, apologise, offer to cover what they paid (ask for the carrier’s receipt and refund that amount on the order), and fix the page that day. Refund it on the order itself, so the record stays where you will find it later.
Making it happen in Shopify
A few habits stop most of these messages before they are written:
- Decide who pays, on purpose. Look at your Markets settings and check whether collecting duties at checkout is available for the countries you ship to most. If it is not, or you choose not to use it, then the customer pays on delivery, and your pages need to say so
- Put one sentence where it is read. The duties line belongs in your shipping policy, and a short version belongs near the shipping information on product pages and in the cart, where the customer is deciding
- Get the customs details right on the products. Each product in Shopify can carry a country of origin and an HS code. Wrong or missing details are one of the reasons parcels sit at customs longer than they should
- Tag the orders. A tag such as customs-hold or duties-refunded on the order means whoever answers next does not have to work it out again, and shows you which countries cause the most trouble
Most of the anger in these emails is not about the amount but about finding out at the door. The same fee, mentioned once before checkout, is something a customer can plan for.
Where we come in, briefly. Order Genie is the AI Order Agent we build at ShopAppsLab. It sits on your storefront, looks the order up in your store, and answers “where is my order?” — plus the shipping, returns and FAQ questions that tend to follow it — 24/7, without you in the loop. A customs bill is a question about money, so it still comes to you: it collects the request and hands it over, with the conversation attached. It starts free with 25 conversations a month, and paid plans begin at $29. Everything above works without it — that is the honest version.
If you do one thing this week
Pick the country outside your own that you ship to most, and read your product page, cart and shipping policy as a first-time customer from there. Would they know, before paying, that a second bill might come at the door? If not, add one sentence today.
Customs emails are a small share of the messages you answer over and over, but they are the ones that end in refused parcels and disputes. One honest sentence before checkout prevents most of them.