EUEU shops have had to offer a withdrawal button since June 19, 2026. The free plugin includes it.The EU withdrawal button is now required.Read the guide

Get ProView demo

Store Credit vs Refund: What Should a WooCommerce Store Offer?

Illustration of a wallet with a card and coins

Store credit vs refund comes down to who keeps the money after a return. Credit keeps the money in your store and a refund sends it back to the shopper. Most WooCommerce stores do best by offering both and letting a small bonus steer change-of-mind returns toward credit.

This guide checks every rule against its primary source, read on November 2, 2026. Those sources are EU Directive 2011/83/EU, the US federal gift card rule and two state codes. Every setting, label and calculation comes from the WPReturns Pro 1.0.0 code and its demo store.

You get a side-by-side comparison first and the cases where each option fits. Then come the rules on forcing and expiring credit, a worked bonus example, coupons versus Wallet balance and the setup steps.

Store Credit vs Refund Compared

In the store credit vs refund choice, credit is a balance or coupon the customer spends in your shop. A refund sends the money back to the card or method they paid with. Credit keeps revenue in your store, while a refund keeps trust when the store was at fault.

The two differ on the points a store owner weighs most:

PointStore creditRefund
Where the money goesStays in your storeBack to the customer’s payment method
When the customer can use itThe moment the coupon or top-up is issuedWhen the payment provider settles the refund
EU withdrawalOnly if the customer expressly agreesThe default under Article 13
Guests without an accountYes as a couponYes
ExpiryYou set it within the lawNot applicable

The NRF and Happy Returns 2025 report estimated that 19.3% of online sales would be returned in 2025. It also found that 76% of shoppers are more likely to choose a return option that gives an instant refund or exchange. That 76% is the case for fast credit.

Returns in 2025

  • Share of all retail sales returned15.8%
  • Share of online sales returned19.3%
  • Shoppers more likely to pick an instant refund or exchange76%
Source: NRF and Happy Returns (October 2025)

A coupon a shopper can spend today competes well with a refund that waits on a parcel and a bank.

When a Refund Is the Right Call

A refund is the right call when the store caused the problem or when the law asks for one. That covers damaged, defective and wrong items, every EU withdrawal and cancellations before shipping. Pushing credit in those cases costs more goodwill than the sale it saves.

These are the returns where a refund should come first or stand alone:

  • An item that arrived damaged, defective or wrong is the store’s fault. The customer did nothing wrong and expects their money back.
  • An EU withdrawal under the 14-day legal right ends in a refund through the original payment method unless the customer agrees otherwise.
  • A cancellation before shipping means the customer never received anything. Credit here feels like a penalty.
  • A first-time buyer with a bad order may never spend the credit. It mostly leaves them annoyed.
  • A large balance from a high-value item is a hard sell when it is locked in one shop.

WooCommerce sends a refund back through the gateway when the gateway supports it. The WooCommerce refunds docs explain that a manual refund only records the order as refunded. You then pay the customer back yourself.

My Account > Returns > RMA-00003

A completed refund on the customer's request page showing the amount paid back
Screenshot from the WPReturns demo store

The customer sees the result on their request page. With a recorded refund the message reads “The store pays it back to you directly”, which tells them the money comes from you outside WooCommerce.

Store Credit or Refund: When Credit Makes Sense

Store credit makes sense when the product was fine and the customer wants something else. Wrong size, changed mind and unwanted gifts are the classic cases, and those customers often plan to shop with you again. A credit with a small bonus suits them and keeps the sale in your store.

Credit also fits a few situations that stores often miss:

  • The person returning an unwanted gift never paid. A refund to the buyer’s card helps nobody standing at your counter.
  • Repeat customers with several past orders tend to spend a balance in the same shop.
  • A customer just past your return window may accept credit as goodwill where a refund would break your policy.
  • In a sizing return the customer still wants the product, and an exchange or credit gets them the right one.

Who should pick store credit or refund in the end? Let the customer choose. A form that shows credit first with a visible bonus and the refund right under it keeps the choice honest.

Our store credit feature page shows how that choice looks to a shopper. It also covers how the credit is paid out after you approve the return.

Tip: If most of your credit returns are size swaps, an exchange for another variation may serve the customer better. It ships the right item without a second checkout.

Can a Store Force You to Take Store Credit Instead of a Refund?

