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];
    
}
相關文章
相關標籤/搜索