Docs

Legacy Vs New Solution 

Difference Between Legacy and New Solution 

Suppose you have implemented the legacy solution and want to implement the new Omnichannel solution. In that case, as mentioned here, all you need to do is connect your apps to the new solution. Both legacy and new solutions can coexist in the same Chargebee site.

Also, if you are integrating Google Play Store using the legacy solution and Apple App Store using the new solution, it is important to understand the key differences between how these solutions work. The table below will help you understand these key differences.

Action

Legacy Solution

New Solution

Subscription Creation

An in-app subscription is created in Chargebee as a regular subscription either through client SDKs (iOS, Android, React Native, or Flutter) or through the server API (process purchase command API).

In-app subscription is recorded in Chargebee with a transaction ID via Record a purchase API and is represented as Omnichannel subscription.

The new solution doesn't offer client-side mobile SDKs for the reasons mentioned here.

Customer Creation

A customer record is created with the customer information passed through client-side SDKs or process purchase command API.

If no customer information is passed, then the subscription ID is used as the customer ID.

In any case, a subscription is created in Chargebee only if the customer record exists.

A customer record should exist in Chargebee before invoking Record a Purchase API. The customer ID to be associated with the Omnichannel subscription should be passed while invoking Record a Purchase API.

The subscription purchase will not be recorded in Chargebee if no customer information is passed.

Subscription Representation

Subscriptions from external marketplaces are created as Chargebee's subscriptions, and a channel attribute identifies the platform to which the subscription belongs.

channel will have values: app_store, play_store, and web.

Subscriptions from external marketplaces are represented as Omnichannel subscriptions, and a source attribute identifies the platform to which the subscription belongs.

At present, the source will have the value: apple_app_store

Subscription Renewals

Chargebee's billing engine manages the subscription renewal and waits for notifications from the respective store to mark invoices as paid.

Therefore, renewals are managed by Chargebee.

Renewals will be managed through server notifications from the respective stores.

In the future, if the renewal notification doesn't arrive at the designated time, Chargebee will attempt to check for the latest status of the subscription in Apple and change the status accordingly.

Chargebee events

Chargebee consumes Apple and Google server notifications to change the state of the subscription, and corresponding to the subscription change, Chargebee's subscription webhook events are triggered.

The channel attribute in the event can be used to identify the store, such as Apple or Google to which the subscription belongs.

Link to the mapping of Apple or Google events to Chargebee events.

Chargebee consumes Apple and Google server notifications to change the state of the subscription, and corresponding to a subscription change, Chargebee's Omnichannel subscription webhook events are triggered.

The source attribute in the event can be used to identify the store, such as Apple, to which the subscription belongs.

Product Catalog

Apple & Google products and price-points are imported as items & item price-points under Apple and Google product families.

Omnichannel subscription will have the details of Apple products associated with the subscription.

Apple products are currently not linked to Chargebee's product catalog. In the future, we will provide a provision to link Apple products to the items already configured in Chargebee, and there will be no separate Apple and Google product families.

Invoices

A read-only invoice (that cannot be downloaded or emailed) is generated.

No invoice will be generated as the invoice is generated by Apple and sent to the end user directly.

Revenue reporting

Revenue reporting is based on the amount derived from invoices and credit notes.

Revenue reporting is currently not supported.

In the future, the revenue reporting will be based on the amount derived from the transaction information.

Status sync corrections

Sometimes, Chargebee delays or does not receive server notifications from external stores.

In these cases, the subscription state in Chargebee may not be in sync with the status in the respective store. Chargebee must be notified of such discrepancies, and when reported, Chargebee reimports these subscriptions.

In the future, if Apple fails to send renewal and cancellation notifications, Chargebee will automatically check for these transactions at the end of the term and update the subscription state accordingly.

Was this article helpful?
Loading…