The ReturnManager
initializes a return request based on the originating order, which is the order that contains the original set of purchased items, and any other returns that may have originated from that order, also known as the return tree.
A return tree may look like the following example, where the last return of the exchange item will factor into the next return clone on the original order.
Original Order -> Exchange -> Return of Exchange Item
The ReturnRequest
contains all the meta-data needed for selecting items for returns and calculating refunds. ReturnItems
and ReturnShippingGroups
represent the original order’s items, shipping groups and their relationships. A ReturnShippingGroup
is created for each shipping group in the order and a ReturnItem
is created for each ShippingGroupCommerceItemRelationship
.
Items are selected for return by specifying a return quantity in the ReturnItem
. An item and shipping group relationship that is not being returned is known as a non-return item.
Once items are selected for return, a refund is calculated. A series of working orders are created to facilitate the calculation, the Return Adjusted Order (RAO), the Return Calculation Order (RCO) and the Promotion Evaluation Order (PEO). For information on these orders, refer to the Working Orderssection.
ItemCostAdjustment
objects capture the price deltas in the working orders and aggregated to reach the final refund amount. RefundMethod
objects represent the instruments used to issue the refund credit back to the customer. One RefundMethod
is created for each credit card payment group used in the return tree. A default store credit RefundMethod
is automatically generated for all returns and can be optionally used for allocating some or all of the refund credit. Once the refund credit is allocated to the RefundMethods
, the ReturnRequest
must be confirmed and saved.
Returns are usually settled when all returned merchandise is received by the merchant. There is also an option for settling the return immediately upon confirmation. When a return is settled, the refund credit is issued and, for exchanges, the replacement order is submitted.