"Manage Subscriptions" upgrade/downgrade help

When a user upgrades or downgrades their auto-renewable subscriptions via the "Manage Subscriptions" URL, how is the application notified of this? It doesn't appear that any kind of transaction is processed on the transaction queue, so how is the application supposed to know that something has changed? When does the receipt get updated with this information?


If a user upgrades from subscription A to subscription B, how does the app know this has occurred? If there was an SKPaymentTransaction in the app, we're not seeing it.


Since there is no sandbox support for this scenario, I have no idea how to handle it.

Replies

Nothing is supposed to happen at the time when the user upgrades or downgrades. But then, when the user's subscription is set to expire the new time period subscription will be purchased. Yoir app has some way of handling subscription renewals. It should detect the new subscription period naturally.

If a user upgrades a subscription from A to B, and subscription B enables more data/features than subscription A, then something in the app needs to happen to enable the features of subscription B.

Yes, I see - this is the new 'groups' thing in autorenewable subscriptions.

  • Upgrade. .....The new in-app purchase is charged and goes into effect immediately at the full price
  • Crossgrade......If the in-app purchases are of the same duration.....The new in-app purchase is charged and goes into effect immediately at the full price..... If the in-app purchase are of different durations, the crossgrade goes into effect on the customer’s next renewal date.


I am surprised you don't get a new transaction delivered to updatedTransactions. Are you sure you don't?

Right, I would expect to see a transaction for the upgrade, but alas we don't. If we did, I believe our code would handle it like any new transaction. However like I said, since there's no sandbox for this scenario, we can't test it, so it's possible I'm missing something.. Hence my question!

Did you ever find a solutions to this? I am running into the same senario in an App I have under development.


Thanks

If anyone is still confused with this, make sure you check the ORDER of your subscriptions within your subscription group in AppStoreConnect. You are specifically asked to order them in descending order, the first being the subscription with the most benefits, down to the subscription with the least benefits. They are easy enough to adjust if you need.

By doing this, you can be guarenteed that if a user upgrades from subscriptionA to subscriptionB, then subscriptionB will be listed in the latest receipt information when receiving a server notification or validating a receipt. If you get the order incorrect, you will have users trying to upgrade, but being stuck on the subscription with less benefits because your server will not see any higher subscription.