Plan: Premium, Enterprise | Platform: Shopify
Overview
Shop now lets shoppers exchange a returned item for any product in your catalog, directly on the AfterShip Returns page. Learn how to set up in-app exchanges using AfterShip Returns.
This guide walks you through enabling Shop now, choosing the exchange flow and checkout method, setting exchange shipping, and offering exchange credits. Once live, shoppers choose exchanges over refunds more often, which helps you retain revenue.
Before you begin
Requirements
AfterShip Returns connected to your Shopify store
Set up steps
Step 1: Open the Shop Now settings
Turn on Shop now so shoppers can see the exchange option on your returns page.
Go to Return policy > Refunds and exchanges in your AfterShip Returns admin.
Select Shop now.
Under Status, select Enabled.
Step 2: Set the display text
Choose what shoppers see when they select a resolution on your returns page.
Under Display text, enter a Name (for example,
Exchange for other items or refund directly).Enter a Description if you want to add more context for shoppers.
Step 3: Choose the Exchange Flow
Decide where shoppers select their new items and how they pay for exchange orders.
Under Exchange flow, select Exchange on AfterShip returns page.
Next to Checkout method, select Manage to open your checkout settings.
Select Add method, then select Stripe checkout or Shopify checkout.
Select Save, then return to the Shop now page.
Checkout method | Best for |
Stripe checkout | Full control over when AfterShip Returns creates the exchange order |
Shopify checkout | Exchange orders that run through your Shopify store checkout |
Note: AfterShip Returns rounds any exchange payment under $0.50 down to $0.
Step 4: Set Exchange Shipping
Choose whether shoppers pay for shipping on exchange orders.
Under Exchange shipping, select Free or Custom fee.
If you select Custom fee, select a currency and enter the fee amount.
Select Add currency to set a fee for each checkout currency your connected stores use.
Step 5: Offer Exchange Credits (Optional)
Encourage shoppers to choose an exchange instead of a refund.
Toggle on Pre-discount credit to let shoppers use the discount from their original purchase toward an exchange.
Toggle on Extra credit to give shoppers an amount on top of their original item value.
Select Percentage or Fixed amount.
For Percentage, enter a percentage of the original item price, excluding shipping.
For Fixed amount, select a currency and enter the credit amount.
For Fixed amount, select Add currency to set the credit for each checkout currency your connected stores use.
Important: With Fixed amount, shoppers who order in a currency you haven't set don't receive extra credit.
Step 6: Allow Exchanges of Exchanges (Optional)
Decide whether shoppers can request another exchange on an exchange order. By default, this option is off, and shoppers don't see Shop now for exchange orders.
Toggle on Exchanges of exchanges.
Select No limit on number of exchanges or Limit number of sequential exchanges.
If you select Limit number of sequential exchanges, enter the maximum number.
Select Save.
Step 7: Set Up Product Recommendations
Show shoppers recommended products when they choose Shop now. You manage recommendations in the returns page editor.
In the Preview panel, select go to returns page editor.
Follow the steps in Set Up Exchange Recommendations.
To turn off Shop now, go to Return policy > Refunds and exchanges > Shop now, set Status to Disabled, and select Save.
What Your Shoppers Will Experience
After completing these steps:
Shoppers see your Shop now option at the resolution step on your returns page.
Shoppers see a popup with two choices: a direct refund or Shop now with their total credit.
Shoppers browse your catalog with a banner showing their remaining credit.
Shoppers review their exchange, then pay any balance through your checkout method.
You see the exchange order in Shopify Orders, tagged as an AfterShip exchange order.
Example: Upsell exchange with Shopify checkout
A shopper bought a pair of smart sunglasses listed at $60. They applied the discount code HKMA9EKTENPD for $10 off and paid $50. They want to return the sunglasses because they look different from the product images.
Your Shop now settings include:
Checkout method: Shopify checkout
Exchange shipping: Custom fee of $20
Pre-discount credit: On
Extra credit: Fixed amount of $5
With pre-discount credit on, AfterShip Returns gives the shopper back the $10 discount from their original purchase as exchange credit. The shopper's total credit for an exchange is $65:
Credit | Amount |
Return item (amount paid) | $50.00 |
Pre-discount credit (discount | $10.00 |
Extra credit | $5.00 |
Total exchange credit | $65.00 |
If the shopper chooses a refund instead, they get only the $50 they paid.
Here's how the shopper completes the exchange:
The shopper finds their order on your returns page and selects the sunglasses.
The shopper selects the return reason Looks different to image on site.
At How can we solve it?, the shopper selects Exchange for other items or refund directly.
A popup offers the shopper a $65 credit, including a $15 bonus ($10 pre-discount credit plus $5 extra credit). Each recommended product shows its price after credit, such as $35.00 After credit for a $100 watch.
The shopper selects Shop now with $65.00 USD instead of Refund me $50.00 USD directly.
The shopper browses Recommended for you and adds the $100 watch to their cart. The banner updates to show You need to pay $35.00 USD for the exchange. (Extra $15.00 USD included).
The shopper selects Next and chooses a return method, such as Ship with any carrier of your choice.
On Review request, the shopper selects Pay and submit, then Continue. Shopify checkout opens in a new page, and the shopper has 10 minutes to pay before the return request expires.
The shopper pays $55 in Shopify checkout and sees the order confirmation.
The Review request page shows the shopper this summary. Credit for exchange combines the pre-discount credit and extra credit.
Line item | Amount |
Exchange item (1) | $100.00 |
Credit for exchange | -$15.00 |
Return item (1) | -$50.00 |
Exchange shipping | $20.00 |
Total payment | $55.00 |
In Shopify checkout, the full $65 credit appears as an Order discount from AfterShip Returns. The shopper pays $100 for the watch, minus $65 in credit, plus $20 exchange shipping, for a total of $55.
The $5 extra credit is worked out from the $15 bonus minus the $10 discount on order #1135.
What you see in Shopify
After the shopper pays, AfterShip Returns automatically creates a new exchange order in Shopify Orders (in this example, order #1136).
If you use Shopify checkout and a customer selects “Shop now” or pays for a higher-priced variant, turning off auto-creation of exchange orders will not work. The exchange order will still be auto-created when the return is submitted.
The original order (#1135) also gets a note with the RMA number and the Shopify return details.
The new exchange order shows the following:
Section | What it shows |
Status | Paid. If you hold exchange orders with Shopify Flow, the order also shows On hold.
|
Fulfillment | The order will be released to fulfillment based on when the return is completed (i.e. In Transit, manually, at warehouse receipt) or you can do it manually in Shopify. |
Payment | Subtotal $100, Discount of -$65 labeled AfterShip Returns exchange, Shipping of $20 for exchange shipping, and a total of $55 paid |
Notes | RMA number, original order number, checkout method, upsell revenue ($55), pre-discount credit ($10), extra credit ($5), and exchange shipping and cost of return ($20) |
Tags | The original order number ( |
Timeline | Payment, order confirmation, and note entries from AfterShip Returns, plus a hold entry if you use Shopify Flow |
Tip: To ship the new item only after you receive the returned item, use Shopify Flow to hold exchange orders. See How to Control the Fulfillment Status of Exchange Orders.
Troubleshooting
Problem | Cause | Solution |
Shop now doesn't appear for an exchange order | Exchanges of exchanges is off | Turn on Exchanges of exchanges in Step 6 |
Shopper doesn't receive extra credit | You use Fixed amount and haven't set the correct order currencies.
With Fixed amount, shoppers who order in a currency you haven't set don't receive extra credit. | Add the currency under Extra credit in Step 5 |
FAQs
1. How does extra credit work?
Extra credit applies only to the order value, not the cost of return. Shoppers lose any unused extra credit.
Scenario | Calculation | Result |
Uses all extra credit ($100 item for $200 item, $5 credit, $10 cost of return) | $200 - $100 - $5 + $10 | Shopper pays $105 |
Uses part of the extra credit ($100 item for $102 item) | $102 - $100 - $2 + $10 | Shopper pays $10; $3 credit is lost |
Picks a cheaper item ($100 item for $80 item) | $80 - $100 + $10 | Shopper gets a $10 refund; $5 credit is lost |
2. What happens in Shopify when a shopper chooses an exchange?
AfterShip Returns creates a new order in Shopify Orders, tagged as an AfterShip exchange order. If you reject the exchange in AfterShip Returns, cancel the order in your Shopify admin too.
3. Can I control the fulfillment status of exchange orders?
Yes. Use Shopify Flow to hold exchange orders until the shopper returns the original item. See How to Control the Fulfillment Status of Exchange Orders.
4. Can I show only specific collections to shoppers for an exchange?
Yes. To control which collections appear as recommendations, use Include collections under Product filters. See Set Up Exchange Recommendations. To hide a collection from the full catalog, clear the AfterShip Feed for TikTok & SHEIN sales channel for that collection in your Shopify admin.
Key Takeaways
Shop now lets shoppers exchange returned items for any catalog product on the returns page
Select Exchange on AfterShip returns page to keep the exchange inside AfterShip Returns
Shop now is available on Premium and Enterprise plans for Shopify stores
Shoppers see their total credit and pay any balance through your checkout method
With fixed amount extra credit, shoppers get no credit in currencies you haven't added







