博客> iOS微信支付集成中遇到的问题及解决方案
iOS微信支付集成中遇到的问题及解决方案
2小时前 评论:0 阅读:707 LiuC890623
ios 微信支付

1、微信支付遇到的问题:iOS跳转到微信支付页面中间只有一个确定按钮。  IMG_3411.PNG

2、坑点:APP端调用微信支付时的签名参数sign不能直接使用统一下单接口返回的sign,需要重新生成。

3、APP支付业务流程【微信支付·商户平台开发文档】 以下是交互时序图,统一下单API、支付结果通知API和查询订单API等都涉及签名过程,调用都必须在商户服务器端完成。如图所示。  8DE8D63C-2A11-4ACD-8DC6-342DA31FDAB7.png

商户系统和微信支付系统主要交互说明: 步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。 步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。参见【统一下单API】。 步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay 步骤4:商户APP调起微信支付。api参见本章节【app端开发步骤说明】 步骤5:商户后台接收支付通知。api参见【支付结果通知API】 步骤6:商户后台查询支付结果。,api参见【查询订单API】

4、注册AppId //向微信注册wxd930ea5d5a258f4f [WXApi registerApp:@"wxb4ba3c02aa476ea1" withDescription:@"demo 2.0"]; [WXApi registerApp:@"wxb4ba3c02aa476ea1"];

5、调起支付 (1)Demo调起方式  屏幕快照 2016-06-13 下午4.33.50.png (2)公司项目调起方式  屏幕快照 2016-06-13 下午5.38.22.png

注意:问题就出在sign,不能直接使用统一下单返回的sign,需要重新生成!  866F3E0C-F87E-439A-899F-92029C32411C.png

可以在客户端生成sign,也可以在服务端生成,但是最好在服务端生成。 客户端生成代码如下所示(感谢Lonely__ 分享的解决方案):  EA997EE5-64CC-4FA8-A807-2D8107683366.png

首先是客户端自测调通,然后依据该方案让服务端进行处理、调试,最终成功填此坑。

解决问题过程中查阅到的资料: 1、iOS微信支付的那些坑 http://www.jianshu.com/p/0dc20b89330d 2、最近微信APP支付遇到的一些坑 http://cnodejs.org/topic/550b8f223135610a365b03a0

收藏
0
sina weixin mail 回到顶部