当前,我使用一台服务器来接收GCP发布/ Purchase.Subscriptions:acknowledge订阅消息,并且我想执行一次呼叫以确认在服务器收到通知后尚未确认的订阅。
这是方案...
用户购买订阅A,期限为30天,然后升级到1年。在服务器端,当30天期限的订阅即将到期时,将收到升级交易的通知。当服务器使用检索信息时,Purchase.Subscription:Get您可以看到此升级后的交易的acceptState为0,因此服务器调用Purchase.Subscription:Acknowledge以确认此交易,但问题是它返回一条错误消息,说明“订阅购买不归用户所有” 。
错误消息如下所示:
{
"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."
}
}
Run Code Online (Sandbox Code Playgroud)
有人有同样的问题吗?
另一个信息是,在Android App中,我DEFERRED在BillingFlowParams类中将按比例分配模式设置为,这就是为什么我不能立即在App中确认新交易的原因,因为新交易的状态尚未被购买,我可以仅在服务器端进行确认。
android in-app-purchase google-play google-play-developer-api