我可以从应用程序本身获取购买的Android应用程序的Google Checkout订单ID吗?

时间:2011-03-01 21:09:07

标签: android in-app-purchase google-checkout

我们希望允许我们的用户使用从Android电子市场购买的每个应用在我们的某个服务器上激活服务,验证用户是否真的购买了该应用。

为此,我们正在评估使用Google Checkout的通知历史记录API,该API允许我们从我们的服务器查询结帐订单ID的状态。

现在问题是我们不知道如何从应用程序本身获取Checkout Order Id。

使用新的应用内购买API,我们可以为每个应用内购买获取Checkout订单ID,但不能购买应用。

1 个答案:

答案 0 :(得分:5)

使用Market Licensing Verification Service确认应用购买的更好解决方案。

此库的目的是让您的应用确认用户是否已实际购买了相关应用。

为了从外部服务器检查事务,您可以使用this blog post上标题“将许可证验证卸载到受信任的服务器”下描述的技术。

实质上,它建议您将ResponseData类中包含的许可证服务器响应的副本及其签名发送到您的在线服务器。然后,您的服务器可以验证用户是否已获得许可。

由于许可证响应是以加密方式签名的,因此您的服务器可以使用存储在Android Market发布者控制台中的公共RSA密钥进行检查,以确保许可证响应未被篡改。