We run into a use-case that seems like an edge case but ends up being more common that you’d expect.
- User subscribes via App Store, let’s say an annual plan that ends on 2023-01-01.
- In the middle of the subscription, user now wants to be billed through Stripe (receiving a promo code or something like that). It is too late for a refund.
- User cancels their App Store subscription, though it is still active until 2023-01-01.
- User wants to purchase their new Stripe subscription but only get billed once their App Store one ends in the future.
There are a few ways to do this:
- Just not support this at all, and force users to wait until their App Store subscription expires before they purchase their Stripe subscription (less than ideal).
- Let the user purchase their new Stripe subscription, but with a really long trial duration so that during the overlap period, they have the canceled (but non-expired App Store), then on 2023-01-01 when the first one expires, their Stripe trial ends and they get billed. This seems like kind of a hack, because they will have an active subscription and a trial subscription at the same time.
- Use Stripe to start the subscription in the future. We tried using Subscription Schedules but those don’t seem to sync over to RevenueCat, since the subscription technically hasn’t started yet.
Curious if anyone has any advice.