Migration, into Orca, and out again
What transfers, and what does not
Section titled “What transfers, and what does not”| Data | Transfers? | Why |
|---|---|---|
| App Store and Google Play subscriptions | Yes | They belong to the store. Once Orca has your store credentials it reads the same subscriptions any provider would. |
| Stripe and GoCardless subscriptions | Yes | They live in your own Stripe/GoCardless accounts; Orca connects to those accounts. |
| Entitlement configuration | Re-created | You define entitlements and link products in the Orca dashboard. |
| Customer identity | Mapped | Orca keys access by email. Customers known only by an anonymous ID in the old system need an email before they can be looked up in Orca. |
| Historical analytics from a previous provider | No | Those are the provider’s derived data. Export them before you leave. |
| Customers and entitlements | Yes, bulk import | Import your existing customers and their entitlements in one step so access is correct before the first client build ships. |
Migrating in: a plan that allows rollback
Section titled “Migrating in: a plan that allows rollback”- Inventory. List every product per store and the access it grants. This becomes your entitlement map.
- Sandbox first. Connect stores in sandbox, create entitlements, make a sandbox purchase.
- Bulk import. Import customers and entitlements so Orca already knows who has access.
- Parallel run. Ship a client build that calls
identify(email)and reads Orca entitlements but still grants access from the old system. Log disagreements. - Reconcile. For the logged disagreements, decide which system is right and why. Common causes: missing email mapping, a product not linked, a store notification URL still pointing at the old provider.
- Server first, then clients. Move the access decision to
getActiveEntitlementson your server while old clients keep working. Then move purchases to the Orca client SDKs release by release. - Cut over store notifications. Point App Store Server Notifications and Play RTDN at Orca. Note: Apple allows one production notification URL per app, so this step is the real cutover for Apple.
- Keep a rollback build for one release cycle, with the old provider’s credentials still valid.
Customer impact, done this way, is nil: nobody is asked to re-purchase, and access is granted by whichever system is authoritative at each step.
Migrating out
Section titled “Migrating out”The same table applies in reverse. Your next provider (or your own backend) reads the store subscriptions from the same store credentials. Export customer and entitlement information from the dashboard and use it to seed the new entitlement map. Stripe and GoCardless subscriptions stay where they are.
Not covered
Section titled “Not covered”Transaction-identifier mapping between providers and any provider-specific anonymous IDs are out of scope here because the behaviour depends on the other provider. If you are migrating from a named provider, read their export documentation alongside this page.