Instant Exchanges allow customers to create their replacement order without having to wait for the return to be received by the store. This provides a faster exchange experience, especially for high-demand products that may go out of stock quickly. A temporary card hold is placed to secure the transaction in case the original item is not returned according to set criteria.
How It Works
When Instant Exchanges are enabled, customers are offered the option to receive their replacement item immediately by providing valid credit card details. This places a temporary authorisation hold via Stripe and instantly creates an exchange order in Shopify, marked as unfulfilled.
If the return is marked as in transit or delivered within the defined return window, the hold is released; otherwise, the customer’s card is charged.
To use Instant Exchanges, you must connect your Stripe account.
Customer Flow in the Returns Portal
Exchange selected: Customer chooses an exchange item during return.
Instant Exchange available: If eligible, the customer can opt to proceed with Instant Exchange.
Price difference handled: When the replacement item’s price differs from the original, at the moment of submission, Swap charges the upsell amount or issues the appropriate refund/gift card before moving on.
Card hold applied: Swap places a temporary authorisation hold (either $1 or the full return value, per your dashboard settings) on the customer’s card.
Immediate fulfilment: The replacement item can be dispatched right away by the warehouse.
Return monitoring: Swap tracks whether the original item is returned in time.
Charge or release: If returned on time, the hold is released. If not, the card is charged.
Stripe Authorisation Logic
Swap creates two Stripe actions:
Payment Intent: Authorised for either the full return value or $1 (depending on dashboard settings). Captured only if the return is not received on time.
Hold: Valid for seven days. If the return is still pending after this period, Swap will charge the card according to your settings—regardless of the current hold status.
Hold status lifecycle
Hold authorised: A temporary amount is held on the customer’s card, but nothing has been charged yet. 
Charged: The hold converts into a full charge (for example, when the return is late or a manual charge is triggered). 
Charge failed: Swap attempted to collect the payment, but the card could not be charged; the RMA will show a retry option. 
Charge cancelled: The hold is released without a charge because the return met the configured conditions or the RMA was closed. 
Configuration in the Dashboard
Go to Settings → Exchange Experience to enable and configure Instant Exchanges. You must first connect your Stripe account.
Key settings include:
Hold amount:
Full value of return items (recommended): Blocks cards without sufficient funds.
$1 authorisation: Lighter hold, only used to validate the card.
Return window: Set how many days the customer has to return the item.
Require for all exchanges (optional): Forces every exchange request to use Instant Exchange. Switch this on only if you’re dealing with very low-stock or high-demand items. Otherwise some customers may be blocked from exchanging (for example, if their card fails the hold or the conditions for Instant Exchange can’t be met).
RMA Management
Swap opens an RMA for every Instant Exchange. The record moves through three states.
Open: default state created when the Instant Exchange is submitted. A card hold is in place and return items are waiting to be scanned.
Needs review: triggered automatically if something goes wrong (for example: additional-payment failure, hold capture failure, label error, or invalid address). Merchant action is required before the flow can continue.
Closed: once the return items are tracked (in transit or delivered) and the payment hold has either been released or captured, the merchant can manually close the RMA. Closed RMAs cannot be deleted.
Payment handling inside the RMA
On-time return: the card hold is released automatically when tracking shows the item in transit or delivered.
Late return: if the return is not in the correct state within the configured time window, the hold is captured automatically.
Manual intervention: while the RMA is in Open or Needs review, merchants can release or capture the hold directly from the RMA.
Email Reminders
Swap automatically sends customers two email reminders if their return has not been received:
7 days before the charge
1 day before the charge
Example:
Subject: Reminder: Return your items to avoid a charge {{Order number}}
Hi {{Customer Name}},
We noticed that you submitted a return request on {{return-date}}, but we haven't received confirmation that your package is on its way to our warehouse.
To avoid being charged, please drop off your return with the specified carrier by {{days left to charge}}
{{Download label}}
{{download QR}}
If you’ve already sent the return or need assistance, please reach out to us at {{store’s support email}}.
Thank you,
{{Store Name}} Customer Support
Shopify Integration
If you use Shopify native exchanges, Swap adds the replacement item to the original order and sets its fulfilment status to Unfulfilled. Shopify then creates a new fulfilment order for that item, ready to be shipped when you process the exchange.
If not, Swap creates a separate exchange order, marked as “unfulfilled.”
All exchange orders include a note: “Instant Exchange was applied by Swap.”
Special Cases and Exceptions
Restock limitations: Restock is currently not supported for Instant Exchange RMAs.
Automation limitations: Automated actions (via Advanced Rules or QC) will not run on these RMAs, as processing already occurs at the time of submission.
Own-label shipping: Swap cannot track the return, so Instant Exchange is unavailable.
Faulty-item returns: Instant Exchange is disabled in the portal because the returned item’s condition can’t be validated. Customers are prompted to use a normal exchange (or another return type) unless you disable the “Instant-only” setting.
Label failures: The exchange can still be submitted, but regenerate and send a valid label promptly, as the return window timer starts as soon as the request is submitted.
Zero-value orders with a refund due: Instant Exchange is allowed. Any refund for the price difference must be issued manually in Shopify.
Additional-payment failure: Instant Exchange is allowed, but the RMA opens in “Needs review” for you to align with the customer.
Charge window grace period: To cover time-zone differences, charges may occur up to 12 hours after the return window expires.
Enabling Instant Exchanges
Open the Returns drop-down menu
Click "Settings"
Go to the "Exchange experience" tab
Scroll down to "Instant Exchanges"
Click here to enable Instant Exchanges
Make sure your Stripe account is connected
Use this toggle to force Instant Exchanges.
Select a hold amount
Select when the charge should be triggered
Select the shipping criteria
Fill the maximum amount of days
Click "Save"