Customers who redeem points for a reward and then change their mind can return the unused code and get its points back. They do it themselves with a Return points link, so you don't have to cancel the reward for them. It works for discount codes customers buy with points, on every plan, and it's off until you turn it on.
Turn on returning rewards
In the Appstle Loyalty app, click Ways to redeem.
In Rules for every reward, click Change in the editor. The Points program editor opens on Settings.
Open Returning rewards.
Turn on Let customers return unused codes for their points.
Click Save.
What customers see
Signed-in customers see a Return points link under each unused code in their rewards in the loyalty popup. On the Legacy loyalty page, it's under each code too. On the Modern loyalty page, customers find it in a code's details. If you've added Appstle Loyalty to your checkout, a Return points button shows under each code there (see Redeem points on checkout/thank you pages).
The first click changes Return points to Tap again to return your points, so nobody returns a code by accident. The second click returns it: the code stops working and leaves their rewards, its points go back to their balance, and they see Your points are back in your balance.
In the app, the returned code shows Refunded on the customer's Rewards tab in Customers, and the points that came back are listed on their History tab.
Which rewards can be returned
A reward can be returned only if all of these are true:
The customer bought it with points and it's a discount code. Free shipping and free product rewards count, because they come as codes too.
The code hasn't been used. A code that works more than once can't be returned after its first use. Appstle Loyalty checks with Shopify before it gives any points back.
The code hasn't expired.
Store credit rewards can't be returned, because the credit is already in the customer's Shopify account. Rewards you give as gifts, like VIP, birthday and referral rewards, can't be returned either, because they cost the customer no points.
Return a code for a customer
If a customer can't return a code themselves, you can return it for them.
In the Appstle Loyalty app, click Customers, then open the customer's page with the eye icon in the Action column.
Click the Rewards tab.
Next to the code, click Cancel Reward.
Keep Reassign redeemed points to customer selected and click Yes.
The code stops working and its points go back to the customer's balance. This works even when returning rewards is off.
Things to know
A returned reward still counts toward that reward's Limit how often a customer redeems this and toward the daily limit in Redemption limits. For example, if a reward is limited to 1 time in total, a customer who returns it can't redeem it again.
With point expiration set to A set time after they're earned, returned points count as newly earned, so they expire the set time after the return. See Set up point expiration.
Once a code expires, customers can't return it. To give points back for codes that expire unused, turn on Give points back when a code expires unused. See Set up reward code expiration.
Return points, Tap again to return your points and the messages customers see after a return are in English, and you can't change or translate them.
Troubleshooting
Customers don't see Return points anywhere: check that Let customers return unused codes for their points is on and saved, and that the customer is signed in.
Return points is missing for one code: it doesn't show for used, partly used or expired codes, for store credit or for gifted rewards.
Return points is missing at checkout or in customer accounts: at checkout, it shows only if you've added Appstle Loyalty to your checkout, which needs Shopify Plus. It's also hidden there when Hide Redeem Points Section is on in the checkout editor, or when Hide Redeem Section When No Points/Credits is on and the customer has no points left and no store credit. It isn't on the loyalty page inside Shopify customer accounts.
If a return fails, the customer sees a message that says why:
Message | What it means |
This reward can no longer be returned. | The code was used, even once, or it was already returned or cancelled. |
This reward can't be returned. | It's store credit, or the customer didn't buy it with points. |
This reward has expired. | The code passed its expiry date. |
Another reward action is in progress. Please try again. | The customer clicked before an earlier action finished. They can try again in a moment. |
Returning rewards is not available. | Returning rewards is off. Return points goes away when the customer reloads the page. |
We couldn't verify this reward right now. Please try again later. | Appstle Loyalty couldn't check with Shopify whether the code was used, so the customer keeps the code. If it keeps happening, the code may have been deleted in Shopify. Return it for them with Cancel Reward. |


