Subscription status update for user cancellation

Hi,


We are trying to identify when a user cancels their subscription. We have implemented the Status Update Notifications webhook and have started receiving the json events.


We do see messages with notification_type CANCEL, but according to the documentation these events are related to cancellations performed by apple support staff for the user. I am referring to this documentation:


https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Subscriptions.html#//apple_ref/doc/uid/TP40008267-CH7-SW13


I cannot seem to find an event that represents a user subscription cancellation. We have received DID_CHANGE_RENEWAL_PREF events, but none of them have a cancellation_date, or an auto_renew_status set to false.


The only other notification_type's are INITIAL_BUY, RENEWAL and INTERACTIVE_RENEWAL. None of these seem relevant to user cancellations.


Is there a way to determine when a user cancels their subscription or changes their auto_renew_status to false? and if so how can we detect that?


Thanks

Accepted Answer

Apple tends to define a cancellation as the user having contacted Apple support to immedately cancel and revoke the subscription. A "user cancellation" in the terms that you're talking about isn't considered a cancellation, so no cancellation date will appear in the receipt. It's simply the user turning off auto-renew (a user cannot immediately cancel and revoke a subscription themselves), and in that case you're still expected to honor the subscription until it's expiration date, so you can essentially consider the expiration date as the cancellation date if auto-renew is off on that date. From the documentation, it doesn't sound like turning off auto-renew will trigger an event. DID_CHANGE_RENEWAL_PREF only seems to trigger if the user switches subscription tiers/products. If you want the actual date/time that the user turned off auto-renew (which isn't a cancellation since the subscription is still active), then unfortunately it doesn't seem like there's an accurate way to get that.

Thanks, what I have observed is consistent with what you have mentioned.


It is a pity that there is no event for this user action. This would be very useful for knowing when a user churns (turns off auto_renew). We use this indicator to measure feature success for subscribers.


The only way I can see to determine this is to perform a receipt verification and then check the "pending_renewal_info.auto_renew_status".

Subscription status update for user cancellation
 
 
Q