Choose your platform
Choose iOS, Mac App Store, Android, web, direct macOS, Chrome extension or standalone Stripe, with the setup and release requirements for each.
Select one or more platforms when creating your app. Your selection controls the setup checklist, store fields, SDK instructions and MCP prompt. Use the same authenticated user ID and entitlement identifiers across platforms to share access.
| Choice | Billing | Integration | Distribution |
|---|---|---|---|
| iOS | App Store | Swift SDK, StoreKit 2 | Released SDK |
| Mac App Store | App Store | Swift SDK, StoreKit 2, native macOS paywall | Released Swift package; verify the required version |
| Android | Google Play | Kotlin SDK, Play Billing | Released SDK |
| Web | Your Stripe account | TypeScript, React, backend sessions | Released npm packages |
| macOS with Stripe | Your Stripe account | Native CashSDKCommerce Swift client, system browser checkout | Released Swift package, 2.4.0 or later |
| Chrome extension | Your Stripe account | Manifest V3, extension pages and service workers | Released npm package (cashsdk-web/extension) |
| Stripe only | Your Stripe account | Existing checkout, signed webhooks, server REST API | Released; no client SDK required |
Mac App Store and macOS with Stripe are separate choices. A direct Mac app does not need App Store Connect. Stripe only also skips browser origins, customer sessions and SDK installation. All seven selections are available in the deployed onboarding flow.
Dashboard or agent#
Create an app in the dashboard and choose the platform. Native stores use Quickstart. Commerce platforms use Web and Stripe, where you connect the payment provider, open the matching guide and generate an integration prompt.
Through MCP, call list_supported_platforms, then
create_app with the selected IDs: ios, macos, android, web,
macos-direct, chrome-extension, stripe. bundleId is optional when the list
contains no native store. get_integration_snippets accepts any of these IDs.
update_app_settings accepts the complete platform list for an existing app.
Use get_commerce_configuration to inspect origins, customer sessions and whether
checkout is available. Owner/admin OAuth or a write-enabled MCP token can call
configure_commerce. Changing the origins, or turning sessions on or off, revokes
existing customer sessions in that environment.
Release verification#
Distribution, app setup and production verification are separate. A complete setup checklist is evidence of the events it names. It is not store approval, package publication, a live payment test, or a production certificate.
Verify on the actual target: iPhone or iPad, Mac App Store build, Android device, browser, signed direct Mac build, or packaged Chrome extension. Test payment, renewal, cancellation, refund, sign-out and account switching. Preserve payment attempt IDs across retries and extension-worker or app restarts.
For Stripe, verify the signed webhook, matching key modes, customer mapping and server-side access checks. Go live with Stripe lists every step from Sandbox to Production, for checkout started by the SDK and for your own Stripe Checkout.