Migrate to Purchasely
Guide to migrate your existing subscriptions to Purchasely.
Quick overview of the migration process
A quick overview of the migration process to help you understand why we are doing things when we'll go deeper in the explanations:
Configure your app/products/plans in the Purchasely console: without this data, we won't be able to do anything
Send us every new subscription created on you side with a call on our API: this step ensure we'll know everything about the subscriptions created from this point in time (needed for the users still using old versions of your app)
Extract your existing subscriptions into a CSV: this step ensure we'll known everything about the subscriptions created in the past
Release your new app: at this point, our backend will know every past/present/future subscriptions and you'll be able to release your app, everything will work smoothly.
Migration process in details
1. Configure your app/products/plans in the Purchasely console
Everything is explained here: https://docs.purchasely.com/quick-start/console-configuration
2. Send us every new subscription created on you side with a call on our API
Post receipt
POST
https://s2s.purchasely.io/receipts
This endpoint allows you to update Purchasely with new purchases made by a previous version of your app.
Headers
Name | Type | Description |
---|---|---|
X-PLATFORM-TYPE | string | The subscription platform ( |
X-API-KEY | string | API Key associated to your application (available in Purchasely console) |
Request Body
Name | Type | Description |
---|---|---|
intro_cycles | integer | number of periods the intro price is available: for a double 4-weeks intro pricing, the intro_cycles would be |
intro_duration | integer | number of periods the intro price is available: for a double 4-weeks intro pricing, the intro_duration would be |
intro_period | string | unit of a subscription's intro period ( |
duration | integer | number of periods before renewing: for a subscription renewing every 3 months, the duration would be |
period | string | unit of a subscription's duration ( |
intro_amount_cents | integer | subscriptions's intro price in cents ($12.35 => 1235, $12.3 => 1230, $12 => 1200) |
quantity | integer | number of products purchased (always 1 for subscriptions) |
currency | string | ISO 4217 format ( |
amount_cents | integer | subscription's price in cents ($12.35 => 1235, $12.3 => 1230, $12 => 1200) |
store_product_id | string | product id as defined in your store console |
user_id | string | id of your user as defined in your backend |
purchase_token | string | [GOOGLE PLAY ONLY] purchase token given by the SDK during the purchase, used to request Play Store servers |
receipt_data | string | [APP STORE ONLY] Base64 encoded receipt data given by the SDK during the purchase, used to request App Store servers |
The not-mandatory-fields are highly recommended: we use them to calculate the LTV (life-time value) of your users and track your revenues.
2.1. Body parameters exemple
2.2. Requests example
3. Extract your existing subscriptions into a CSV
It's time to extract all you existing subscriptions (active and expired)!
As before, we'll need different fields, depending of the platform (same rules apply for mandatory/recommended fields).
When extracted, send us these files and we'll take care of importing them.
3.1. App Store
3.2. Play Store
4. Release your new app
When everything is ok on our side, we'll send you a confirmation that you can release your apps.
Last updated