bishuihanshan
bishuihanshan
  • 发布:2018-04-16 21:03
  • 更新:2 天前
  • 阅读:589

iap付款时如果用户原来没有设置过付款方式则出错

分类:HTML5+
IAP

使用iap付款时,如果用户原来没有在自己的appleID中设置过付款方式(即AppleID => 付款和送货 =>付款方式为 无),那么在iap付款时,中途会提示去设置付款方式,当用户选择了去设置付款方式的时候,

iap付款流程就提示出错了。

这个出错就是void plus.payment.request(channel, statement, successCB, errorCB)中的errorCB调用的。

请问有谁也遇到过这个问题吗?该如何处理呢?
请帮忙指教,谢谢!
如能解决问题,有酬谢!

2018-04-16 21:03 分享
已邀请:
SDK_骁骑

SDK_骁骑

  • bishuihanshan (作者)

    关于这个函数我也尝试过,我每次获得的result都是空的,就是 [ ],不知道是不是跟我的sandbox环境有关。关于这个我也有几个疑问:
    1. restoreComplateRequest是否需要正式的AppStore版本才能调用,我只是在sandbox环境下使用过,获取结果为空。正式版本还没试过,因为要提交AppStore审核,很麻烦。
    2. 这个函数的那个username是可以有也可以没有是吗,要看付款的时候是否设置是吧,反正设没设这个参数我也都试过了,都不行
    3. 这个函数参数里面没有时间限制,那它获取的结果是用户有史以来所有的购买吗?
    4. 我尝试过都没成功过,我又想看看你们HelloH5+的Iap例子,但是那个提示出错,想捐款也捐不了,想看历史也看不了
    请帮忙看看,谢谢!

    2018-04-20 18:27

  • bishuihanshan (作者)

    HelloH5+ 中Iap出错的截图看我下面的回复

    2018-04-20 18:52

SDK_骁骑

SDK_骁骑

error回调触发的时候具体的错误信息帖出来一下 方便我们排查下问题

  • bishuihanshan (作者)

    谢谢回复。
    我刚才想收一下错误信息的log,但是发现只能在正式AppStore的版本才能重现这个问题,因为正式版本才会真正的调用付款方式进行付款,其他的使用sandbox的,或者testFlight测试,都不会真正付款,所以无所谓付款方式是什么,也不会提示转到系统去设置付款方式。
    这样的话,你们还能想到什么方法去调查吗?或者我还可以怎么做呢?

    2018-04-20 16:42

bishuihanshan

bishuihanshan (作者)

关于这个问题,我再补充一下信息,就是点击继续按钮跳到系统进行付款方式的支付之后,我尝试过支付宝方式:

  1. 原来手机没有安装支付宝的话,通过短信进行支付宝的校验,校验通过之后,会真的付钱出去,但是由于我们的iap流程已经出错中断了(已经通过errorCB返回了),所以我们系统不会知道用户已经付了钱,这样就会导致用户跟我们之间的误解和沟通。
  2. 原来手机有安装支付宝的话,通过支付宝进行设置,这种情况好像又不会真的付钱。

上面两种情况,我各试了两次,没记错的话好像都是这样子。

我不知道这里的原因,供你们参考吧。

谢谢!

bishuihanshan

bishuihanshan (作者)

HelloH5+ 中的Iap出错截屏

bishuihanshan

bishuihanshan (作者)

感谢@DCloud_IOS_XTY 及其他工作人员的热情帮助,这个问题我有些眉目了,我继续看看。谢谢!

koseaider@foxmail.com

koseaider@foxmail.com

@bishuihanshan 您这个问题解决了么?我这儿遇到跟你一模一样的问题。沙盒环境测试因为也不会真正去支付,总不能每次测试还得发一个生产的版本吧?

要回复问题请先登录注册