iOS微信支付结果页面返回原程序按钮

关于iOS微信支付返回原程序按钮点击处理事件


1:点击右上角的返回App按钮

点击此按钮,走的是正常微信结果回调方法,在onResp中,对于成功或者失败结果进行处理。小生愚笨,采取的是发送通知的方法,在订单支付控制器中接受通知,分别对成功失败的事件进行处理。

2:左上角返回App按钮

如果用户点击此按钮,程序回到支付订单页面,但此时不走微信的结果回调方法,那么此时如何拿到微信支付结果的通知呢?

推荐方法:点击返回App按钮,此时程序走的是在AppDelegate的applicationWillEnterForeground方法,只需要在这个方法里面验证付款的订单号是否已经支付完成。需要自己的后台给出一个接口,来验证此订单的支付结果。

步骤一:在提交订单或者确认订单的页面,将订单号或者订单id存起来(可使用NSUserDefaults),作为验证订单是否支付接口的参数。


步骤二:成功调起微信支付后,添加标识,区分是支付页面的返回事件。

步骤三:在AppDelegate的applicationWillEnterForeground方法里写判断订单是否已经支付,如果此订单已经支付,发送通知给订单支付的页面控制器,在订单支付页面进行相应的页面跳转。PS:最后记得清空NSUserDefaults中的数据。


注释:点击右上角返回App按钮,程序会先走applicationWillEnterForeground,中间会跳回到微信自己的onResp(结果回调方法)。为了避免在WillEnterForeground重复验证订单,可以在处理微信结果的方法中将NSUserDefaults存的订单信息和支付返回的数据清空,或者设置BOOL值来区分。(本文参考了作者paradisery的”iOS-9.0后跳支付左上角返回键解决办法“一文)。本文只是个人愚见,如果有任何问题,欢迎大家指正。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、背景介绍 作为一名Android开发,从最初的跌跌撞撞到现在小有所悟,这其中经历过的辛酸苦辣也是一种痛并快乐着...
    freecats08阅读 10,439评论 7 54
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,955评论 25 709
  • 用橡皮 擦掉素描的泪痕 再画上 黑白的血迹 撕掉梦里只是景色的背景 只留那个孤影 独守心坟 等苔色掩匿了枯骨 再仔...
    _文木_阅读 2,563评论 0 2
  • 大多数恐高就像恐蛇鼠,远不是所谓的症;人立于悬空之处,心慌胆寒;但既然医学已然有定义, 大多数愿意升级为“症 “ ...
    白蓝小城阅读 1,688评论 0 0
  • 测试
    谭tam阅读 1,202评论 0 0

友情链接更多精彩内容