A store cannot force store credit for an EU withdrawal, because Article 13 requires a refund to the original means of payment. Outside that legal right, the store credit refund policy you publish sets what customers can expect. Faulty goods and local consumer law can still give the shopper a stronger claim.

The EU rule is plain. Article 13 of Directive 2011/83/EU says the trader reimburses “using the same means of payment as the consumer used”. The only exception is when “the consumer has expressly agreed otherwise” and pays no fees for it.

The same article sets the deadline at 14 days from the day the trader learns of the withdrawal. Under Article 13(3), you may hold the refund until the goods arrive or the customer shows proof of sending, whichever comes first.

Two rights sit side by side for EU shoppers. The legal withdrawal gives 14 days with no reason needed, while your own policy might give 30 days with credit or a refund.

So a customer on day 20 who uses your returns portal can be offered credit first. That return runs under your policy, and the same shopper on day 10 using the withdrawal flow gets a refund.

My Account > Returns

The customer's Returns page in My Account listing returns next to an EU withdrawal request
Screenshot from the WPReturns demo store

WPReturns draws that line in code. A withdrawal request and a cancellation request only ever offer a refund, while store credit and exchanges appear only on normal return requests.

In the US, return rules come mostly from state law and from the policy you post. Before you make credit the only option, read your state’s consumer protection rules and state it on your returns page.

Our guide to adding the EU withdrawal button to WooCommerce covers the refund flow in detail. The EU withdrawal button feature is part of the free plugin.

Does Store Credit Expire?

Store credit can expire if your terms allow it and your local law does too. US federal rules set a five-year floor for gift cards sold for payment, and some states ban expiry dates on certificates outright. In WPReturns, credit coupons expire after 365 days by default, and 0 turns expiry off.

The federal rule is 12 CFR 1005.20. It bars issuing a gift certificate or store gift card with an expiration date unless several conditions are met. One is that the funds last at least five years.

Its definitions cover cards issued “in exchange for payment”. Loyalty, award and promotional gift cards are excluded. The rule text does not say whether a credit issued for a return counts.

State law can go further. Washington defines a gift certificate as a record promising goods “to the value or credit shown in the record” in RCW 19.240.010.

Washington then makes it unlawful to issue such a certificate with an expiration date. The exceptions are awards or loyalty programs and certificates donated to charity.

California bans expiration dates on gift certificates sold to a purchaser under Civil Code 1749.5. Whether a return credit counts depends on each statute’s wording. Check the text for every state you ship to.

WPReturns keeps the choice in one field, “Coupon expires after (days)”. Set 0 for coupons that never expire, which removes the question for every state at once. Wallet balances follow the rules of the Wallet plugin.

How Bonus Store Credit Works

Bonus store credit is extra value added on top of the return when the customer picks credit over a refund. WPReturns Pro sets it as a percentage in the “Bonus credit (%)” field. The bonus is worked out on the return value after fees and shows on the request form before the customer chooses.

Here is the simplest case as a worked example. A customer returns a $100 item, there are no fees, and the store offers a 10% bonus.

Example: a $100 return paid two ways

Refund

Item value
$100.00
Return fees
$0.00
Refund to the card
$100.00

Money leaves the store.

Store credit with a 10% bonus

Item value
$100.00
Bonus at 10%
+$10.00
Credit to spend
$110.00

The order shows a $100.00 refund record. The $10.00 bonus stays out of it.

Example figures for illustration

The code works the bonus out in two steps. First it takes the net value: item value minus any restocking fee and return shipping fee.

Then it multiplies the net by the bonus percentage and rounds to your store’s price decimals. A $33.33 item at 10% gives $3.333, which rounds to a $3.33 bonus and $36.66 of credit.

Fees change the comparison, because each resolution can carry its own return shipping fee. This example sets “Return shipping fee: refunds” to $5 and “Return shipping fee: store credit” to 0:

LineRefundStore credit with 10% bonus
Item value$80.00$80.00
Return shipping fee$5.00$0.00
Net value$75.00$80.00
Bonus$0.00$8.00
Customer receives$75.00$88.00

With a bonus set, the form shows “Fastest option, plus 10% extra to spend.” under store credit. Without one that line reads “Fastest option: use it on your next order.”

