Rewrite Android Checkout Kit READMEs#185
Conversation
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
|
Rendered README previews: |
ef3cc56 to
3fa7a4a
Compare
46375cf to
28b134c
Compare
3fa7a4a to
ad19673
Compare
28b134c to
aea5652
Compare
ad19673 to
d7c2648
Compare
aea5652 to
d11d3a1
Compare
d7c2648 to
24ef2d5
Compare
d11d3a1 to
5cf07e4
Compare
5cf07e4 to
eaf2a61
Compare
24ef2d5 to
2f23f9f
Compare
| - Chrome >= 80 | ||
| - Android `minSdk` 23+ | ||
| - Android `compileSdk` 35+ for consuming apps. This repository currently builds the library with `compileSdk` 36. | ||
| - Chrome or Android System WebView 80+ |
There was a problem hiding this comment.
I think this will be an end-user requirement more than anything. And only required for Google Pay right?
| - Android `minSdk` 23+ | ||
| - Android `compileSdk` 35+ for consuming apps. This repository currently builds the library with `compileSdk` 36. | ||
| - Chrome or Android System WebView 80+ | ||
| - A Storefront API access token and a checkout URL from `cart.checkoutUrl` or a cart permalink |
There was a problem hiding this comment.
With permalink, you don't really need a Storefront API access token.
Would probably drop this line
| The SDK is an [open source Android library](https://central.sonatype.com/artifact/com.shopify/checkout-kit). As a quick start, see | ||
| [sample projects](samples/README.md) or use one of the following ways to integrate the SDK into | ||
| your project: | ||
| The first Checkout Kit for Android alpha is `4.0.0-alpha.1`. Pin the alpha version explicitly until a stable `4.x` release is available. |
There was a problem hiding this comment.
Do we want folks to pin an unstable version?
There was a problem hiding this comment.
Should we keep the pointer to the repository?
| simplify the development workflow: | ||
| 1. Create or update a cart with the [Storefront GraphQL API](https://shopify.dev/docs/api/storefront), for example with [`cartCreate`](https://shopify.dev/docs/api/storefront/2026-04/mutations/cartCreate) and related cart mutations. | ||
| 2. Read the cart's [`checkoutUrl`](https://shopify.dev/docs/api/storefront/2026-04/objects/Cart#field-cart-checkouturl). | ||
| 3. Pass that URL, or a [cart permalink](https://help.shopify.com/en/manual/products/details/cart-permalink), to Checkout Kit without adding Checkout Kit query parameters yourself. |
There was a problem hiding this comment.
The without adding Checkout Kit query parameters yourself feels quite redundant
| To present a native checkout dialog in your Android application, provide | ||
| the `checkoutUrl` alongside optional runtime configuration settings to the `present(checkoutUrl)` | ||
| function provided by the SDK: | ||
| You can use any GraphQL client. The sample app uses Apollo Kotlin and is a better reference for a modern Storefront API integration. |
There was a problem hiding this comment.
a better reference than what?
Drop that part?
| Checkout Kit does not create carts or authenticate buyers. Add buyer context to the cart before presenting checkout: | ||
|
|
||
| ### Cart: buyer bag, identity, and preferences | ||
| - Use Storefront API cart buyer identity fields to prefill email, phone, address, country, language, and delivery preferences. |
There was a problem hiding this comment.
I think now some of this is deprecated, and there are separate mutations for setting delivery addresses for example
|
|
||
| ### Cart: buyer bag, identity, and preferences | ||
| - Use Storefront API cart buyer identity fields to prefill email, phone, address, country, language, and delivery preferences. | ||
| - Use Multipass for Shopify Plus stores that use Classic Customer Accounts. Generate Multipass tokens server-side and set `return_to` to the checkout URL. |
There was a problem hiding this comment.
This is probably still useful, but at some point I wonder if we should drop it now that multipass is officially legacy and new customer accounts are the way to go
| see [guide](https://shopify.dev/docs/custom-storefronts/building-with-the-storefront-api/cart/manage). | ||
| Included information will be used to present pre-filled and pre-selected choices to the buyer within | ||
| checkout. | ||
| Keep Storefront API tokens and Multipass secrets out of client-side code where they are not intended to be public. |
There was a problem hiding this comment.
I think the Storefront API tokens folks would generally use are the Public access token?
Multipass secrets for sure though
| ## Accelerated checkouts | ||
|
|
||
| ### Shop Pay | ||
| Android Checkout Kit does not currently render accelerated checkout buttons. Use the checkout URL presentation flow above. Swift and React Native iOS integrations can use `ShopifyAcceleratedCheckouts` for Shop Pay and Apple Pay buttons. |
There was a problem hiding this comment.
Not 100% convinced we need to talk about functionality that doesn't exist
|
|
||
| The Customer Account API allows you to authenticate buyers and provide a personalized checkout experience. | ||
| For detailed implementation instructions, see our [Customer Account API Authentication Guide](https://shopify.dev/docs/storefronts/headless/mobile-apps/checkout-kit/authenticate-checkouts). | ||
| ## Samples |
There was a problem hiding this comment.
Should we refer to this in the singular now?

What changes are you making?
Refresh the Android Checkout Kit documentation:
How to test
Documentation-only change.
git diff --check checkout-kit-readmes/swift...checkout-kit-readmes/androidBefore you merge
Important
platforms/swift/README.mdand/orplatforms/android/README.md)Releasing a new Swift version?
ShopifyCheckoutKit.podspecplatforms/swift/Sources/ShopifyCheckoutKit/ShopifyCheckoutKit.swiftplatforms/swift/CHANGELOG.mdplatforms/swift/README.md(major version only)Releasing a new Android version?
versionNameinplatforms/android/lib/build.gradleplatforms/android/CHANGELOG.mdplatforms/android/README.mdTip
See the Contributing documentation for the full release process per platform.