Hey,
We are building products with an unusual subscription model. I would be interested to know if someone successfully implemented such a subscription model with RevenueCat. I'm also interested to hear about suggestions.
We are building apps for iOS and Android where an ‘admin’ user could purchase multiple subscriptions with his AppleID/GoogleID and assign each subscription to a managed user (i.e. with a different AppleID). So we are trying to implement a subscription model with 2 unusual characteristics:
- Multi-quantity subscriptions
- Assigning subscriptions to other users
Note that most of our users would only want to purchase 1 or 2 subscriptions, so we can fake multi-quantity subscriptions by creating multiple products/packages/entitlements.
Here is how we imagine the flow:
- The admin user signs in in our app. The app has a custom App User ID to identify this user that we will use it with RevenueCat.
- The app fetches the packages from RevenueCat. The app receives 6 packages in a single offering:
- 1st Account - Monthly
- 1st Account - Yearly
- 2nd Account - Monthly
- 2nd Account - Yearly
- 3rd Account - Monthly
- 3rd Account - Yearly
- Since the admin has not purchased any subscription yet, the app only displays the packages:
- 1st Account - Monthly
- 1st Account - Yearly
- The admin purchases the yearly subscription '1st Account - Yearly'
- The admin assigns this yearly subscription to the user User1. This is achieved by storing this info in our own backend: User1 has been granted the subscription '1st Account - Yearly' from the admin user
- The admin displays again our subscription management view. Since he already purchased '1st Account - Yearly', we now only display the packages:
- 2nd Account - Monthly
- 2nd Account - Yearly
- The admin purchases the monthly subscription '2nd Account - Monthly'
- The admin assigns this monthly subscription to User2. The app tells our backend that User2 now owns the subscription '2nd Account - Monthly' from the admin user.
- If the admin displays again our subscription management view, he would now only see the packages:
- 3rd Account - Monthly
- 3rd Account - Yearly
When the User1 installs one of our apps:
- User1 signs in in our app. The app has a custom App User ID to identify this user
- The app asked our backend about the subscription status for User1
- Our backend uses the RevenueCat API https://api.revenuecat.com/v1/subscribers/{app_user_id} to fetch the status of the subscription for the admin user. Note that our backend would most likely cache the subscription state and only request it once a day or week.
Did anyone already implement such a subscription model with RevenueCat? Is there an obvious flaw with this approach? Is there a better solution?
I would love to get feedback and suggestions about it.
Thanks in advance!