在向用户提供可下载内容之前,我无法找到关于如何验证服务器上的应用内结算购买的直接答案.
我在app-billing版本3中使用.我使用基于TrivialDrive示例代码中的IabHelper类的代码购买托管产品.一切都很好,花花公子,购买成功完成,我得到一个完整的购买对象和以下原始JSON数据:
{
"orderId":"12999763169054705758.1364365967744519",
"packageName":"my package name",
"productId":"77",
"purchaseTime":1366217534000,
"purchaseState":0,
"purchaseToken":"utfwimslnrrwvglktizikdcd.AO-J1OwZ4l5oXz_3d2SAWAAUgFE3QErKoyIX8WuSEnBW26ntsyDmlLgoUd5lshqIY2p2LnlV4tpH4NITB4mJMX98sCtZizH7wGf6Izw3tfW_GflJDKFyb-g"
}
Run Code Online (Sandbox Code Playgroud)
据我所知,我需要传递purchaseToken和我看到的称为服务器签名的东西.然后,服务器使用私钥来验证购买.它是否正确?如果是这样,我从哪里获得签名,是否真的没有关于购买的服务器端验证的体面文档?
这里提到需要在 2020 年 11 月 1 日之前对“帐户保留”状态进行适当管理。
该文档在这里说:“当用户进入帐户保留状态时,您应该利用实时开发人员通知来通知您的用户为什么暂停访问订阅。在您的应用程序中,您应该提供一条消息,说明如何修复他们的问题付款方式并重新获得对订阅的访问权限。您的消息应包含指向 Google Play 订阅设置的链接,以便他们可以修复他们的付款方式。”
问题是该文档还在这里说,如果我们不使用后端服务器(+ RTDN 和 PubSub),则无法区分“暂停”、“暂停”、“过期”这 3 条法规
因为我们真的不想使用后端服务器和 RTDN,所以我们想知道:
非常感谢你的帮助。