📥 Order State Machine Definition
β Collapse
Pending Payment
→
Processing
→
Shipping
→
Delivered
→
Completed
Any Active State
β
Cancelled
| From State | To State | Trigger | Actor | API Endpoint |
|---|---|---|---|---|
| → | Pending Payment | Order created | Buyer | POST /orders |
| Pending Payment | Processing | Payment confirmed | System | PUT /orders/{id}/pay |
| Processing | Shipping | Goods shipped | Supplier | PUT /orders/{id}/ship |
| Shipping | Delivered | Delivery confirmed | Buyer/System | PUT /orders/{id}/deliver |
| Delivered | Completed | Buyer confirms / 7-day auto | Buyer/System | PUT /orders/{id}/complete |
| Pending Payment | Cancelled | Buyer cancels / Payment timeout (24h) | Buyer/System | PUT /orders/{id}/cancel |
| Processing | Cancelled | Buyer cancels / Supplier rejects | Buyer/Supplier | PUT /orders/{id}/cancel |
Note: Orders in "Shipping" state can only be cancelled via customer service. "Completed" and "Cancelled" are terminal states with no further transitions.
All Orders 5
Pending Payment 1
Processing 2
Shipping 1
Delivered 1
Completed 3
🚢 In Transit
⚙ Processing
✓Completed
✓Completed
✓Cancelled