TL;DR: To refund shipping on Shopify, open the order, click Refund, and type the amount into the Refund shipping field. Leave product quantities at zero to refund shipping alone. Better: choose Refund to store credit where it fits, because the cash stays in your business and Shopify Payments never returns the original transaction fee anyway.
A late delivery complaint lands in your inbox. The product is fine, the customer keeps it, but the express shipping they paid for took nine days. You do not want to refund the whole order. You want to give back the shipping cost, close the ticket, and keep the customer.
Shopify handles this in one screen, but the exact field is easy to miss, and two of the options around it (store credit and return rules) decide whether refunds quietly eat your margin. The National Retail Federation puts online return rates around 17% of sales, and every one of those events runs through this same refund screen. Worth getting right.
How do I refund shipping on a Shopify order?
The whole flow lives in the order page:
- Open Orders in Shopify admin and click the order.
- Click Refund (top right on desktop).
- Ignore the product lines and find the Refund shipping field below them. It shows the shipping amount the customer paid.
- Enter the full shipping cost or any partial amount, up to what they paid.
- Leave “Restock items” unticked (nothing is coming back), add an internal reason, and click Refund.
That is a shipping-only refund. The products stay paid, fulfillment stays intact, and the customer sees the shipping amount return to their original payment method in a few business days.
Two constraints catch people. The refundable amount is capped at what was actually charged, so a free-shipping order shows zero in the field. And refunds are final: there is no undo, so type the amount before you click, not after.
If you combine product and shipping refunds in one action, set the item quantities and the shipping amount together, and tick restock only when the item is physically coming back to sellable stock. Mis-ticked restocks corrupt inventory counts, and untangling that later costs more than the refund did.
The fee detail nobody mentions
Shopify Payments keeps the original processing fee when you refund. On a $120 order with a $12 shipping refund, the fee loss is small; on a full-order refund it is the entire 2.9% plus 30 cents you already paid. Refunds are never free money for you, which is exactly why the next option matters. I count refund leakage as one of the classic conversion leaks with a dollar impact: invisible individually, expensive in aggregate.
Refund to store credit and keep the cash
The refund screen has a second path most stores never use: Refund to store credit. Instead of sending money back to the card, Shopify credits the customer’s account, and they spend it at checkout like a payment method. Shopify documents it under store credit.
The pitch to the customer is genuinely fair: instant credit, no waiting days for a card reversal, often paired with a small bonus. The pitch to your P&L is better: the cash never leaves your business, the eventual redemption usually comes with a bigger basket, and you skip a second round of payment fees.
One hard requirement. Store credit rides on the new customer accounts system, so a shopper who checked out as a guest has nowhere to hold credit. If your store still runs legacy accounts, that migration is a bigger conversation than refunds; I covered it in the customer accounts redesign guide. Nudge account creation at checkout, or store credit stays theoretical.
In the refund dialog you can also set an expiry on the credit. Twelve months is a reasonable default: long enough to be fair, short enough to prompt the return visit.
Stop shipping refunds at the source with return rules
Most shipping refunds are not goodwill gestures; they are return events. Shopify’s return and cancellation rules decide who pays for what before the ticket ever reaches you.
Open Settings > Policies and find the return rules section. Three settings do the work. The return window sets how long customers have. Return shipping decides whether you or the customer pays for the label on a standard return. And collection exclusions let you mark clearance or custom items as final sale so they never enter the flow.
Pair the rules with self-serve returns (Settings > Customer accounts, one toggle) and routine returns stop arriving as angry emails. The customer requests the return from their order page, your rules price it consistently, and the refund screen becomes the last step instead of a negotiation. Since checkout policies and surprise costs drive a large share of abandonment in the first place, honest shipping expectations up front reduce the refund queue too; that pattern shows up constantly in my checkout abandonment work.
Consistency is the underrated part. When refund decisions follow written rules instead of whoever answers the ticket, customers get the same treatment twice, and your support person stops making $40 margin calls on gut feel.
How to verify in five minutes
- Create a test order with a paid shipping rate (a draft order with a manual $1 product works), then open it and confirm the Refund shipping field shows the rate.
- Refund the shipping only, and confirm the order timeline logs a partial refund with products untouched.
- Check Settings > Customer accounts shows the new accounts system if you plan to use store credit, and issue a small test credit to your own account.
If the shipping field shows zero on real orders, those customers had free shipping; there is nothing to refund. If Refund to store credit is missing, you are on legacy customer accounts.
Set the return rules this week, before the next refund forces the conversation.
The takeaway
- Refund shipping from the order’s Refund screen; zero product quantities makes it shipping-only.
- Remember the cap: you can only refund what the customer actually paid.
- Offer store credit where it fits; the cash and the fees stay with you.
- Set return rules and self-serve returns so refunds follow policy, not mood.
- Never tick restock unless the item is physically back on the shelf.