iOS集成微信支付

本文由本人原创发表于博客园,转载请注明出处html

http://www.cnblogs.com/wangqw/p/5091589.htmlsql

 

1、开发前准备服务器

iOS微信支付SDK下载地址微信

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319164&lang=zh_CNapp

2、 集成微信支付微信支付

一、解压WeChatSDK1.6.2_Sample.zip(忽略版本号)(这个是微信支付的Demo)url

 

二、建立个文件夹,找到以下文件,放到文件夹里。便于将文件统一拷入项目spa

 

三、建立项目并将微信支付SDK添加进项目(项目建立再也不演示)3d

 

四、导入系统库(不导入编译不经过会报错)code

SystemConfiguration.framework

libz.tbd 

libsqlite3.0.tbd

CoreTelephony.framework

五、修改info.plist文件

 1 //iOS 9系统策略更新,限制了http协议的访问,此外应用须要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其余应用是否安装。
 2 //受此影响,当你的应用在iOS 9中须要使用微信SDK的相关能力(分享、收藏、支付、登陆等)时,须要在“Info.plist”里增长以下代码:
 3 <key>LSApplicationQueriesSchemes</key>
 4 <array>
 5 <string>weixin</string>
 6 </array>
 7 <key>NSAppTransportSecurity</key>
 8 <dict>
 9 <key>NSAllowsArbitraryLoads</key>
10 <true/>
11 </dict>

六、注册微信支付

1 //导入头文件
2 #import "WXApi.h"
3 #import "WXApiManager.h"

在AppDelegate里

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    return  [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
}

 

七、调用微信支付

#pragma mark -- 微信支付 --
- (void)WeChatPay{
        
        PayReq *req   = [[PayReq alloc] init];
        
        /** 由用户微信号和AppID组成的惟一标识,发送请求时第三方程序必须填写,用于校验微信用户是否换号登陆*/
        req.openID = @"";//服务器返回
        
        /** 商家向财付通申请的商家id */
        req.partnerId = @"";//服务器返回
        
        /** 预支付订单 */
        req.prepayId  = @"";//服务器返回
        
        /** 商家根据财付通文档填写的数据和签名 */
        req.package   = @"";//服务器返回 注意iOS只能是 Sign=WXPay 即req.package = Sign=WXPay
        
        /** 随机串,防重发 */
        req.nonceStr  = @"";//服务器返回
        
        /** 时间戳,防重发 */
        NSString * stamp = @"";//服务器返回
        req.timeStamp = stamp.intValue;
        
        /** 商家根据微信开放平台文档对数据作的签名 */
        req.sign = @"";//服务器返回
        
        // 在支付以前,若是应用没有注册到微信,应该先调用IWXMsg.registerApp将应用注册到微信
        [WXApi registerApp:@""];
        
        //发送请求到微信,等待微信返回onResp
        [WXApi sendReq:req];
    
}
相关文章
相关标签/搜索