android - 服务器上的Google Play应用内购买验证

标签 android in-app-purchase google-play in-app-billing marmalade

因此,如果服务器上的收据验证失败,我真的不知道该怎么办。有没有办法等待服务器验证然后接受将向用户收取费用的交易,并告诉我应该给他消耗品。

我使用了使用IBAHelper的Marmalade扩展名“s3eAndroidGooglePlayBilling”-我在那找到了验证,但我并不真正了解Java,因此在Android Billing v3文档中找不到验证失败后如何取消交易(例如ios inapp购买)。
但是我还需要在服务器端进行验证。

还是我只是在服务器上验证并根据此结果为用户提供消耗品?但这似乎是一个坏主意,因为如果服务器没有响应,则用户已经花了钱,但客户不知道购买是否有效。

注意:不仅是一个果酱问题,更像是我应该在客户端上进行服务器验证以在服务器认为收据无效的情况下不向用户收费(因为我认为我可以修改扩展名并像正常)

注2:服务器端已经实现,如果购买有效或无效,客户端都会收到一条消息,但是我不知道该如何处理客户端给用户硬币并仅在此之后向用户收费(如果购买了有效)。

最佳答案

在s3eAndroidMarketBilling扩展中,有s3eAndroidMarketBillingConfirmNotifications函数。当您收到购买回调时必须调用它。并且此调用将使交易关闭。如果不调用此函数(服务器未响应),则将在功能s3eAndroidMarketBilling回调中获取所有未关闭的事务。而且,如果您将项目与Google Play控件配合使用,则可以使用s3eAndroidMarketBillingRestoreTransactions还原所有用户交易。

关于android - 服务器上的Google Play应用内购买验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19652860/

相关文章:

java - 将 "Native Advanced Ads"放入弹出窗口关闭

Android,存储等待网络连接的http请求的解决方案/库

在应用营销功能中使用 Android 导致 Android 应用崩溃

android - 从主线程调用的 RxAndroid

android - 当在 Google 应用内结算中调用 RESTORE_TRANSACTIONS 时,开发人员有效负载是否会持续存在?

java - 市场计费演示应用程序中未使用的常量 (ACTION_CONFIRM_NOTIFICATION)?

android - paytm付款网关可以正常工作,但是付款成功后不能重定向到应用程序吗?

android - 如何将不同的 firebase 数据库连接到 release/beta/alpha 版本?

android - 新的 Google Play 商店隐私政策要求

java - 如何选择正确的方式来获取Java中的相关上下文?