iOS接入微信支付
来源:互联网 发布:ts中怎么定义一个数组 编辑:程序博客网 时间:2024/04/29 15:59
首先在微信官网上下载最新的sdk,下载的是SDK1.6.2
1、iOS 9系统策略更新,限制了http协议的访问,此外应用需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用是否安装。
受此影响,当你的应用在iOS 9中需要使用微信SDK的相关能力(分享、收藏、支付、登录等)时,需要在“Info.plist”里增加如下代码:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>weixin</string>
</array>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
2、开发者需要在工程中导入 CoreTelephony.framework,SystemConfiguration.framework,libz.dylib,libsqlite3.0.dylib
3,在Build Settings -->Search Paths -->FrameWork Search Paths和Library Search Paths 中的路经是否正确
路经$(PROJECT_DIR)/工程名/路经文件名/sdk文件名
4,在 Info-->URL Tyoes 中添加微信的URL Schemes 就是微信的开发的appId
5,在AppDelegate的didFinishLaunchingWithOptions方法中实现微信注册
[WXApi registerApp:WXAppId withDescription:@"标示名"];
6,服务端返回的签名接入,也是最主要的,若服务端二次签名出错,会出现跳转到微信支付页,只有“确定”按钮
服务端签名字段主要有partnerid prepayid package noncestr timestamp appid 和 key(申请的微信app的key,这个key值存在争议,网上有的二次签名不需要传入,但是我们做的时候不传入会出现上面的问题)
代码如下:
//调起微信支付 PayReq* req = [[PayReq alloc] init]; req.partnerId = responseObject[@"data"][@"partnerid"]; req.prepayId = responseObject[@"data"][@"prepayid"]; req.package = responseObject[@"data"][@"package_"]; req.nonceStr = responseObject[@"data"][@"noncestr"]; req.timeStamp = (UInt32)[responseObject[@"data"][@"timestamp"] integerValue]; req.sign = responseObject[@"data"][@"sign"]; [WXApi sendReq:req];
ps:关于微信支付后,不走回调onResp方法
本人用的是最新版的SDK 1.6.2,因为最新版的SDK 把下面的两个回调方法废弃了,有可能会出现支付完,不走onResp回调方法
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url;
-(BOOL) application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
解决方法,用最新的,如下
-(BOOL)application:(UIApplication*)app openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<NSString *,id> *)options;
- iOS接入微信支付
- iOS微信支付接入
- iOS客户端的微信支付接入
- iOS客户端的微信支付接入
- iOS客户端的微信支付接入
- iOS客户端的微信支付接入
- iOS客户端的微信支付接入
- iOS 接入微信 支付宝 参数设置
- unity接入微信支付-Ios篇
- iOS接入微信支付问题
- Unity接入iOS微信支付
- 支付宝支付接入+微信支付
- iOS 微信支付接入最新的完整流程
- 微信支付接入指南
- Android 微信支付接入
- Android 接入微信支付
- Android 接入微信支付
- java-微信支付接入
- CentOS下找不到eth0设备的解决方法
- log日志级别说明
- React Native学习过程中遇到的坑
- [BZOJ 1798][Ahoi2009]Seq 维护序列seq
- PHP/Java Bridge 构造方法传参
- iOS接入微信支付
- Python安装、集成Eclipse及HelloWorld
- 各种排序算法的性能
- GitHub 上排名前 100 的 Android 开源库进行简单的介绍
- 【easyui】combotree类似combobox模糊查询功能,动态加载数据
- 学习TensorFlow,多层卷积神经网络
- ppt背景
- POJ 1789
- Sql Server 使用脚本对表的列进行操作