应用内购买促销代码会打破远程服务器验证?

问题描述:

发布应用内购买的促销代码似乎会阻止应用(再次)执行远程服务器购买验证!应用内购买促销代码会打破远程服务器验证?

promo code用于应用程序内购买(PURCHASES_UPDATED广播)时,它将完全绕过购买流程,因此应用程序无法提供用于远程验证的"developerPayload"

后来,当应用程序调用getPurchases()获得/验证所有者的产品,purchase data的促销采购将不包含当然是一个"developerPayload",但既不是"orderId",使用Google Play Developer API远程验证也非常有用。

应用程序如何验证使用促销代码进行的应用内购买?

允许用户通过Google Play商店应用/网站对促销代码进行兑换,从而绕过购买流程,看起来像是一项不应该有的主要监督。

问题报告:

类似的帖子:

+0

简单的解决方法,如果我明白你在问什么:让用户卸载你的应用程序,将促销代码放在Play商店的兑换部分,然后用该功能重新安装应用程序。我假设你将为新用户提供促销代码,所以这将是一个边缘案例问题。 –

这确实是一个来自Google方面的安全问题,所以我会提出一个解决方法。

随着促销代码向用户提供由服务器生成的服务器ID,当获得促销购买时验证服务器ID并接受一次购买。

当使用从市场发送ID与引荐。当从应用程序使用有你自己的逻辑提供服务器ID。

底线没有其他解决方案,但一些如何识别用户与某种形式的ID。