2

We are working on back-to-back service. To obtain the sub status we leverage the standard API call (Resource: SubscriptionPurchase) to get the current sub state.

The most challenge scenario we are blocked with is what the proper way interpreting cancelReason value in the status response.

"countryCode": string,
  "developerPayload": string,
  "paymentState": integer,
  "cancelReason": integer,
  "userCancellationTimeMillis": string,
  "cancelSurveyResult": {
    object (SubscriptionCancelSurveyResult)

The documentation google provides is not clear enough (my personal opinion) By google

The reason why a subscription was canceled or is not auto-renewing.
Possible values are: 

0. User canceled the subscription 
1. Subscription was canceled by the system, for example because of a billing problem
2. Subscription was replaced with a new subscription 
3. Subscription was canceled by the developer

What is clear enough it's the first option. (user does explicitly cancel, the renewal doesn't happen)

I will appreciate any clarification especially for system cancel. the sample of (billing problem) is clear.

  1. Is there more use cases when the system decides to cancel.
  2. is there any relation to full or partial refund in the case of canceled by system

Our system reports on the plenty if canceled by system subs. Not sure all of them are caused by billing issue.

Thanks in advance

Denis Voloshin
  • 768
  • 10
  • 32
  • Did you find anything? My all subscriptions got canceled by the system, for example because of a billing problem. – Aaditya Paliwal May 17 '21 at 16:10
  • Hello, Not sure my question covers the problem you are observing. Per my understanding of the sub-life cycle. if a sub gets into a billing problem while charging a user credit card, the sub management system moves it to the grace period. Probably the reason you get them canceled is that you didn't specify the grace period – Denis Voloshin May 17 '21 at 20:08

0 Answers0