我的收据验证服务器成功使用购买状态API (https://developers.google.com/android-publisher/v1_1/inapppurchases/get)来验证IAP收据,但是响应缺少developerPayload
我几个月来一直在使用相同的API和相同的服务器代码,我总是得到developerPayload回来。截至2014年3月12日,它已经消失了。
我的回答是:
{
"kind": "androidpublisher#inappPurchase",
"purchaseTime": "1394819545343",
"purchaseState": 0,
"consumptionState": 1
}
预期:
{
"kind": "androidpublisher#inappPurchase",
"purchaseTime": long,
"purchaseState": integer,
"consumptionState": integer,
"developerPayload": string
}
你知道为什么开发者有效负载可能会丢失吗?
编辑:这是我的服务器日志中最后一个有开发人员有效负载的订单:
{
"kind": "androidpublisher#inappPurchase",
"purchaseTime": "1394658352037",
"purchaseState": 0,
"consumptionState": 1,
"developerPayload": "cb9e60a2-1714-434c-ba40-e144f89a7e9f"
}
订单上的日期是{3/12/2014 9:05:52 PM}
我观察到同样的行为,但是今天它开始工作了。请再检查一下。Google似乎正在试验这个API,在此期间,我观察到
-
第一次验证返回开发有效负载(在消费之前)。但
-
消费后购买时间改变。
- API为取消(消费)购买返回400 (googlejsonresponseexception(无效值))。在此之前,它曾经在一段时间内为取消(和消耗)的对象返回purchaseState: 1。
所以,我目前只是第一次使用它(在接受订单之前)。之后,它的行为似乎不一致(我必须手动处理取消:-()
又可以工作了。显然是服务中断