我在Google Play(fmr。Android Market)上放置应用,现在我正在开发应用内结算功能。 Android文档说,您应该通过使用公钥验证交易签名来做到这一点,但我想知道使用Google Checkout API检索订单信息会更容易。像下面这样:使用Google Checkout验证Android应用内购买?
老办法
- 的Android客户购买了一些产品的市场
- 市场上发出回应电话的随机数,签名的transactionId等
- Android手机,或远程服务器验证使用随机数(先前生成)的事务和签名。
- 如果交易被验证,购买是有效的,信贷客户与项目。
MY WAY
- 的Android客户购买了一些产品在市场上
- 市场发出回应电话的随机数,签名的transactionId等
- Android手机发送请求到远程服务器的transactionId
- 远程服务器向google checkout API发送一个请求,以使用transactionid命令,并验证事务已清除。
- 如果交易已被清除,信贷客户与项目
这可能吗?
那么,这两种方法都变成了很多工作。我使用App Engine作为我的远程服务器,它没有简单的方法来验证公钥使用的签名(m2crypto不在AE上运行,pyCrypto有问题)。 – 2012-04-07 15:43:25
不知道关于生成随机数和验证签名的工作很多。当然连接到谷歌结帐是更多的工作?有一段时间没有使用pyCrypto,但我很确定它可以验证RSA签名。或者你可以用Java做后端。 – 2012-04-07 15:50:31
我不是Android/Play开发者 - Google Checkout API仅适用于通过Google Checkout进行的交易(不是任何其他API/Google产品)。您的商家/卖家ID和密钥对于您的市场/产品API是唯一的(它不会与Google Checkout的“商家ID /密钥”相同。订单号/ ID也会不同...... – EdSF 2012-04-08 03:13:03