Modifying Submitted Orders
The Order Modification Process
After a customer has submitted an order, the customer might think of a reason to make a change to the order. In general, an order cannot be changed after it is submitted, but in the period before the order has been released for fulfillment, it is possible to modify the customer's order, subject to several limitations that are detailed below.
In a typical case, the order modification process includes the following steps:
- The Order Detail API is called to retrieve information on an existing order.
- The Order Hold API is called to place the order in a paused state.
- The order is modified, which might involve calls to the Inventory, Tax, and Payment APIs. The exact calls required depend on the type of changes made to the order.
- The Order Update API is called to submit a new order and release the hold on the original order. The new order takes the place of the previous order.
For details on the Order Modification process, see Manage the Workflow for Modified Orders
When Can an Order Be Modified?
Generally, an order can be placed on hold and modified during the Buyer's Remorse Period. This is a configurable period of time, typically one hour, after the order has been submitted. After this period, the order is released for fulfillment, and , with limited exceptions, an order cannot be modified after it is released.
Even after the Buyer's Remorse Period, an order can still be modified if none of the order items have been released for fulfillment. This could happen, for example, if all of the order items are backordered or preordered items.
If an order contains a mix of released and unreleased items, it cannot be changed through the Order Hold and Order Modify APIs. The only changes possible are price adjustments done as part of the customer service process.
If you attempt to place a hold on an order at a time when an order hold is not valid, the Order Hold API returns a failure message.
For details on the kinds of order modifications that are allowed, see the Order Update API page.
What Changes Can Be Made to an Order?
Order modification is subject to several limitations and constraints. A submitted order can be modified only up to the moment when an item in the order is released for fulfillment. If the order is not eligible to be modified, the Order Hold API call returns a failure message. See the Order Hold API page for details.
Changes Using the Order Update API
If an order is placed on hold, you can use the Order Update call to change almost any element of the order. In effect, you create and submit an entire new order that replaces the order that was put on hold.
- Change the email address associated with the order. For security reasons, Radial recommends limiting this change to users with registered accounts. Note that changing the email address for an order does not change the email address associated with the customer account or any other order placed by the customer.
- Add items to the order, either by increasing the quantity of an existing line, or adding a new line to the order.
- Remove items from the order, either by reducing a quantity or removing a line.
- Change pricing in the order.
- Add promotional codes that affect the pricing of the order.
- Change the ship-to address.
- Change the shipping method or class of service.
- Change payment information. This can include billing address, payment method, and credit card information. You can split tenders for the order; for example, by adding a gift card to cover part of the payment. You can also unsplit tenders for the order.
Restriction on Changes for Certain Payment Methods
Some payment methods do not support voids. Examples include BillMeLater/Paypal Credit, purchase orders, points redemptions, and some gift card vendors. If an order was made using any of these methods, you cannot modify the order in a way that impacts the order total for those payment methods.
Changes Using other API Calls
For orders that are not eligible to be placed on hold, the Order Update API cannot be used. In these cases, there are other API calls that provide limited options to change the order. See the Order API page for more information.
- Use Order Cancel to cancel the entire order.
- Use Order Line Cancel to cancel a single line in an order.
- Use Order Price Adjustment to adjust prices on an order that has not yet shipped. (After an order has shipped, you can use Credit Issue Price Adjustment.)