Start with a small bonus and watch how many customers pick credit before you raise it. A bonus that is too high gives away margin on returns that would have taken credit anyway.

Coupon or Wallet Balance: Two Ways to Pay Credit

WPReturns Pro pays store credit in two ways: a single-use WooCommerce coupon tied to the customer’s email, or a top-up of their DevDiggers Wallet balance. Coupons work for guests and on every store. Wallet balance needs a customer account and the Wallet plugin active on the site.

The coupon is a normal WooCommerce coupon with a code such as CREDIT-RTK0JXTJ. It is a fixed cart discount with a usage limit of 1, restricted to the customer’s email and combinable with other coupons.

The WooCommerce coupon docs say allowed emails are “Verified against customer’s billing email.” So a guest must check out with the same billing email to use the code.

From Return to Spent Credit

  1. 1RequestCustomer picks Store credit on the formBonus shown up front
  2. 2ApproveYou approve and the parcel comes back
  3. 3ResolveCoupon or Wallet top-up issuedEmail sent
  4. 4RecordRefund record on the order without the bonus
  5. 5SpendCustomer uses the credit at checkout
How WPReturns Pro handles a store credit return

Wallet credit lands in the customer’s balance and is spent at checkout without a code. It suits stores that already run a WooCommerce Wallet plugin for cashback or top-ups.

WPReturns > Configuration > Wallet

The WPReturns Wallet tab showing how a return comes back as a sale through the wallet
Screenshot from the WPReturns demo store

The Wallet integration docs cover the setup. If you are still choosing between the two models, this comparison of WooCommerce wallet vs store credit lays out the trade-offs.

Note: You can still switch the method on a single request. A guest order on a Wallet store gets a coupon, because Wallet credit needs an account.

How to Offer Store Credit in WooCommerce With WPReturns Pro

To offer store credit in WooCommerce, install WPReturns Pro next to the free plugin and turn on “Offer store credit”. Then set the payment method, the bonus and the expiry on the Resolutions tab. From then on, the request form offers credit on every normal return.

Pro needs the free plugin installed first. Search for WPReturns under Plugins > Add New or get the free WPReturns plugin download.

Step 1: Turn On Store Credit

Go to DevDiggers Plugins > WPReturns > Configuration > General and switch on “Offer store credit”. Keep “Offer a refund to the original payment method” on as well.

1WPReturns > Configuration > General

The General tab with Offer store credit and Offer a refund to the original payment method switched on
Screenshot from the WPReturns demo store

Leaving both on gives the customer a real choice. Turning refunds off would push every normal return into credit or an exchange.

Step 2: Set How Credit Is Paid and When It Expires

Open the Resolutions tab. “Credit first” shows store credit before the refund on the request form and is on by default.

Set “Pay store credit as” to the coupon or the DevDiggers Wallet balance. Then fill in “Bonus credit (%)” and “Coupon expires after (days)”, where the defaults are 0 and 365.

2WPReturns > Configuration > Resolutions

The Resolutions tab with Credit first on and a 10 percent bonus credit
Screenshot from the WPReturns demo store

Lower down, “Return shipping fee: refunds” and “Return shipping fee: store credit” set a fee for each choice. A lower fee for credit is a second nudge, and the field takes 0 to make credit free to return.

Step 3: Check the Choice on the Request Form

Open a completed test order as a customer and start a return. Step 2 of the form asks “How should we make it right?” and lists your options in the order you chose.

3My Account > Returns > Start a return

Store credit vs refund on the WPReturns request form with a 10 percent bonus on store credit
Screenshot from the WPReturns demo store

Store credit shows the bonus line, and the refund says the money goes back once the items arrive. If the bonus line is missing, check that “Bonus credit (%)” is above 0.

Step 4: Resolve the Request

When the parcel is back, open the request and use the “Items received: resolve the request” card. The Resolution menu starts on the customer’s choice, and the Amount field holds the item value minus fees plus any credit bonus.

4WPReturns > Requests > RMA-00061

The request screen with the Resolution and Amount fields above the Resolve request button
Screenshot from the WPReturns demo store

You can change the resolution here before you click Resolve request. That helps when a customer asks for credit by message after picking a refund.

Step 5: Confirm the Coupon or Wallet Top-Up

After you resolve, the request shows what was issued. The demo request below added a $1.98 bonus to a $19.80 item and issued a $21.78 coupon.

