在第3版中处理应用内结算退款

tyc*_*czj 18 android in-app-billing

我正在尝试在我的应用程序中实现应用程序内计费,我的购买部分正常,但我如何处理退款?

在该Testing In-App Billing部分下,它表示您必须注意,IN_APP_NOTIFY但当您点击它时,它会带您到v2api,您必须注册广播接收器.在v3但是它给做什么没有信息,或者甚至IN_APP_NOTIFY仍在使用相同的或支持.

示例应用程序也不处理退款,所以我想如何处理退款v3

Nik*_*kov 31

您应该像在v2中一样处理它们:当用户通过Checkout控制台请求退款,取消或退款时.然后应用程序应该在启动时检查购买的状态等,并做正确的事情(通常允许退款购买,拒绝取消).不幸的是,提供的示例并不打扰这样做,因此您必须自己添加它.更不幸的是,由于本地缓存和/或服务器端的错误,购买将在您取消或退款后很长时间内保持在购买状态.通过ATM,你无能为力.

假设您使用的是Trivial Drive示例,您可能希望在应用中添加以下内容:

Purchase purchase = inventory.getPurchase(product);
Log.d(TAG, "Purchase state: " + purchase.getPurchaseState());
// 0 (purchased), 1 (canceled), or 2 (refunded).
if (purchase.getPurchaseState() == 0
     || purchase.getPurchaseState() == 2) {
   showPremiumVersion();
} else {
   showFreeVersion();
}
Run Code Online (Sandbox Code Playgroud)

  • 为什么使用州2(退款)的高级版?除了那个伟大的答案 (7认同)
  • 为了让用户满意:)有人抱怨高级功能X,请求退款.退款,但让他们继续使用它.他们注意到,你在下一个版本中修复X,如果你幸运的话,再给你一些星星吧.(很少像这样,但值得一试). (3认同)
  • @Nikolay Elenkov 同意 - 如果有人想偷它,他可能会找到方法,关心它是浪费时间。 (2认同)