Order Processing Workflow
page last edited on 14 November 2019
X-Cart allows paying orders using both offline and online payment methods depending on the store owner preferences.
For orders paid using offline payment methods, the order processing workflow is as follows:
- A new order is created with the status Awaiting payment.
- As the order progresses through the various stages of the order processing and fulfillment process, the store administrator manually updates the order status. The current status of the order can be changed manually to any other status at any time. Typically, after the order payment has been received, the status Awaiting payment will be changed to Paid; if the order is cancelled - to Cancelled. After a refund, the status Paid will have to be changed to Refunded. The status Partially Paid is possible in case of a partial payment for the order or a partial refund.
We strongly recommend using the Refunded status (not Cancelled) when updating the order status from Paid, and Cancelled (not Refunded) when updating the order status from Authorized or Awaiting payment.
For orders paid using online payment processors, the regular order processing workflow looks as follows:
- A new order is created with the status Awaiting payment, Paid or Authorized - depending on the payment method settings and the type of response received from the payment gateway.
- If the initial order status is Awaiting Payment or Authorized, it may be changed automatically to Paid, Partially Paid or Declined (The resulting status depends on the callback received from the payment gateway).
- If the order status is Paid, the order may be refunded. This is only possible if the payment gateway supports refunds. After a full refund, the order status is automatically changed to Refunded. After a partial refund, the order status becomes Partially Paid.
- If necessary, the store administrator can intervene at any stage of the order processing flow and manually change the current status of the order to any status they require.
Help make this document better
This guide, as well as the rest of our docs, are open-source and available on GitHub.