Android Google Play计费库v2 / v3:如何阻止某人恶意阻止确认并因此退款给他们?

问题描述

我一直在实施Google Play结算库v3,并注意到从v2开始我们必须acknowledge a purchase after granting entitlement to the purchased feature,否则用户将在3天内退款。因此,生命周期本质上类似于:

  1. 用户购买了商品,例如订阅高级帐户。
  2. 客户端应用将购买和签名发送到后端,以便用户有权购买,例如高级帐户。
  3. 后端响应成功,然后我们通过Google Play确认购买已获得授权(否则将退款)。

但是,这让我开始思考,是什么阻止了恶意用户修改APK(甚至阻止了网络通话),从而使确认通话不是 进行的,因此在3天,但仍然享有权利(上述步骤2)。我该如何在应用程序中停止此操作?如果赋予了权利,我如何确保肯定通过了确认?

解决方法

如果未做出确认并且退款3天后,向Google服务器查询的已购买商品将返回一个空列表,因此您将知道他没有资格。

如果用户继续购买同一商品,并由于未得到确认或其他机制而取消该商品,则应触发Google警报,并且该用户的付款方式可能会被撤销。 Google购买系统在服务器级别采用了多种机制来验证购买的真实性。