美文网首页
iOS 微信支付/支付宝支付不通过回调回到APP

iOS 微信支付/支付宝支付不通过回调回到APP

作者: 路边的风景呢 | 来源:发表于2022-07-18 15:24 被阅读0次

    可能标题是不是明确我在这里解一下,解决的办法有很多 我只记录一下我使用的方法:

    问题是 :

    1)当用户支付完成以后 没有通过点击支付平台的 “  返回商家 ”  按钮 返回到自己开发的APP。

    2)或者是说 通过后台直接打开APP 。

    3)或者点击左上角的箭头返回到自己的APP。

    以上的情况 是无法监听到第三方平台的支付回调的!所以得想个办法监听!这个时候需要后台来忙了!

    1:让后台写一个查询支付状态的接口!是通过订单号查询的,订单号 是通过后台生成并且返回的!

    2:通过APP提供系统方法进行监听!具体如下:

        1)在发起支付的时候要先生成订单号,把这个订单号保存在本地 (NSUserDefaults)调用 synchronize 保存在本地!

        2)在   AppDelegate   文件里面监听   applicationWillEnterForeground (即将进入前台)这个方法 发送一个通知,然后到支付页面接受这个通知!

        3)一般来说 都是按可以接受到支付回调的思路来判断的,这个时候就需要在 支付回调的方法里面做支付成功的                          后续操作,有一点就是 在收到支付回调之后一定要把保存在本的订单号置为空!

        4)以上都完成之后 ,就到接受到回到前台的通知了  我延迟了3秒 调用后台的查询订单号的接口,并且是 当本地的订单号不为空的情况下去查询的!这就是为什么上面要把订单号置为空的原因了!如果是按正常逻辑走的!就不会去查询订单号的!

        5)还有一点就是 当退出当前控制器的时候,记得把通知移除掉,避免多次支付的时候,有多个通知!

    相关文章

      网友评论

          本文标题:iOS 微信支付/支付宝支付不通过回调回到APP

          本文链接:https://www.haomeiwen.com/subject/krcdirtx.html