---
title: Checkout Kit
description: >-
  Checkout Kit is an open-source SDK for embedding Shopify checkout in any
  surface.
source_url:
  html: 'https://shopify.dev/docs/agents/carts-and-checkout/checkout-kit'
  md: 'https://shopify.dev/docs/agents/carts-and-checkout/checkout-kit.md'
---

# Checkout Kit

Checkout Kit is an open-source SDK for embedding Shopify checkout in any mobile or web surface. It builds on the [Embedded Checkout Protocol (ECP)](https://shopify.dev/docs/agents/carts-and-checkout/ecp), so you get the protocol's lifecycle, capability negotiation, and recovery guarantees with only a few lines of code.

***

## What you get

* **One SDK, four surfaces:** A single mental model across Web, iOS, Android, and React Native, so the same `checkoutUrl` works everywhere.
* **ECP under the hood:** The SDK handles lifecycle (`ec.ready`, `ec.start`, `ec.complete`), capability negotiation, and recovery over JSON-RPC 2.0. You write product code, not transport code.
* **Merchants Checkout:** Renders the same checkout buyers see on the web, with the store's branding, checkout UI extensions, and Shopify Functions.
* **Open source:** Built in the open at [Shopify/checkout-kit](https://github.com/Shopify/checkout-kit).

***

## How it works

Checkout Kit takes a `checkoutUrl` and presents Shopify checkout inside your surface. The SDK loads checkout with ECP parameters, negotiates capabilities, streams lifecycle events to your app, and signals completion when the buyer places the order.

1. Get a `checkoutUrl` from [`create_cart`](https://shopify.dev/docs/agents/carts-and-checkout/cart-mcp#create_cart), a [`cartCreate`](https://shopify.dev/docs/storefronts/mobile/build-mobile-storefront?extension=swift#get-a-checkout-url) mutation, or a [cart permalink](https://shopify.dev/docs/apps/build/checkout/create-cart-permalinks).
2. Prefill buyer information to accelerate the checkout process.
3. Pass the URL to Checkout Kit on your surface.
4. Shopify processes the payment, applies tax and regulatory rules, and creates the order.
5. Checkout Kit fires lifecycle callbacks when checkout completes, fails, or the buyer cancels.

| Platform | SDK | Min version |
| - | - | - |
| iOS | [ShopifyCheckoutKit / ShopifyAcceleratedCheckouts](https://github.com/Shopify/checkout-kit/blob/main/platforms/swift) | iOS 13.0, Swift 5.7 |
| Android | [com.shopify:checkout-kit](https://github.com/Shopify/checkout-kit/blob/main/platforms/android) | Java 11 and Android SDK 23 |
| React Native | [@shopify/checkout-kit-react-native](https://github.com/Shopify/checkout-kit/blob/main/platforms/react-native) | React Native 0.70 |
| Web | [`@shopify/checkout-kit`](https://github.com/Shopify/checkout-kit/blob/main/platforms/web) | Evergreen Chromium, Firefox, and WebKit (Safari 16.4+) |

***

## Migrate from Checkout Sheet Kit

Checkout Kit is the successor to Checkout Sheet Kit (Swift, Android, and React Native). It adds a Web SDK, unifies the SDK surface across platforms, and moves the transport to the Embedded Checkout Protocol.

Shopify will publish a migration guide when Checkout Kit reaches general availability.

***

## Next steps

* View the [projected roadmap for Checkout Kit](https://github.com/Shopify/checkout-kit/discussions/137#discussion-10073126) or [share feedback](https://github.com/Shopify/checkout-kit/discussions/137#discussion-10073126) on GitHub.
* View the [Checkout Kit README](https://github.com/Shopify/checkout-kit/blob/main/README.md).
* [Embedded Checkout Protocol](https://shopify.dev/docs/agents/carts-and-checkout/ecp) to understand the protocol Checkout Kit runs on.
* [Cart MCP](https://shopify.dev/docs/agents/carts-and-checkout/cart-mcp) to build the cart you'll pass to Checkout Kit.
* [Monitor orders](https://shopify.dev/docs/agents/orders/order-mcp) for what happens after Checkout Kit fires the complete event.

***
