Version 2019-10

If you're building an app with the Sales Channel SDK, then you can use the Checkout API to let customers purchase products from Shopify stores that have installed your sales channel.

Shopify uses the Checkout resource to manage a user's cart as it transitions to a paid order. This process includes specifying which line items are included in the checkout, attaching a customer's shipping and payment details, and calculating tax and shipping rates. Credit card payments can be attached to a Checkout using the Payment resource.

For a detailed tutorial that walks you through the key capabilities of the Checkout API, see Sell through the Checkout API.


You can't use the Checkout API to create a new checkout user experience for an individual store. For that you need to use an SDK that's powered by the Storefront API instead, such as the JavaScript Buy, iOS Buy, and Android Buy SDKs.

What you can do with Checkout

The Shopify API lets you do the following with the Checkout resource. More detailed versions of these general actions may be available:

Checkout properties

"applied_discount": {
  "amount": "30.00",
  "title": "XYZ Promotion",
  "description": "Promotional item for blackfriday.",
  "value": "30.00",
  "value_type": "fixed_amount",
  "non_applicable_reason": null,
  "applicable": true

A cart-level discount applied to the checkout. Apply a discount by specifying values for amount, title, description, value, and value_type.

  • amount: The amount that is deducted from payment_due in presentment currency.
  • title: The title to categorize the applied discount.
  • description: The description of the applied discount.
  • value: The value that was used to calculate the final applied discount amount.
  • value_type: The type of value that was used to calculate the final applied discount amount. Valid values: fixed_amount and percentage.
  • non_applicable_reason: The reason why the discount is not applicable, if the discount cannot be applied to the checkout.
  • applicable: Whether this discount code can be applied to the checkout.

"billing_address": {
  "address1": "Chestnut Street 92",
  "address2": "Suite 300",
  "city": "Louisville",