【发布时间】:2013-04-10 15:17:06
【问题描述】:
在向用户提供可下载内容之前,我无法找到关于如何在服务器上验证应用内结算购买的直接答案。
我在应用计费版本 3 中使用。我使用基于 TrivialDrive 示例代码中的 IabHelper 类的代码购买托管产品。一切都很好,购买成功完成,我得到了一个完整的购买对象和以下原始 JSON 数据:
{
"orderId":"12999763169054705758.1364365967744519",
"packageName":"my package name",
"productId":"77",
"purchaseTime":1366217534000,
"purchaseState":0,
"purchaseToken":"utfwimslnrrwvglktizikdcd.AO-J1OwZ4l5oXz_3d2SAWAAUgFE3QErKoyIX8WuSEnBW26ntsyDmlLgoUd5lshqIY2p2LnlV4tpH4NITB4mJMX98sCtZizH7wGf6Izw3tfW_GflJDKFyb-g"
}
据我了解,我需要将 purchaseToken 和我看到的称为签名的东西传递给服务器。然后服务器使用私钥来验证购买。它是否正确?如果是这样,我从哪里获得签名?真的没有关于服务器端购买验证的像样文档吗?
【问题讨论】:
-
当您在社区中提出一些问题时,请始终记住一件事,不要放置敏感数据。敏感一词是指密码、任何交易的订单号等。只需用一些虚拟值更改它们即可。
-
您是否找到任何用于服务器端验证的工作示例?
-
如何使用和提取google上面的json数据?我想看看这方面的实际 php 代码。
-
使用公钥而不是私钥完成签名验证
标签: android in-app-purchase in-app-billing