I am using InAppBilling3 (1.31) in an app of mine. I have about 14000 active users, out of which I have received emails from maybe 40-50 users saying they can't upgrade. Apparently when they click upgrade button, the popup from Play Store won't appear. Here is the code for upgrade button.
If BillingSupported Then
manager.RequestPayment(ProductID,"inapp","upgrade")
End If
Now regarding the variable BillingSupported, manager.Initialize("manager", key) is called in Activity_Create. And then this happens.
Sub manager_BillingSupported (Supported As Boolean, Message As String)
BillingSupported=Supported
If Supported Then manager.GetOwnedProducts Else ProgressDialogHide
End Sub
Since the user is complaining that he doesn't see the in-app upgrade pop-up from Play Store, it could mean either BillingSupported=False or manager.RequestPayment(ProductID,"inapp","upgrade") is not working. Some of the users who complained later informed me that in-app purchase worked after restarting the app a few times.
The same issue is happening with some users who are trying to restore their previous purchases. As you can see I am calling manager.GetOwnedProducts if BillingSupported=True. Here also it has worked for users after 3-4 attempts.
In both cases the common factor is the check for BillingSupported=True. I am wondering if it returns False sometimes. Personally I couldn't recreate this on any of my test devices.
Is the B4A version of the library on a par with Google's latest release?