WooCommerce refund to store credit: when it beats a card refund

A card refund sends the money out of your store for good, and the card fee rarely comes back with it. Store credit keeps both, if the customer agrees. When to offer it, when the law says you can't insist, and three ways to set it up in WooCommerce.

Founder of RoundBorders · WordPress since 2012

Published 8 min read

The short answer

Offer store credit as a choice, never as the only way back. A card refund returns the money but not the card fee, and the customer may not come back. Store credit lands instantly and keeps both in your store. Where the law gives the customer their money back, as for cancelled or faulty orders in the UK and EU, the card refund stays the default unless they choose credit.

When a customer asks for their money back, WooCommerce gives you one obvious button: refund the order to the card they paid with. It works, and sometimes it is exactly right. But it is not free, and it is not the only way. A refund to store credit puts the same amount into the customer’s account on your store instead, ready for their next order. For the right customer and the right reason, it is better for both of you. For the wrong one, it is a good way to lose them, and in some countries it is not your decision to make.

This post covers what a card refund really costs, when store credit is the better offer, where the law puts the customer in charge, and three ways to set it up in WooCommerce. We make a WooCommerce wallet plugin, so weigh our part of the last section accordingly; everything before it holds whichever tool you use.

What a card refund actually costs you

Three things leave the store when you refund to a card.

The money. Obviously. It goes back to the customer’s bank and it has no reason to come back to you.

The fee you paid to take it. Stripe says it plainly: “Stripe’s processing fees from the original transaction aren’t returned.” PayPal says the same for business payments: there is no fee to make the refund, “but the fees you originally paid to receive the payment are not returned to you.” At Stripe’s standard US rate for domestic cards, 2.9% + 30¢, refunding a $60 order still costs you $2.04 you will never see again. Check your own rate; the point holds at any rate. (One exception: Stripe processes a refund made very soon after the charge as a reversal, and it doesn’t withhold fees for those.)

The customer’s attention. A card refund takes time to show up. Stripe puts it at “approximately 5-10 business days”, depending on the bank. By then the customer has bought the replacement somewhere else.

None of this means card refunds are wrong. It means each one has a price, and store credit is the only option that doesn’t.

Is store credit better than a refund?

For the store, almost always: the money stays, no fee is lost, and the customer has a reason to come back. For the customer, only when they were going to buy from you again anyway. That is the whole test. Offer store credit to people who wanted a different size, colour or product, and keep the card refund for people who are done with you.

What changes when you refund to store credit:

  • It lands instantly. The balance is in their account the moment you press the button, and most wallet tools email them to say so. No five to ten business days.
  • It comes back as an order. A balance on your store is spent on your store. Many people spend more than the credit when they do.
  • You owe it until it’s spent. Store credit is still the customer’s money, held by you. Treat it that way: never let it vanish, and keep a record of every change.

When store credit is the right offer

The cases where customers say yes:

  • Wrong size, wrong colour, changed their mind. They still want something from you. Credit gets them to it faster than a refund and a new order would.
  • An exchange you can’t fill right now. The item is out of stock in their size. Credit lets them wait for it, or pick something else today.
  • A late or damaged delivery you want to make up for. A goodwill credit costs you less than a discount code everyone can share, and only the customer you owe can use it.
  • Returns season. After the holidays, returns spike. Every return refunded to credit instead of a card is revenue that stays in January.

And the cases where it backfires: a customer who is unhappy with the product, the service or the store. Offering them credit reads as “we’re keeping your money”. Give them the card refund, quickly, and you may still get them back later.

When the customer decides, not you

In some places, store credit can only ever be an offer.

In the UK, when a customer cancels an online order within the cancellation period, the Consumer Contracts Regulations say the trader “must make the reimbursement using the same means of payment as the consumer used for the initial transaction, unless the consumer has expressly agreed otherwise”, with no fee for the refund. The Consumer Rights Act says the same for refunds on faulty goods. In the EU, the Consumer Rights Directive does too: the refund goes back by “the same means of payment as the consumer used for the initial transaction, unless the consumer has expressly agreed otherwise”.