5WPReturns > Requests > RMA-00007

A completed store credit request with the coupon code and the credit bonus in the summary
Screenshot from the WPReturns demo store

WPReturns also records the credit as a WooCommerce refund that sends no money, without the bonus. Order totals, cashback and points then follow the return.

The resolutions settings docs list every field. Pro costs $99 a year for one site, and the pricing page shows the 5-site and 10-site plans.

How to Tell Whether Store Credit Is Working

Store credit is working when customers pick it often and then spend it. Measure the share of returns resolved with credit and the share of credit coupons redeemed. If credit is chosen but rarely spent, the bonus or the expiry needs another look.

The WPReturns dashboard shows Refunded next to Revenue kept, which counts store credit and exchanges. The Resolutions chart splits requests by outcome. The store credit share is one line in that chart.

WPReturns > Dashboard

The WPReturns dashboard with Refunded and Revenue kept cards above the Resolutions chart
Screenshot from the WPReturns demo store

WooCommerce shows each coupon’s usage on the coupon itself. Search the coupon list for CREDIT to see how many were redeemed.

Credit that is never spent leaves the customer with nothing to show for the return. Count spent credit as the win and unspent credit as a warning sign.

Store Credit in Other Returns Plugins

Several WooCommerce returns plugins offer store credit, and only a few of them add a bonus on top. Some keep store credit for their paid tier. The table below shows what each product’s own page said about store credit and bonus credit when we compared them.

PluginStore creditBonus credit
WPReturns ProCoupon or DevDiggers WalletYes
Zorem ReturnsYesYes
YITH Advanced Refund SystemCoupon–
KoalaApps Advanced Returns and RefundsCoupon with prefix and expiry–
WP Swings RMAWallet in the paid tier–
WP Desk Flexible RefundRefund coupon in the paid tier–

Compared on October 30, 2026. A dash means the source page did not mention it, which does not prove the feature is missing. On Shopify, AfterShip Returns and ReturnGO list bonus credit, and Loop lists it on a paid plan.

The free vs Pro page shows which WPReturns features need Pro. Store credit, bonus credit and exchanges are all on the Pro side.

Moving from another plugin? You can migrate your old returns with the importer in both builds.

Conclusion

Store credit vs refund is a choice you make per return reason. Refund the store’s mistakes, every EU withdrawal and cancellations before shipping. Offer credit first with a small bonus on change-of-mind and sizing returns, and keep the refund on the same form.

Pay credit as a coupon for guests or as Wallet balance for account holders, and pick an expiry your state’s law allows. Then watch how often credit is chosen and spent before you raise the bonus.

Frequently asked questions

Ask the team or read the docs if your question is not here.

Can guests receive store credit without an account?

Yes. Guests get their credit as a coupon that WooCommerce checks against the billing email at checkout. Wallet balance needs a customer account and so guest orders always get a coupon.

Is a store credit coupon the same as a gift card?

No. A WPReturns credit coupon is a single-use WooCommerce coupon limited to one customer's email. A gift card is usually a product anyone can buy and pass on to someone else.

Can a customer use store credit together with another coupon?

Yes, in most cases. WPReturns creates the credit coupon with Individual use only turned off. The only block is a second coupon that is itself set to individual use only.

Does the bonus count as a refund on the WooCommerce order?

No. WPReturns records store credit as a WooCommerce refund that sends no money, and that record leaves the bonus out. A $100 return with a 10% bonus shows a $100 refund on the order and a $110 coupon.

How much bonus store credit should I offer?

Start small, such as 5 or 10 percent, and raise it only when too few customers pick credit. WPReturns works the bonus out on the return value after fees. The request form shows it before the customer chooses.

What should a store credit refund policy say?

It should say which returns get credit and which get a refund, how credit is paid and when it expires. Name the bonus if you offer one. Keep EU withdrawals out of any credit-only wording.

Does the free WPReturns plugin issue store credit?

No. The free plugin refunds through WooCommerce, either to the gateway or as a recorded manual refund. Store credit as a coupon or Wallet balance, with an optional bonus, is part of WPReturns Pro.

Get WPReturns free

Enter your email and the download starts. You also get release notes and new guides by email.

By downloading you agree to the terms and privacy policy and to occasional emails from DevDiggers. Unsubscribe anytime.