# API Comparison

Use the [Commerce Webstore Checkout Place Order Action API](https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/connect_resources_commerce_webstore_checkouts_place_order_v2.htm) 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. |
