Nothing here requires an app release for existing customers — their historical purchases are reconstructed from store records, so entitlements carry over the moment you import. See the full playbook at cashsdk.com/solutions/migrate.
Migration
Move from a hosted IAP vendor to CashSDK with zero downtime — import subscribers, dual-write, verify parity, and cut over.
You can migrate an app with an active subscriber base to CashSDK without a single lost entitlement or interrupted renewal. The strategy: import your existing state, run both systems in parallel, verify they agree, then flip the switch.
Migrate with zero downtime#
Add your App Store Connect and Google Play credentials to CashSDK. This lets it read the source of truth directly from Apple and Google, independent of your old vendor.
Import your existing customers and their subscriptions — either from a
vendor export or by replaying original transaction ids. CashSDK
re-validates each against the store and rebuilds the entitlement, keyed by
your app_user_id so identities line up. Nothing changes for the customer.
Ship an app version that initializes CashSDK alongside your current vendor and mirrors purchases to both. Point App Store Server Notifications and Google Play RTDN at CashSDK too, so renewals and refunds land in both systems. Run this window until enough of your base is on the new build.
Compare the two systems for the same customers: active entitlements,
expiration dates, trial states, and grace periods should match. Use
GET /v1/apps/{app}/customers/{app_user_id} and reconcile against your old
vendor's records. Investigate any drift before proceeding.
Once parity holds, make CashSDK authoritative: gate features on CashSDK entitlements, route webhooks to your CashSDK handlers, and stop writing to the old vendor. Because entitlements were imported and kept in sync throughout, there's no gap in access.
Remove the legacy SDK in a later release, revoke its store notification URLs, and cancel the subscription. Keep an export archived for your records.
Don't repoint store notifications away from your old vendor until CashSDK is receiving them too. Overlapping delivery during the dual-write window is what guarantees no renewal or refund slips through.
Migrating a large or unusual catalog? Point the MCP server at your export and let an agent map products to entitlements and reconcile parity, or talk to us for a hands-on migration.