android-inapp-billing-v3 icon indicating copy to clipboard operation
android-inapp-billing-v3 copied to clipboard

Question: Is this compatible with the latest requirements?

Open RajatVaghani opened this issue 5 years ago • 8 comments

Google Play Console shows a warning that the following must be implemented by Nov 1st:

  • Account Hold
  • Account Restore

Pausing and resuming of subscriptions will also be enabled by default unless turned off by us explicitly. Does the library already provide support for all the above?

RajatVaghani avatar Oct 11 '20 16:10 RajatVaghani

Yeah same question I want to ask is it compatible with new billing library 3.0. as I see that Anjlab still using old version of billing can you please update this library for new requirement.

Account Hold Account Restore

adnaanaeem avatar Oct 12 '20 17:10 adnaanaeem

Same Question , Is author noticing or doing anything for next version or just stopped development. Please tell us so we can try alternative ? @serggl

InsertCart avatar Oct 16 '20 04:10 InsertCart

anyone found any workaround to support latest requirements.

paktech1 avatar Oct 16 '20 13:10 paktech1

Same question, i saw latest commit https://github.com/anjlab/android-inapp-billing-v3/pull/456 added skuDetails as Json-String, maybe we can get the account hold info same way? Just an idea... Didn't tried to implement it yet so if anyone looked into it already i would love to see your workarounds <3

Zeg0 avatar Oct 19 '20 12:10 Zeg0

Is it actually a problem? Since ...

List<String> mySubscriptions = MyBillingProcessor.listOwnedSubscriptions(); for (String subscription : mySubscriptions ) { if (subscription .equals("MySubscription")) { .... } }

... listOwnedSubscriptions() does not contain the subscription, if there is an Account Hold. So it's quite easy to revoke the access to all the subscribed features there. When the subscription is listed again (by resubscribing or when the account hold is no longer present), the user regains all his subscribed features - that doesn't seem to complicated.

Am I missing something?

WebDirigent avatar Oct 22 '20 10:10 WebDirigent

Is it actually a problem? Since ...

List<String> mySubscriptions = MyBillingProcessor.listOwnedSubscriptions(); for (String subscription : mySubscriptions ) { if (subscription .equals("MySubscription")) { .... } }

... listOwnedSubscriptions() does not contain the subscription, if there is an Account Hold. So it's quite easy to revoke the access to all the subscribed features there. When the subscription is listed again (by resubscribing or when the account hold is no longer present), the user regains all his subscribed features - that doesn't seem to complicated.

Am I missing something?

did you test it, is it accounting for account hold and account restore.

paktech1 avatar Oct 25 '20 09:10 paktech1

Is it actually a problem? Since ... List<String> mySubscriptions = MyBillingProcessor.listOwnedSubscriptions(); for (String subscription : mySubscriptions ) { if (subscription .equals("MySubscription")) { .... } } ... listOwnedSubscriptions() does not contain the subscription, if there is an Account Hold. So it's quite easy to revoke the access to all the subscribed features there. When the subscription is listed again (by resubscribing or when the account hold is no longer present), the user regains all his subscribed features - that doesn't seem to complicated. Am I missing something?

did you test it, is it accounting for account hold and account restore.

Yes, I tested it and it seems to work. This is what I did: 1: Buy In-App-Subscription 2: Select rejecting payment method 3: After some time you'll get a notification from Google telling you to fix your payment method ("There's a hold on your payment method" -> Still the subscription works (I think it should be like that) 4: If you don't fix your payment method, after some time the subscription no longer works.

That's it - I think it works according to what Google Play wants us to. They say you "should" implement Real-Time-Developer-Notifications and you "should" show a dialog that the user has to fix his payment method - that doesn't really sound like i need to.

WebDirigent avatar Oct 27 '20 08:10 WebDirigent

Is it actually a problem? Since ... List<String> mySubscriptions = MyBillingProcessor.listOwnedSubscriptions(); for (String subscription : mySubscriptions ) { if (subscription .equals("MySubscription")) { .... } } ... listOwnedSubscriptions() does not contain the subscription, if there is an Account Hold. So it's quite easy to revoke the access to all the subscribed features there. When the subscription is listed again (by resubscribing or when the account hold is no longer present), the user regains all his subscribed features - that doesn't seem to complicated. Am I missing something?

did you test it, is it accounting for account hold and account restore.

Yes, I tested it and it seems to work. This is what I did: 1: Buy In-App-Subscription 2: Select rejecting payment method 3: After some time you'll get a notification from Google telling you to fix your payment method ("There's a hold on your payment method" -> Still the subscription works (I think it should be like that) 4: If you don't fix your payment method, after some time the subscription no longer works.

That's it - I think it works according to what Google Play wants us to. They say you "should" implement Real-Time-Developer-Notifications and you "should" show a dialog that the user has to fix his payment method - that doesn't really sound like i need to.

Thank you for testing it!!!

Also i think you are right as long as it works (which should be the case like you explained) the notification e.t.c. seem to be optional.

So it is as simple as:

if a subscription is no longer returned within MyBillingProcessor.listOwnedSubscriptions(); ... => remove premium subscription content (temporary)

Zeg0 avatar Oct 28 '20 11:10 Zeg0