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

bal*_*zak 46 android promotion-code in-app-billing google-play

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

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

稍后,当应用程序调用getPurchases()来获取/验证所有者产品时,促销购买的购买数据"developerPayload"当然不会包含,但"orderId"对于使用Google Play Developer API进行远程验证也不会有用.

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

允许用户通过Google Play商店应用/网站兑换促销代码,从而绕过购买流程,这似乎是一项无法实现的重大疏忽.

问题报告:

类似帖子:

Ily*_*man 1

这确实是 Google 方面已知的安全问题,因此我将建议一种解决方法。

与促销代码一起向用户提供由您的服务器生成的服务器 ID,在进行促销购买时验证服务器 ID 并仅接受购买一次。

当从市场使用时,请发送带有推荐人的 ID。当从应用程序使用时,有您自己的逻辑来提供服务器 ID。

底线是没有其他解决方案,但可以通过某种 ID 来识别用户。