Skip to main content

Checkout API

POST 

/v2/carts/:cartID/checkout

When a Cart is ready for checkout, you can convert the cart to an order. The cart remains and can be modified and checked out again if required.

A cart can be checked out with a customer ID, customer object, or with an account by authenticating with the Client Credentials Token.

After a successful checkout, a response that contains the order is returned. If the cart is linked to a shipping group, the shipping group is also associated with the order after checkout.

You can checkout using one of the following methods:

  • Customer ID: You can checkout a cart with an existing customer ID.
  • Guest Checkout (Checkout with Customer Object): You can checkout a cart with an associated customer name and email.
  • Checkout with Account: The shopper authenticates with the Client Credentials Token.
  • Checkout with Account Management Authentication Token: The shopper authenticates with the Implicit Token and the EP-Account-Management-Authentication-Token.
note
  • The cart currency is set when the first item is added to the cart.
  • The product being added to the cart requires a price in the same currency as the other items in the cart. The API returns a 400 error if a price is not defined in the correct currency.
  • To ensure that a free gift is automatically applied to an order, set the promotion to automatic. The checkout process will not be successful if free gift items are out of stock. See Errors section.
caution
  • By default, carts are automatically deleted 7 days after the last update. You can change this setting by updating cart settings.
  • Your inventory is modified during checkout and payment of an order. For more information about the changes in the inventory, see the Inventory section.

You can pass order_number and external_ref in the checkout endpoint or when updating an order. The order_number is an optional, user-managed field that is used as an alternative to order_id. When processing transactions through Authorize.net, the order_number is sent instead of the order_id, and it will appear in the invoice number section. If no order_number is provided, the order_id is sent to Authorize.net on payment by default. There are no duplication restrictions on the order_number value.

Next Steps

After a cart has been converted to an Order using either of the previous methods, you most likely want to capture payment for order. See Paying for an Order.

Errors

The following error response is returned during checkout when an eligible item is added to the cart, and the free gift is out of stock.

{
"errors": [
{
"status": 400,
"title": "Insufficient stock",
"detail": "There is not enough stock to add gift2 to your cart",
"meta": {
"id": "f2b68648-9621-45a3-aed6-1b526b0f5beb",
"sku": "gift2"
}
}
]
}

Request

Responses

OK