Understand how subscriptions and daily delivery orders progress through their lifecycle.Overview#
When a customer completes checkout, a subscription is created along with daily delivery orders (sub-orders). This page explains how subscriptions and their sub-orders transition through different states.
Lifecycle Diagram#
States Explained#
Order States#
Pending: Order created, awaiting paymentCancelled (Payment Failure): Payment failed or was not completed
Subscription States#
Confirmed: Active subscription after successful paymentFinished: All sub-orders delivered, subscription completed naturallyCancelled_by_customer: Customer cancelled the subscriptionCancelled_by_operation: Merchant cancelled the subscription
Sub-Order States#
Confirmed: Scheduled for delivery on specific dateDelivered: Successfully delivered to customerCancelled_by_customer: Customer cancelled the sub-orderCancelled_by_operation: Merchant cancelled the sub-ordernot_received_by_customer: The customer did not receive the order
Lifecycle Flows#
Normal Flow#
1.
Order Placed → Customer completes checkout
2.
Payment Confirmed → Order marked as paid
3.
Subscription Created → Status: confirmed
4.
Sub-Orders Generated → One sub-order per delivery date
5.
Daily Deliveries → Each sub-order gets delivered
6.
Subscription Finished → When last sub-order is delivered
Postponement Flow#
1.
Customer Postpones → Selects dates to skip
2.
Sub-Orders Cancelled → Selected sub-orders cancelled
3.
Credits Added → Paused credits added to subscription
4.
Customer Resumes → Uses credits to create new sub-orders
5.
New Deliveries Scheduled → Credits converted to new sub-orders
Postponement allows customers to pause deliveries without losing their subscription value.
Cancellation Flow#
1.
Customer Cancels → Requests subscription cancellation
2.
All Sub-Orders Cancelled → Remaining deliveries cancelled
3.
Subscription Status → Updated to cancelled_by_customer or cancelled_by_operation
Key Points#
Sub-Orders#
Created automatically when subscription is confirmed
Quantity = number of subscription days
Each sub-order represents one day's delivery
Scheduled based on dates array from checkout
Credits System#
Postponing sub-orders adds credits to subscription
Credits = number of cancelled delivery days
Resuming subscription creates new sub-orders from credits
Credits maintain subscription value
Payment Failures#
Failed payments cancel the order immediately
No subscription or sub-orders are created
Order status: cancelled_by_payment_failure