Docs
The following are limitations for integrating the Apple App Store or Google Play Store with Chargebee.
1. A subscription product or plan configured in the Apple App Store or Google Play Store is available for all regions by default. So the same subscription product can be available with different price points but the same currency for two or more regions. In Chargebee, plans are not created based on the region, you'll be able to import the plan with only one price per currency. However, this will not impact subscriptions because we will override the plan's price while creating a subscription, thus subscription will be created based on the price that is relevant for the region.
For example, consider Apple App Store's plan price in
i. United States region = $9.99 USD
ii. Albania and Belarus region = $11.99 USD
Now you can either import the plan to Chargebee with a $9.99 or an $11.99 USD price. Assume you have imported a plan with a $9.99 USD price to Chargebee. Now when a subscriber is from the United States region then the subscription will be created at a $9.99 USD price and if the subscriber is from Albania or Belarus region then the subscription will be created at an $11.99 USD price and both these subscriptions will be associated with the $9.99 price plan.
For example, in the Google Play Store consider a scenario where both Bahrain and the United States use USD as their currency for subscription plans. Let's say the Play Store configurations are:
i. Bahrain region = $23.99 USD
ii. United States region = $22.00 USD
When auto-importing plans from the Play Store, Chargebee fetches the first available plan in USD configured in the Play console. Given that the Play Store lists plans alphabetically by country name, Bahrain's price point for USD comes before that of the United States. As a result, the $23.99 USD price point from Bahrain is used to create the plan in Chargebee.
However, the actual subscription price depends on the subscriber's region:
a. For a subscriber from the United States, the $22.00 USD price point is used.
b. For a subscriber from Bahrain, the $23.99 USD price point is retained.
Despite these regional price differences, both subscriptions are associated with the Chargebee plan set at $23.99 USD.
2. We do not recommend setting item/plan prices directly through Chargebee's user interface for plans imported from stores. Here's why:
a. Automatic Creation: If an item price wasn't established during the plan import, it will be auto-created when the process purchase command API is triggered.
b. Channel Conflict: Manually creating item prices in Chargebee tags them with the web channel. This can lead to conflicts and result in errors when trying to create a subscription through the process purchase command or the import receipt API.
3. Chargebee restricts the deletion of Apple App Store or Google Play Store plans through the user interface to ensure seamless synchronization between Chargebee and these stores. In case you want to delete store plans then please contact support .
4. You will not be able to import Apple App Store and Google Play Store plans from the Chargebee admin user interface if your Chargebee site is integrated with tax software like Avalara or Taxjar. In such a case, to import your store plans, reach out to support .
5. Chargebee considers product ID as a unique identifier for the configured or imported products. So, if you are importing products from Apple and Google or configuring the same for web channels in Chargebee, ensure that the product IDs are distinct in these storefronts.
For instance, if you're offering a premium product in all three storefronts, i.e., Apple, Google, and Web, then the product IDs in the respective stores can be premium_apple, premium_google, and premium_web.
Suppose you configure the product ID as premium in all three storefronts and import products. In that case, the channel for which the product is first imported will be recorded in Chargebee, and all subscriptions, irrespective of the channel, will be associated with this product.
6. When you test a subscription in the Apple and Google sandbox environments, the subscription renews in minutes. However, Chargebee requires a minimum subscription renewal duration of one day. Therefore, if you don't import a plan into Chargebee and create an in-app subscription using the process purchase command API or SDK, Chargebee will create a plan with a daily frequency and link the newly created in-app subscription to this plan. Nonetheless, the subscription will renew as per minutes schedule specified by Apple and Google , if the notifications are received from the stores on time.
1. Chargebee restricts the deletion of customer and subscription records associated with the Apple App Store and Google Play Store through the user interface or API to ensure seamless synchronization between Chargebee and these stores. If you want to delete these records, then please contact support .
2. You can delete a customer record from the user interface when no active subscription is associated with it. We do not recommend deleting the customer record as this may corrupt the data internally in Chargebee. If you want to delete such customer records, then please contact support .
3. In the Apple App Store and Google Play Store, there is a provision to associate free trials, introductory offers, promotional offers, and coupon codes for subscription products. Currently, Chargebee only supports the free trial period with subscriptions in Chargebee. Therefore, we recommend refraining from associating in-app subscriptions with an introductory offer, promotional offer, or coupon code to Chargebee, as this will result in erroneous requests.
4. Enable v1 notifications in the Apple App Store for subscriptions created without receipts. Chargebee depends on receipt data to update subscription statuses. Apple's v2 notifications do not have receipt information; therefore, Chargebee cannot process v2 notifications for subscriptions imported without receipts. Learn more about app store notifications and notification URL configuration.
5. In the Google Play Store, the purchase token is valid from subscription signup until 60 days after subscription expiration. Therefore, subscriptions that expired more than 60 days ago cannot be imported to Chargebee. Attempting to call Import Receipt API with such an expired subscription token will return an error.
6. There are instances where Chargebee might not receive renewal or cancellation notifications from Apple and Google stores. In such scenarios, the subscription status within Chargebee for a store subscription remains Active, and invoices are generated with a Payment Due status. This occurs because the Chargebee billing engine cannot determine the subscription status without a notification from the store. Consequently, by default, it renews the subscription at the term's end. Therefore, it is strongly advised to regularly verify both the subscription status and the generated invoice's state before providing access to the content for end-users in your application.
7. Chargebee's In-app subscriptions and Non subscriptions APIs operate asynchronously. When you receive a successful response code from an API call, it indicates only the successful submission of your request, not the completion of the operation.
1. Chargebee's dunning capabilities are not applicable to Apple App Store and Google Play Store subscriptions. These stores directly handle the payment retries for failed transactions.
When a payment fails through Apple's payment system, Apple will automatically attempt to process the payment again for a period of 60 days. Learn more .
In the case of Google, the retry period can last up to 30 days plus any specified grace period length. Learn more .
If the payment continues to fail during this period, Apple or Google will eventually cancel the subscription.
1. Chargebee doesn't consider commission percentage information from stores at the transaction level as this is not available in the receipt received from the stores. This means that only gross revenue can be reported, and to obtain more accurate financial reporting, it may be necessary to consume reports separately from the Apple and Google stores. For Apple you can rely on financial report /subscriber report and for Google, you can rely on earnings report .
2. Revenue recognition with the RevRec component of Chargebee is not fully supported for invoices generated from the Apple App Store and Google Play Store. This feature is currently being explored as a potential solution. Please reach out to eap@chargebee.com if you want to enable this feature.
3. Transactions from Apple and Google cannot be reconciled due to different transaction IDs between store reports and Chargebee receipt data. Mobile app store revenues can be recognized using Chargebee's Revrec solution. Learn more .
1. Since the Apple App Store and Google Play Store generate invoices for your customers directly and don't share the invoice copy with us, we generate read-only invoices in Chargebee based on the total amount that was paid by your customer. You cannot download or email these invoices to your customers. These invoices are generated in Chargebee for tracking revenue in the RevenueStory dashboard.
2. The invoice numbers generated for Apple and Google subscriptions follow the same sequence as the regular web storefront.
3. Invoice numbering using prefix:
1. We do not sync invoices, plans, or addons of the Apple App Store/Google Play Store to the accounting integration platforms such as Netsuite, Intact, and more as we do not receive the tax information from the store receipts.
2. For any successful subscription to the Apple App Store or Google Play Store, Chargebee gets a receipt that has only the total payment information. Since these receipts don't have information on the commission percentage charged by the store and the tax deduction amount, we report the total amount paid by your customer in the Invoices and RevenueStory and not the revenue proceeds received from the store to your merchant account.
1. Apple App Store or Google Play Store integrations cannot be enabled for your Chargebee site if the Multi Business Entity feature is enabled for the same. If you want to enable these stores on a Multi Business Entity enabled site, please reach out to support .
API References