Use the Commerce Webstore Checkout Place Order Action API for new implementations. It provides improved error handling, supports webhooks, processes payments asynchronously, and enables greater flexibility for modular customization.
| Feature | Commerce Webstore Checkout Orders API (v1) | Commerce Webstore Checkout Place Order Action API (v2) |
|---|---|---|
| Model | Single-step | Two-step (Prepare + Submit) |
| Endpoint | /orders |
/orders/actions |
| Enablement | Available by default when the Place Order Action API is enabled | Requires Place Order Action API to be enabled. See Streamlined Place Order. |
| Success Response | 201 Created | 200 OK |
| Orchestration | After payments | Prepare before payments, Submit after payments |
| Cart States | CHECKOUT, PENDING_CLOSED | CHECKOUT, PENDING_CLOSED |
| Execution | All operations in single call | Split between Prepare and Submit |
| Cart-to-Order | Async after API call | Async after Submit |
| Validation Timing | During order placement | Split between Prepare and Submit |
| Default Validations | Shipping and payments | Shipping (Prepare), payments (Submit) |
| Extensions | Not supported | Supported for pricing, promotions, tax, shipping. See CheckoutPlaceOrder. |
| Inventory | Creates final reservation | Prepare creates temporary, final during order placement |
| Payment Validation | Only when V2 enabled | Always during Submit |
| Webhook Support | Not supported | Supported |
| Orphaned Payment Risk | Higher – payments before all validations | Lower – validations before payment |
| Operations | Performs validations, inventory handling, coupon processing, and order placement in a single API call. Cart-to-order processing is executed asynchronously. | Performs validations, inventory handling, and coupon processing during the Prepare action, and order placement during the Submit action. Cart-to-order processing is executed asynchronously after the Submit action. |