如何处理来自Google Play的待定购买 [英] How to handle pending purchases from Google Play

查看:25
本文介绍了如何处理来自Google Play的待定购买的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们的大部分购买在3天30分钟后一直被取消,我想这是等待购买状态的结果。然而,关于如何准确处理待定购买的文档非常少。而且,由于某些原因,即使我自己是一名测试员,我也不能测试它,因为在购买方式上没有"慢卡"选项。而且,我们没有后端服务器来备份我们。

这是我从官方文档中找到的解释:

void handlePurchase(Purchase purchase) {
    if (purchase.getPurchaseState() == PurchaseState.PURCHASED) {
        // Acknowledge purchase and grant the item to the user
    } else if (purchase.getPurchaseState() == PurchaseState.PENDING) {
        // Here you can confirm to the user that they've started the pending
        // purchase, and to complete it, they should follow instructions that
        // are given to them. You can also choose to remind the user in the
        // future to complete the purchase if you detect that it is still
        // pending.
    }
}

查看有关挂起状态的说明。"为了完成购买,他们应该遵循给他们的说明"是什么意思?这些说明到底是什么?我们需要将用户重定向到Google Play还是其他什么?它没有具体说明要做什么,让我很苦恼,因为购买被无缘无故地取消了,或者是因为这个原因。如何完成待定的购买?它什么都没有,或者我找不到它,所以我最终来到了这里。

我希望你能帮我解决这个问题。谢谢。

推荐答案

我同意文档很差,特别是当你在处理别人的钱时,你想知道到底发生了什么!

看起来‘慢卡’交易实际上是‘待购’,这是谷歌在2019年rolling out一直在做的事情。这是可能的流程.

  • 在您的应用程序中,用户点击"立即购买"
  • 他们看到Google结账覆盖
  • 他们选择"在阿克拉的Freddina‘s Grocery付款"(一家当地商店,签约处理谷歌的待定购买事宜)
  • Google Check Out显示要向Freddina显示的代码
  • 用户以现金向Freddina支付,Freddina使用该代码处理付款
  • 大约10分钟后,购买更新将登陆您的应用程序

至于处理不可预测的定时更新事件,我们有一个带有handlePurchaseUpdated方法的应用程序,它从应用程序启动的那一刻开始监听,并根据它附带的Purchase对象进行更改。下面是一个流程示例:

  • 应用程序一启动,我们就会监听购买更新
  • 用户购买速度较慢
  • 我们获得采购更新
  • 传递的Purchase对象采购状态待定
  • 我们告诉用户购买完成后会通知他们
  • 在将来的某个时候(例如,应用重启后的第二天),购买更新将进入
  • 如果现在采购状态为已采购,我们将最终确定采购并告诉用户

注意:我们的是ReactNative应用程序,不是Native Java,但流程应该是相同的。

它的实现很复杂,因为您必须选择您的时间进行购买更改,并在有意义的时间显示购买结果,而不一定是在购买更新在启动后5秒(或任何其他奇怪的时间)到达时。而且,如果您的授权或确认步骤中出现错误,情况会变得更加复杂。

另外,您可能看不到"Slow Card"测试仪选项,因为您没有allow it

这篇关于如何处理来自Google Play的待定购买的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