Solved

Supporting multiple subscriptions in the same app

  • 12 December 2023
  • 4 replies
  • 184 views

Badge +3

Hello,

I have an app with multiple creators and users can subscribe to many creators individually. Each creator is a separate subscription group in the App Store, so multi-sub support shouldn’t be an issue on Apple’s side. Each creator may have multiple products (monthly, annual, promotional, etc). 

Here is my setup:

  • Creator A
    • Apple: group_A with product_A
    • RevenueCat: offer_A with monthly package containing product_A and entitlement_A
  • Creator B
    • Apple: group_B with product_B
    • RevenueCat: offer_B with monthly package containing product_B and entitlement_B

When a user purchases A, they see product_A in Apple and I see entitlement_A in RC. When a user purchases B, they see a success message on their device. Users sees both product_A and product_B in Apple, but I don’t see entitlement_B in RC. Only entitlement_A is in RC.

What am I doing wrong? Is my RC setup wrong? 

icon

Best answer by kaitlin 19 December 2023, 22:53

View original

4 replies

Userlevel 4
Badge +6

Hey @yp-grandstand,

Without more specifics that would be tough to share in the community, this does in theory sound like it should work - I’m wondering if the missing second entitlement for your user could be due to a more run of the mill reason. Have you tried restoring purchases with the user to resync the receipt?

Badge +3

No, we have not implemented restore purchases yet. Does this hydrate/backfill missing data in RC based on the subscriptions state in Apple?

Userlevel 4
Badge +6

Hi @yp-grandstand,

It will resync the user’s receipt from Apple with RevenueCat’s servers. So if there was a purchase made that is visible on Apple but not RevenueCat, this should sync the subscription state and activate any content. 

Badge +3

Ok, I have implemented restore purchases in our app but we are still seeing discrepancies between the active subscriptions shown on the user’s device and the subscriptions shown on RC. Our transfer policy is transfer to new user. 

Device:

  • A - Active until Nov 29 2024 (missing in RC)
  • B - Active until Jan 27 2024 (missing in RC)
  • C - Active until Jan 27 2024 (active in Apple, expired in RC)

RC: 

  • C - Expired Nov 21 2023 (should not be expired)
  • D - Expired Dec 3 2023 (where is this from?)

The response from restorePurchase() API returns zero active subs. 

Is there a way for me to query all users that have a particular entitlement? Right now, I can only view all entitlements on a single user. 

Reply