So in those cases the card refund is the default, and store credit is something the customer chooses. Outside the UK and EU the rules vary, and some places regulate how store credit and gift cards can expire. Check the rules where you sell. The safe pattern works everywhere: offer credit as a choice, never as the only way back.

How to offer it so customers say yes

  • Ask, in plain words. “Would you like your $60 back on your card in 5 to 10 business days, or as store credit right now?” Put both options side by side, in your returns page and in your reply.
  • Make the credit the faster option. It already is. Say so.
  • Consider a small thank-you for choosing credit. Some stores add 10% when a customer picks credit over a card refund. It is your call and your margin, but it turns “no thanks” into “why not”.
  • Let them see it. A balance they can see in their account, with every change listed, is one they trust. A code buried in an old email is one they forget.
  • Make it easy to spend. The balance should come off at checkout without hunting for a code, and pay for part of an order when the order costs more.

Three ways to refund to store credit in WooCommerce

WooCommerce has no store credit of its own. A refund in WooCommerce is either automatic, which returns the money “via the payment method used to pay for the order”, or manual, which only records it: “Manual Refunds do not refund the customer via the payment gateway”. So a refund to store credit is usually a manual refund in WooCommerce plus the credit itself, given one of these three ways.

A coupon (built in)A free wallet pluginA ledger-based wallet
What it isA one-off coupon for the customer’s emailA wallet balance per customerA wallet balance on a ledger
Keeps a running balanceNo: one coupon, one useYesYes
Refund an order to itBy hand: you create the couponYesYes, including orders paid partly from the wallet
Customer sees itOnly if they keep the codeOn their account pageOn their account page, with every change
Proof the numbers add upNoneDepends on the pluginA check of every balance against its history
CostFreeFree, paid add-onsPaid

1. A coupon. WooCommerce’s own coupons can stand in for credit at a pinch: a “fixed cart discount”, limited to the customer’s address with “Allowed emails” (checked against their billing email) and a usage limit of one. It costs nothing. But it isn’t a balance: it is used in one go, the customer has to keep the code, and there is no running record of what you owe. Fine for one goodwill gesture, painful for a returns policy.

2. A free wallet plugin. A wallet gives every customer a balance on their account page that they can spend at checkout. TeraWallet, a popular free one on WordPress.org, lists refunds to the wallet (“Easily handle refunds by crediting the user’s wallet instantly”) and paying part of an order from the balance. For many stores that is all they will ever need.

3. A ledger-based wallet. When the balances add up to real money, it matters that every one of them is provably right. That is why we built Elite Balance, a premium wallet for WooCommerce. Every change is an entry on a ledger with the balance after it, so you can check any customer’s balance against their history, and refunding an order to the wallet works even when it was paid partly from the wallet and partly by card. It costs $89 a year on the WooCommerce Marketplace. We make it, so we are not neutral; the table above is the fair comparison, and the free option may well be enough for you.

Already using a wallet plugin?

You don’t have to start again to change tools. A good wallet plugin moves your customers’ balances, and ideally their history, so nobody loses a cent in the switch. If you are on TeraWallet today, our switching guide shows what comes across and how the move is checked.

The short version

Refund to the card when the customer is done with you, or when the law says the choice is theirs and they haven’t chosen credit. Offer store credit, side by side with the card refund, when they still want something from you: it lands instantly, it keeps the fee and the money in your store, and it brings them back. Then pick the tool for the size of your store: a coupon for the odd gesture, a free wallet for a simple returns policy, and a ledger-based wallet when the balances are real money you have to be able to account for.

From the RoundBorders team

Need a hand with your site?

Tell us what’s going on. We send a fixed price, usually within a few hours.

  • Nothing to pay until you approve a price
No passwords needed to quote

Write as much as you like: what's happening, what you want, links, errors. The more we know, the more exact your fixed price.

Share this post

Know a store owner with the same problem? Send it their way.

Bishoy Awad

Written by

Founder of RoundBorders. Building and fixing WordPress sites since 2012; our work is listed in the WooCommerce, Pressable and Jetpack partner directories.

Sources

Found a mistake? Write to me.