Skip to content

Commit ef3cc56

Browse files
committed
Rewrite Swift Checkout Kit READMEs
1 parent aa7ab6c commit ef3cc56

6 files changed

Lines changed: 553 additions & 665 deletions

File tree

README.md

Lines changed: 63 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,49 +8,85 @@
88

99
[![MIT License](https://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat)](LICENSE)
1010

11-
[Getting Started](https://shopify.dev/docs/storefronts/mobile/checkout-kit)  |  [Docs](https://shopify.dev/docs/storefronts/mobile)  |  [Contributing](.github/CONTRIBUTING.md)  |  [Code of Conduct](.github/CODE_OF_CONDUCT.md)  |  [License](LICENSE)
11+
[Shopify.dev docs](https://shopify.dev/docs/storefronts/mobile/checkout-kit)  |  [Contributing](.github/CONTRIBUTING.md)  |  [Code of Conduct](.github/CODE_OF_CONDUCT.md)  |  [License](LICENSE)
1212

13-
Shopify's **Checkout Kit** lets native mobile apps embed Shopify's one-page checkout while preserving store customizations like Checkout UI extensions, Shopify Functions, and branding. It also keeps the experience idiomatic to the host platform with light and dark mode support, lifecycle hooks, and native APIs to embed and customize checkout.
13+
**Shopify Checkout Kit** lets native mobile apps and web storefronts present Shopify's one-page checkout while preserving checkout customizations such as Checkout UI extensions, Shopify Functions, branding, Shop Pay, and supported payment methods.
1414

1515
</div>
1616

17-
## Documentation
17+
## What is in this repo
1818

19-
This respository houses the implementation of Checkout Kit, use it to check implementation or open issues if you find a bug.
20-
The [Shopify mobile storefront docs](https://shopify.dev/docs/storefronts/mobile) are where we maintain installation and step by step guides for common integration patterns.
19+
This repository contains the Checkout Kit implementations, samples, and protocol bindings. Use it to inspect platform behavior, run samples, report bugs, and contribute fixes. The Shopify.dev mobile storefront docs remain the primary place for end-to-end product guidance and conceptual walkthroughs.
2120

22-
Feature guides:
21+
## Packages
2322

24-
- [Preload checkout](https://shopify.dev/docs/storefronts/mobile/checkout-kit/preloading) - fetch checkout in the background so it's ready when buyers are.
25-
- [Monitor the checkout lifecycle](https://shopify.dev/docs/storefronts/mobile/checkout-kit/monitor-checkout-lifecycle) - handle completion, failure, and cancellation events.
26-
- [Authenticate checkouts](https://shopify.dev/docs/storefronts/mobile/checkout-kit/authenticate-checkouts) - sign buyers in to prefill saved addresses and payment methods.
27-
- [Privacy compliance](https://shopify.dev/docs/storefronts/mobile/checkout-kit/privacy-compliance) - pass GDPR, CCPA, and ATT consent through to Shopify.
28-
- [Accelerated checkouts](https://shopify.dev/docs/storefronts/mobile/checkout-kit/accelerated-checkouts?extension=react-native) - Shop Pay and Apple Pay buttons for one-tap purchase on product and cart pages.
23+
| Package | Checkout Kit release | Install channel | Status | Description | README |
24+
| --- | --- | --- | --- | --- | --- |
25+
| `ShopifyCheckoutKit` | `4.0.0-alpha.1` | Swift Package Manager, CocoaPods | Alpha | iOS checkout presentation SDK. | [Swift](platforms/swift/README.md) |
26+
| `ShopifyAcceleratedCheckouts` | `4.0.0-alpha.1` | Swift Package Manager, CocoaPods subspec | Alpha | SwiftUI Shop Pay and Apple Pay accelerated checkout buttons for iOS 16+. | [Swift](platforms/swift/README.md#accelerated-checkouts) |
27+
| `com.shopify:checkout-kit` | `4.0.0-alpha.1` | Maven Central | Alpha | Android checkout dialog SDK. | [Android](platforms/android/README.md) |
28+
| `@shopify/checkout-kit-react-native` | `4.0.0-alpha.1` | npm `next` dist-tag | Alpha | React Native wrapper for the iOS and Android native SDKs. | [React Native](platforms/react-native/README.md) |
29+
| `@shopify/checkout-kit` | `4.0.0-alpha.2` | npm `next` dist-tag | Alpha | Web component for opening Shopify checkout from a web page. | [Web](platforms/web/README.md) |
30+
| `ShopifyCheckoutProtocol` | Source package | Swift Package Manager | Internal/supporting | Swift client for Embedded Checkout Protocol messages. | [Protocol Swift](protocol/languages/swift/README.md) |
2931

30-
## Packages in this repo
32+
Swift, Android, and React Native rows show the planned first Checkout Kit alpha releases. Web is already published as `4.0.0-alpha.2`.
3133

32-
Checkout Kit is a monorepo containing all the platforms Checkout Kit supports together.
34+
## Platform Support
3335

34-
| Package | Latest version | Install channel | Description | Readme |
35-
| ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------------------- | ------------------------------------------ |
36-
| [`ShopifyCheckoutKit` `ShopifyAcceleratedCheckouts`](platforms/swift/) | [![GitHub tag](https://img.shields.io/github/v/tag/Shopify/checkout-kit?label=SPM)](https://github.com/Shopify/checkout-kit/tags) [![CocoaPods](https://img.shields.io/cocoapods/v/ShopifyCheckoutKit.svg?label=CocoaPods)](https://cocoapods.org/pods/ShopifyCheckoutKit) | Swift Package Manager, CocoaPods | iOS checkout presentation and accelerated checkout libraries. | [Readme](platforms/swift/README.md) |
37-
| [`com.shopify:checkout-kit`](platforms/android/) | [![Maven Central](https://img.shields.io/maven-central/v/com.shopify/checkout-kit.svg?label=Maven%20Central)](https://central.sonatype.com/artifact/com.shopify/checkout-kit) | Maven Central | Android checkout presentation and accelerated checkout support. | [Readme](platforms/android/README.md) |
38-
| [`@shopify/checkout-kit-react-native`](platforms/react-native/) | [![npm latest](https://img.shields.io/npm/v/@shopify/checkout-kit-react-native/latest.svg?label=npm)](https://www.npmjs.com/package/@shopify/checkout-kit-react-native) | npm | React Native wrapper for Checkout Kit. | [Readme](platforms/react-native/README.md) |
39-
| [`@shopify/checkout-kit`](platforms/web/) | [![npm latest](https://img.shields.io/npm/v/@shopify/checkout-kit/latest.svg?label=npm)](https://www.npmjs.com/package/@shopify/checkout-kit) | npm | Web component for embedding Shopify checkout in any website. | [Readme](platforms/web/README.md) |
36+
| Capability | Swift | Android | React Native | Web |
37+
| --- | --- | --- | --- | --- |
38+
| Present checkout from `cart.checkoutUrl` | Yes | Yes | Yes | Yes |
39+
| Cart permalink support | Yes | Yes | Yes | Yes |
40+
| Light, dark, and web color schemes | Yes | Yes | Yes | Not applicable |
41+
| Checkout cancel/fail callbacks | Yes | Yes | Yes | Close/error events |
42+
| Typed checkout protocol events | Yes | Yes | Partial/native-dependent | Yes |
43+
| File chooser and web permissions | iOS system behavior | Host callbacks | Android host callbacks | Browser behavior |
44+
| Geolocation for pickup points | iOS system prompt | Host callback required | Android default helper or custom handler | Browser behavior |
45+
| Offsite payment return routing | Universal Links | App Links/deep links | Platform-dependent | New tab/popup routing |
46+
| Accelerated checkout buttons | iOS 16+ | No | iOS 16+ | No |
47+
48+
## Integration Guides
49+
50+
Start with the platform README for package installation and API details:
51+
52+
- [Swift](platforms/swift/README.md)
53+
- [Android](platforms/android/README.md)
54+
- [React Native](platforms/react-native/README.md)
55+
- [Web](platforms/web/README.md)
56+
57+
Use the Shopify.dev guides for broader product workflows:
58+
59+
- [Checkout Kit overview](https://shopify.dev/docs/storefronts/mobile/checkout-kit)
60+
- [Authenticate checkouts](https://shopify.dev/docs/storefronts/mobile/checkout-kit/authenticate-checkouts)
61+
- [Monitor the checkout lifecycle](https://shopify.dev/docs/storefronts/mobile/checkout-kit/monitor-checkout-lifecycle)
62+
- [Offsite payments](https://shopify.dev/docs/storefronts/mobile/checkout-kit/offsite-payments)
63+
- [Privacy compliance](https://shopify.dev/docs/storefronts/mobile/checkout-kit/privacy-compliance)
64+
- [Accelerated checkouts](https://shopify.dev/docs/storefronts/mobile/checkout-kit/accelerated-checkouts)
65+
66+
## Samples
67+
68+
| Platform | Sample README | What it demonstrates |
69+
| --- | --- | --- |
70+
| Swift | [Samples](platforms/swift/Samples/README.md) | Storefront API cart flow, checkout presentation, Customer Account API, and accelerated checkout buttons. |
71+
| Android | [Samples](platforms/android/samples/README.md) | Storefront API cart flow, checkout presentation, protocol lifecycle events, file chooser, and geolocation callbacks. |
72+
| Web | [Sample](platforms/web/sample/README.md) | Local playground for the `<shopify-checkout>` web component and `checkout:*` events. |
4073

4174
## Versioning
4275

43-
Checkout Kit is the new name for the Checkout Sheet Kit SDKs. It resets the version line to Checkout Kit v1, and all future development will be under Checkout Kit.
76+
Checkout Kit is the current home for the SDKs that were previously published as Checkout Sheet Kit. The renamed packages use a shared `4.0.0-alpha.X` version format while the new package line settles:
4477

45-
### Legacy v3
78+
- Swift, Android, and React Native start at `4.0.0-alpha.1`.
79+
- Web is currently `4.0.0-alpha.2` and is published under the npm `next` dist-tag.
80+
- React Native requires React Native New Architecture.
81+
- Stable releases will continue on the same `4.x` package line after the alpha period.
4682

47-
The legacy Checkout Sheet Kit lines are deprecated and remain available for apps maintaining older integrations.
83+
The legacy standalone Checkout Sheet Kit repositories remain available for apps that have not migrated.
4884

49-
| Platform | Status | Package | Final release | Readme |
50-
| ------------ | ----------------------------------------------------------------------- | ----------------------------------- | ------------- | --------------------------------------------------------------------------- |
51-
| iOS | ![Deprecated](https://img.shields.io/badge/status-deprecated-lightgrey) | Checkout Sheet Kit for Swift | `3.8.x` | [Readme](https://github.com/Shopify/checkout-sheet-kit-swift#readme) |
52-
| Android | ![Deprecated](https://img.shields.io/badge/status-deprecated-lightgrey) | Checkout Sheet Kit for Android | `3.5.x` | [Readme](https://github.com/Shopify/checkout-sheet-kit-android#readme) |
53-
| React Native | ![Deprecated](https://img.shields.io/badge/status-deprecated-lightgrey) | Checkout Sheet Kit for React Native | `4.0.x` | [Readme](https://github.com/Shopify/checkout-sheet-kit-react-native#readme) |
85+
| Platform | Legacy package | Final legacy line |
86+
| --- | --- | --- |
87+
| iOS | `checkout-sheet-kit-swift` | `3.8.x` |
88+
| Android | `com.shopify:checkout-sheet-kit` | `3.5.x` |
89+
| React Native | `@shopify/checkout-sheet-kit` | `4.0.x` |
5490

5591
## Contributing
5692

e2e/README.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1-
# Checkout Kit End-to-end tests
1+
# Checkout Kit End-to-End Tests
22

3-
Placeholder. End-to-end tests covering Swift, Android, and (later) React Native will be folded into this directory in a follow-up.
3+
This directory is reserved for cross-platform end-to-end tests. There is no runnable e2e suite checked in yet.
4+
5+
Planned coverage:
6+
7+
- Swift checkout presentation and protocol lifecycle.
8+
- Android checkout presentation and protocol lifecycle.
9+
- React Native wrapper behavior.
10+
- Web component open/close and `checkout:*` events.
11+
12+
Until this directory contains test code, use the platform test suites and sample apps:
13+
14+
- `dev swift build samples`
15+
- `dev android build samples`
16+
- `pnpm --dir platforms/web test`

0 commit comments

Comments
 (0)