We’ve noticed that we now typically receive a
BILLING_ISSUE webhook followed by a
CANCELLATION webhook with a reason of
BILLING_ERROR when a customer encounters billing problems in the App Store/Play Store.
The webhook documentation does not really tell me what the practical difference is between these two:
There has been a problem trying to charge the subscriber. This does not mean the subscription has expired.
Apple, Amazon, or Google could not charge the subscriber using their payment method.
CANCELLATION event with cancellation reason
BILLING_ERROR is fired as soon as the billing issue has been detected. The
EXPIRATION event with expiration reason
BILLING_ERROR is fired if the grace period (if set up) has ended without recovering the payment, and the customer should lose access to the subscription.
From the descriptions here, it kind of seems like they are interchangeable. Neither signify that the subscription has expired, so we shouldn’t revoke access when we get them.
- Can I always expect to receive both?
BILLING_ERROR a replacement for
- What’s the difference in terms of how I should treat the customer’s subscription, if any?
Best answer by JensView original