我已多次阅读Android Developer Guide中的所有文档 熟悉好的Google演示文稿Evading Pirates and Stopping Vampires
最后,我尝试根据上面的演示实现涉及我自己的Web服务器的应用内结算方案。 以下是与我的服务器交互的要点:
到目前为止我无法理解的是两件事:
编辑:关于退款(第2点),有一个相关主题Android In-App billing security issues?。 Google Play中没有内置的最终用户功能要求开发者退还应用内购买是否正确?如果是,那么我们可能会在应用程序中实施一个按钮来发送此类退款请求到我们的服务器,包括验证用户凭据等所有必要信息,然后在Google商家帐户和服务器数据库中手动处理退款。
答案 0 :(得分:1)
没有以编程方式申请退款。用户必须通过电子邮件等方式与您联系,您可以在开发者控制台中退款。退款处理完毕后,应用会收到带有新订单状态的已签名PURCHASE_STATE_CHANGED
通知(广播)(已退款)。您可以将此转发到您的服务器进行验证,就像新购买一样,并相应地更改订单状态。你不应该关心nonce被绑定的请求,只需检查它确实是你生成的(Cf. Dungeons示例)。如果您在服务器上执行此操作,通常会搜索数据库以检查先前生成的nonce是否存在。