Google 应用内结算的运营商代扣授权失败
我制作了一个使用谷歌应用内计费的Android应用程序。大多数时候这工作得很好,但有些用户似乎无法通过运营商计费授权。在这种情况下,我会收到一封包含以下文本的电子邮件。
Google order # XXX has been cancelled because carrier billing authorization did
not succeed for your buyer. The buyer was not charged.
我意识到这意味着什么,而且问题不在我这边,但我想知道在这种情况下应用程序中到底发生了什么。订单是否会先通过然后取消?在这种情况下,谷歌和我的应用程序之间的消息流是什么?
I made an Android app that uses the google in-app billing.Most of the time this works just fine, but some users seem to fail the carrier billing authorization. In that case I get an email with the following text.
Google order # XXX has been cancelled because carrier billing authorization did
not succeed for your buyer. The buyer was not charged.
I realize what that means and that the problem is not on my side, but I wonder what exactly happens in that case in the app. Does the order first go through and gets later canceled? What is the message flow in that case between google and my app?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这条消息没有什么不好的。每笔支付交易都包含两个步骤:授权和捕获。在授权步骤中,Google Play 会尝试验证支付工具(在您的情况下是运营商帐户)是否有效并且有足够的资金。如果成功,则给定量的资金将在该支付工具上锁定一段时间。下一步是捕获或取消此授权。捕获意味着资金将被认领并转移到 Google 的帐户中。取消后不会发生汇款。
在您的情况下,第一个授权步骤失败。您通常会在 Google 电子钱包中看到已取消的订单,但用户的银行记录中没有取消的付款交易。如果支付交易在授权步骤失败,则与根本没有交易相同。
你能做什么来解决这个问题?没有什么。这取决于使用什么支付工具以及是否有足够的资金。如果用户使用运营商账户进行支付,且有一定的限制,可能会出现授权失败的情况,但这是正常的。
您的申请涉及吗?是的。系统会通知您付款失败,您不应为该用户启用付费功能。您不需要做任何其他事情。如果用户愿意,他或她将解决问题(例如为其帐户充值)并尝试再次购买。
希望这有帮助。
There is nothing bad in this message. Every payment transaction consists of two steps: authorization and capture. At authorization step Google Play tries to verify that payment instrument (in your case it is carrier account) is valid and there is enough funds there. If it succeed, then given amount of money are locked on that payment instrument for certain time. Next step is to capture or cancel this authorization. Capture means money will be claimed and moved to Google's account. By canceling no money transfer happens.
In your case the very first authorization step failed. You will normally see a cancelled order in the Google Wallet, but there will be no cancelled payment transaction in the bank records of user. If a payment transaction fails at authorization step, this is the same as there were no transaction at all.
What can you do to fix this? Nothing. It depends on what payment instrument is used and if there is enough founds there. If a user uses carrier account for payment with some limitation on it, there can be authorization fail, which is ok.
Is your application involved? Yes. It will be notified, that a payment has failed and you should not enable paid functions for that user. You don't need to do anything else. If user wants to, he or she will fix the issue (e.g top up his/her account) and try to purchase again.
Hope this helps.