Skip to main content

Instant Exchanges (Returns V2)

G
Written by Guido Kaspers

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.

The hold is then either released or charged based on your choice:

  • Shipping state: if the return is marked in transit or delivered within the return window, the hold is released automatically.

  • QC result: if Quality Control is configured as the charge trigger, the required payment is charged or released based on the QC outcome when the return is processed.

  • Manual action: you can release or capture the hold directly from the RMA at any point while it is open.

To use Instant Exchanges, you must connect your Stripe account.


Customer Flow in the Returns Portal

  1. Exchange selected: Customer chooses an exchange item during return.

  2. Instant Exchange available: If eligible, the customer can opt to proceed with Instant Exchange, but has the option to use a normal exchange instead.

  3. 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.

  4. 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.

  5. Immediate fulfilment: The replacement item can be dispatched right away by the warehouse.

  6. Return monitoring: Swap tracks whether the original item is returned in time.

  7. 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: The card hold is valid for a maximum of 7 days, regardless of the return window you have configured in your settings. After 7 days, the hold drops automatically.

⚠️ Important: The 7-day hold limit

The card hold can only be active for 7 days, regardless of the number of days you set for charging the payment. After that period, there is no guarantee that payment can go through. If your return window is longer than 7 days, the hold will expire before the window closes, and Swap cannot guarantee the customer's card can be charged after that point.


Charge Triggers

Shipping State

The hold is released automatically when the return tracking shows the item as in transit or delivered within the configured return window. If the return is not in the correct state by the deadline, the required payment is captured.

QC Result

When QC is configured as the charge trigger, Swap waits for QC updates on the returned items before acting on the required payment. The required payment is adjusted as QC results arrive:

  • Partial approval: when some items are approved, the required payment is reduced proportionally. Approved items are removed from the chargeable amount.

  • Full approval: when all items are approved, the required payment is released immediately.

  • Failed items: when QC fails for an item and the automatic charge option is enabled, Swap charges the required payment immediately. Items that were QC approved are excluded from the charge.

Note: If the hold is set to £1, the hold amount is not reduced as items are approved — only the payment authorisation is adjusted. The hold itself remains at £1 until fully released.

All QC methods are supported: API, Mintsoft, and CSV.

Manual

While the RMA is Open or in Needs Review, you can release or capture the hold directly from the RMA without waiting for an automated trigger.


Configuration in the Dashboard

Go to Settings → Exchanges 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.

  • Release payment authorization: Select how the hold is actioned: Shipping state or Quality control updates — automatically. Existing accounts are unaffected when this setting is first configured.

  • Instant exchange explanatory text: Add optional text to the portal to explain to customers what to expect when selecting Instant Exchanges.


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, you can manually close the RMA.

Payment handling inside the RMA

  • On-time return (shipping state): the hold is released automatically when tracking shows the item in transit or delivered.

  • Late return (shipping state): if the return is not in the correct state within the configured time window, the required payment is captured automatically.

  • QC-based: the required payment is charged or released immediately based on the QC outcome. Approved items are excluded from any charge.

  • Manual intervention: while the RMA is in Open or Needs Review, you 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.”


Special Cases and Exceptions

  • Restock limitations: Restock is currently not supported for Instant Exchange RMAs.

  • Own-label shipping: Swap cannot track the return, so Instant Exchange is unavailable.

  • Return to store: 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.

  • Charge window grace period: To cover time-zone differences, charges may occur up to 12 hours after the return window expires.

Did this answer your question?