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,这两个文件里面的内容大家要本身填写本身的数据。具体如何获取这些数据个人注释写的很明白了。仔细看一下就好。

还有,大家在调用个人支付类目中的方法的同时,要写一个监听,来通知你是否支付成功。这个在个人代码注释里写的很清楚,这里就很少赘述了。

相关文章
相关标签/搜索