IOS集成微信支付或者支付寶支付功能小結

第一,你須要有微信開發平臺的開發者帳號,(網址https://open.weixin.qq.com/,或者自行百度「微信open」,支付寶支付同理,下同),並將你要集成的應用在你的開發者帳號中註冊,並獲取支付權限(通常這步不須要程序員考慮,都是客戶本身獲取的,你只須要知道,沒有支付權限的應用,不能夠集成支付)。



第二,註冊完你的應用,經過審覈以後,你會得到開放平臺給你發放屬於這個應用的AppID和AppSecret



第三,在開發平臺的資源中心(或者叫文檔中心,SDK中心什麼的),下載IOS的SDK(文檔也能夠下載下來方便查閱)。我此次的Demo是以前集成過ShareSDK的分享和第三方登陸,因此直接用的ShareSDK中的微信SDK。

(ps,這裏以前網友有過用ShareSDK中的微信SDK不支持支付功能,我這裏是能夠支付的,應該是Mob集成好了,若是你下載的不能用的話,能夠去微信官方下載官方的SDK,10M左右的樣子,把ShareSDK中的微信SDK替換掉,替換的時候要注意,不能只替換文件,要看好工程中Target選項卡里的文件路徑是否刪除了舊文件路徑,不然的話可能舊文件路徑會覆蓋新文件路徑,致使替換沒有效果或者崩潰。)c++

第四,將下載好的SDK拷貝到工程文件夾中,而後再工程中AddFilesTo「你的工程」,



(這裏注意,Add的時候要勾選CopyItemsIfNeeed,不然可能會出現找不到路徑這種煩人的錯誤)程序員

第五,配置你的工程。

1.添加系統依賴庫,(這裏我用了ShareSDK,因此也連Share必須的系統庫也一併添加了),方法—點擊工程名—Target—BuildPhases—Link Binary With Libraries—點擊+號搜索你須要的系統庫,並添加sql



SystemConfiguration.framework微信

QuartzCore.framework微信開發

CoreTelephony.frameworkapp

libicucore.dylib(ps,這裏由於可能你的Xcode是Xcode7,因此這裏的.dylib可能會在你的系統庫裏顯示.tbd)正常添加就好微信支付

libz.1.2.5.dylibui

Security.frameworkurl

JavaScriptCore.frameworkspa

libstdc++.dylib

CoreText.framework

libsqlite3.dylib

ImageIO.framework (shareSDK新浪必須依賴庫)

AdSupport.framework(shareSDK新浪必須依賴庫)

2.配置工程的URL Types中的URL Schemes,

這個URL Schemes是用來調起第三方客戶端支付或分享或受權以後回到你的程序的標識

方法:點擊工程名—Target—Info—URL Types—點擊+號,在URL Schemes欄中填入你在第二步中獲取到的APPID(圖見上一步,本身找一下info選項卡)

3.若是是Xcode7須要在Info.Plist文件中加入字段LSApplicationQueriesSchemes,爲Array類型,而後在裏面添加兩個小選項,分別爲weixin和wechat(Xcode7http請求適配Xcode7的問ti請自行百度)



第6、開始寫代碼了!

1.將Demo中的WXPay文件夾拷貝到工程文件夾中,而後Add到工程目錄

2.在AppDelegate.h中#import相關頭文件,在AppDelegate.m文件中的application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions

方法中添加[WXApi registerApp:APP_ID withDescription:@"demo 2.0"];(這裏的APPID就是你第二步獲取的APPID,通常建議寫成宏。@「demo2.0」不須要修改),個人demo裏在這個方法裏還註冊了shareSDK,但願你們不要有疑惑。

3.在AppDelegate.m中加入這兩個方法:

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url;

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;

具體方法裏的代碼如何書寫請看Demo中的註釋。

4.配置完AppDelegate文件以後,向你的工程中拷貝入Demo中的UIViewController+WeChatAndAliPayMethod類目,並Add到工程中,

在你須要用到支付的頁面引用這個類目。(詳情請見Demo的ViewController頁面方法和代碼,仔細觀看註釋和理解代碼以後微信支付的集成就完成了)

PS.支付寶集成和微信支付集成大同小異,若是你集成了微信支付,你會發現支付寶集成更簡單。

第一步,將支付寶支付的SDK拷貝到工程文件夾中,而後Add到工程目錄,

(ps。這裏注意一下,我demo裏ThirdParty下的AliPay那些文件都是須要你在這一步拷貝的東西。)



尤爲是openssl和Util還有那兩個.a文件。由於支付寶的開發文檔寫的實在是不怎麼樣,亂七八糟的,都沒有直接給你要添加的SDK包,這些東西都是從官方的demo裏抽出來的。具體大家能夠下載官方demo看一看。

第二步、Add完SDK包以後,引入所需的系統庫。調用UIViewController+WeChatAndAliPayMethod這個類目中的支付寶支付方法便可。(注意看我Demo中的代碼和註釋)


PS。若是你在集成支付寶的時候可能會遇到<openssl/xxx.h>not found的錯誤,(你平時用別的SDK的時候也可能會遇到),這通常狀況是Xcode找不到這些文件的路徑。在這裏,你能夠在Targets中的BuildSettings中的Header Search Paths選項卡中添加openssl的路徑。(這裏注意,你能夠直接將文件夾直接拖進去,可是這時候你會發現路徑是帶雙引號」」的,必定要刪除左右的雙引號才能夠)

重點:Demo裏有兩個存放關鍵幾個宏的文件,payRequsesrHandler.h和AliPayNeedDEF.h,這兩個文件裏面的內容大家要本身填寫本身的數據。具體如何獲取這些數據個人註釋寫的很明白了。仔細看一下就好。

還有,大家在調用個人支付類目中的方法的同時,要寫一個監聽,來通知你是否支付成功。這個在個人代碼註釋裏寫的很清楚,這裏就很少贅述了。

相關文章
相關標籤/搜索