Currently I use a server to receive GCP Pub/Sub messages, and I'd like to perform a Purchase.Subscriptions:acknowledge
call to acknowledge the subscription that has not been acknowledged as the server received the notification.
Here is the scenario ...
A user buy subscription A, which is 30-day-period, and then upgrade to 1-year-period.
On the server side, will receive the notification with the upgraded transaction when the 30-day-period subscription is about to be expired. As the server retrieve the information by using Purchase.Subscription:Get
you can see the acknowledgeState of this upgraded transaction is 0, so the server calls Purchase.Subscription:Acknowledge
to acknowledge this transaction, but the problem is it returns an error message saying "The subscription purchase not is owned by the use".
Here is what the error message looks like:
{
"error": {
"errors": [
{
"domain": "androidpublisher",
"reason": "subscriptionNotOwnedByUser",
"message": "The subscription purchase not is owned by the user."
}
],
"code": 400,
"message": "The subscription purchase not is owned by the user."
}
}
Does anyone have the same issue ?
The other information is that in the Android App, I set proration mode to DEFERRED
in the BillingFlowParams class, that is why I can't acknowledge the new transaction in the App immediately since the state of the new transaction is not yet been PURCHASED, I can only do the acknowledgement on the server side.