Order Statuses
Order statuses are necessary for tracking the progress of an order from its creation to completion. They help systematize order management for managers and allow customers to see the current status of their orders.
Each order repository has its own set of statuses, so you can add unique statuses specific to a particular group of goods for different product categories.
Modes of Working with Statuses
At the top of the "Order Statuses" section, there is a block titled "Order Status Mode Settings," where you can choose one of two operating modes:
- Basic — the default mode. A single set of statuses is used, linked to the payment account. The order status changes linearly based on payment events. This mode is sufficient for most scenarios.
- Advanced — flexible configuration along three independent axes: Order status (the main order status), Fulfillment (execution — assembly, shipping, delivery), and Payment (payment). Each axis has its own set of statuses, automatic transition maps based on triggers, and custom triggers.
To change the mode, select the desired option in the "Order Status Mode Settings" block and confirm the action in the pop-up window.
When switching to advanced mode, be sure to assign a default status for the Order status axis — this is where the order lifecycle begins. As long as the default status for the Order status axis is not set, the data is considered invalid, and saving the repository is blocked.
Statuses created in basic mode will move to the Payment axis after switching. For the Order status axis, statuses need to be created anew — before that, a warning "No default status set for the 'order' axis" will be displayed in the section.
Creating a Status
To create a new order status, open the orders section in the left menu. Select the order repository where you want to create the new order status and click the edit icon . Go to the "Order Statuses" section.
In the new status creation block, fill in:
- Status Name - A non-unique string. The name also reflects the essence of the status. For example, the status can be named "In Delivery" or "Completed." This is the information that the manager and the user will see in the order status section.
- Marker - A unique string used within your application's code. Keep this in mind when creating the marker to avoid conflicts in the application's operation.
After filling in the fields, click the "Add" button. If all data is entered correctly, the status will be saved automatically and added to the general list.
Editing a Status
To make changes to an existing order status, open the orders section in the left menu. Select the order repository where you want to change the order status and click the edit icon . Go to the "Order Statuses" section.
Select the status you want to change from the list and click the edit icon . You can change the status name (Name), its marker (Marker), as well as the settings for Default status, Final cancellation, and Final Success.
If the status is already in use in your application, change the marker only if you are sure it will not interfere with the application's operation.
Default Value
You can select one of the statuses as the default value. The status marked as such will be set every time another status is not assigned.
To make a status the default, go to the status settings by clicking the edit icon . Check the Default status setting. The default status is automatically assigned to the order upon creation.
There can only be one status with this setting in a single order repository. In the general list, such a status will be marked with a special marker.
Final Cancellation
Check the Final cancellation box if the status indicates the final cancellation of the order. When the order transitions to this status, the order is canceled, and any bonuses applied to it are returned. This setting is usually enabled for statuses corresponding to payment statuses expired and canceled.
Final Success
Check the Final Success box if the status indicates the successful completion of the order. Orders in this status are counted in the customer's LTV — the total amount of all their paid orders.
Deleting a Status
To delete an order status, open the orders section in the left menu. Select the order repository where you want to delete the order status and click the edit icon . Go to the "Order Statuses" section.
Select the order status you want to delete from the general list. Click the delete icon . Confirm the action in the pop-up window. The status will be removed from the list.
A status assigned to any order or involved in the status map cannot be deleted — the delete icon will not be displayed for such a status.
Advanced Mode
The advanced mode is designed for complex order processing scenarios where a single linear set of statuses is insufficient. It separates statuses into three independent axes and allows configuring automatic transitions between statuses based on triggers.
To enable advanced mode, in the "Order Status Mode Settings" block, select the Advanced option and confirm the switch.
Three Status Axes
In advanced mode, each order has three independent status axes:
- Order status — the main business status of the order.
- Fulfillment — order execution (assembly, shipping, delivery).
- Payment — payment status.
Each status belongs to only one axis. The Order status and Fulfillment axes are managed by the seller (manually or through integration), while the Payment axis is managed automatically by the system based on payment events.
A status involved in a transition map or assigned to any order cannot be deleted.
Creating a Status in Advanced Mode
Creating a status is done the same way as in basic mode, but in the creation form, an additional field for selecting the axis to which the status belongs appears (Order status, Fulfillment, or Payment). In the general status list, an additional column "Axis" is displayed, showing the affiliation of each status.
Status Maps
When advanced mode is enabled, a tab "Order Statuses" → "Status mapping" (status maps) appears. The map automatically translates the status of the Order status or Fulfillment axis based on a trigger. For example, with the trigger payment.paid, the status of the Order status axis is translated to "Paid."
The map configuration is divided into sub-tabs by axes (Order status and Fulfillment). For each trigger, grouped by categories (order, payment, and return events), the target status to which the order should transition is specified. The initial status is taken from the default status of the corresponding axis.
After configuring the map, click the "Save" button.
The statuses of the Order status and Fulfillment axes can be changed manually or through integration. The Payment axis is managed only by the system based on payment events.
Custom Triggers
In the status map tab, you can create your own (custom) triggers of the form custom.{name}. Such triggers are called only through API integration and are available for the Order status and Fulfillment axes. This allows you to describe status transitions for non-standard business events in your application.