Reject RMA - Auto-Refund Upsell and Cancel Exchange Order
Overview
When a return request (RMA) is rejected, merchants may still need to take additional actions if the return included an upsell refund or an exchange order that was already created. AfterShip Returns simplifies the process to reject RMA and automatically handles upsell refunds and exchange order cancellations once RMA is rejected.
Handling these steps manually can slow down operations and increase the risk of errors on the supported platform.
Pain points
Merchants often face the following challenges when RMA rejection:
- Processing upsell refunds manually in Shopify or Stripe.
- Exchange orders need to be canceled in Shopify
- Refund permissions may be limited to specific team members
- Need to submit a refund request internally, causing delays or inconsistent actions
How does AfterShip Return resolve the issue?
This enhancement ensures that rejecting an RMA also triggers the necessary follow-up actions automatically. Once the RMA is rejected:
- Any associated exchange order or exchange items are canceled or removed.
- The upsell amount is refunded to the customer.
- A confirmation banner indicates the action that will be processed after RMA rejection.
- Each action is logged clearly for tracking and auditing purposes.
Supported platforms
- Reject RMA: All platforms
- Automatic upsell refund and exchange cancellation: Shopify only
- Shopify Exchange API supported
- Stripe checkout supported
How the feature works?
Reject RMA
While rejecting an RMA that includes an upsell or an exchange order, a banner is displayed to confirm the actions that will be processed. Later, when RMA rejection is successful, AfterShip automatically processes the following actions:
- Cancel/remove the exchange items or exchange order
- Issues a refund for the upsell to the customer

Action process failed
If the action is processed, this means, the RMA rejection succeeded. But in some cases the follow-up actions may fail due to Shopify errors or other reasons.
Merchants can identify these cases by applying exception filters in the Returns dashboard:
- Exchange cancellation failed
- Refund failed

This ensures quick review and manual follow-up if required.
Activity log
Each automated action is recorded as a separate entry in the activity log, providing full visibility into what happened during the RMA rejection process.
Scenarios | Status | Activity |
|---|---|---|
Exchange order canceled | Success | Exchange order {exchange order name}canceled in Shopify by {merchant email). |
Exchange item (Shopify Exchange API) | Success | Exchange items and shipping fee({$20.00})removed from the original Shopify |
Refund Upsell | Success | Upsell of {$30.00}refunded by {merchant email}. |
Exchange order canceled | Failed | Failed to cancel exchange order #1002 in Shopify.Reason:{reason}. |
Exchange item (Shopify Exchange API) | Failed | Failed to remove exchange items from the original Shopify order {original order name}. Reason: {reason}. |
Refund Upsell | Failed | Failed to refund upsell of {$30.00}.Reason:{reason}. |

These logs help merchants understand the outcome of each action and troubleshoot issues efficiently.
Key takeaways
- AfterShip Return automatically refunds any associated upsell and cancel the exchange order while rejecting an RMA.
- Displays a banner before rejection that clearly informs merchants of the actions that will be processed.
- Failed actions are surfaced as exceptions in the Returns dashboard for easy follow-up.
- Detailed activity logs provide full visibility into each automated action and its outcome, success or failure.
Updated on: 06/01/2026
