iOS集成支付宝
使用支付宝红包或集五福领支付宝通用券 #生活技巧# #省钱技巧# #优惠券领取平台#
转自:http://blog.csdn.net/joonchen111/article/details/48577735
随着移动互联网的快速发展,移动支付也变得越来越火热,在北京的许多超市和饭店里面都写着支付宝支付立减10元,微信支付随机优惠几元;移动支付正在成为这个时代不可阻挡的趋势渐渐充斥在了我们的生活当中,同样在我们的iOS开发中,也有大量的APP需要集成移动支付功能,目前移动支付的主要商家有支付宝、微信支付、银联支付等。当然我们优选的还是支付宝,因为支付宝有着中国最多的用户量,市场占有量高,用户黏性强,而且使用也极其简单,只需要几分钟我们就可以快速的集成到我们的项目当中。
首先呢 我们先于支付宝签约,获得商户ID (partner) 和账号ID (seller) 、还有私匙这些使我们iOS集成支付所需要的, 再去支付宝开放平台(支付宝)下载支付宝的iOS SDK,然后我们把一些相关的类库文件导入到我们的项目当中如下图;我们先导入4个静态库文件到项目中。
导入上面这个4个库文件之后 我们再导入一些类文件,如下图,我标示的2是必须要导入的,因为2是模型数据的名称,1的话可以不导入,因为1这个文件夹里面的文件,是支付宝模拟支付所用到的假数据信息,包括加密的签名(sign)数据等等,这个其实我们的服务器给我们返回的。但是为了做测试我们用这2个文件夹里的文件模拟订单信息和签名信息。
当然,当我们导入上图1文件的时候,会有一些小错误,我只需要在配置的->build setting->Header search paths里面点击加号,添加 $(SRCROOT)/我们的工程名。例如我创建的工程的名字是payDemo,你们写的时候要和你们的工程名字一样,千万别和我的一样,否则会报错的。如下图:
我们再导入以下的系统库文件如下图 ; 除了红框里面的其他的都需要我们导入。
我们再配置下url scheme来回调 我的url schme是thinklion 你们随便自己定义 如下图:
好,需要配置的我们都配置好了,接下来就需要我们写代码了。我们再AppDelegate.m文件中写如下代码:
#import "AppDelegate.h" #import <AlipaySDK/AlipaySDK.h> @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { return YES; } - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) { NSLog(@"result = %@",resultDic); }]; if ([url.host isEqualToString:@"platformapi"]){ [[AlipaySDK defaultService] processAuthResult:url standbyCallback:^(NSDictionary *resultDic) { NSLog(@"result = %@",resultDic); }]; } return YES; } @end
在按钮点击响应的方法来完成支付;
大家注意上述代码的2个地方,代码中订单信息 (orderSpec) 和签名信息(signedString)在实际项目中应该是服务器给我们返回的,而这里是自定义的demo.
//将商品信息拼接成字符串 商品信息也是服务器返回的
NSString *orderSpec = [orderdescription];
//此数据是服务器返回的证书类型
//获取私钥并将商户信息签名,外部商户可以根据情况存放私钥和签名,只需要遵循RSA签名规范,并将签名字符串base64编码和UrlEncode
id<DataSigner> signer =CreateRSADataSigner(privateKey);
//此签名信息是Util和openssl里面的文件生成的数据 其实应该是我们服务器端给我们返回的
NSString *signedString = [signersignString:orderSpec];
当我们点击支付按钮之后,支付宝的库会自动判断你的手机有没有安装支付宝,如果安装了会打开支付宝APP,如果没安装会打开h5的网页来支付。这个是我写的支付宝demo代码欢迎大家下载观看(点击下载) (欢迎大家加入519797474群讨论)
网址:iOS集成支付宝 https://www.yuejiaxmz.com/news/view/1390146
相关内容
iOS集成支付宝支付宝支付集成总结
移动应用集成支付宝支付功能详解
iOS集成三方支付支付宝、微信、银联、Apple Pay
UniApp实现支付宝与微信支付的集成与使用方法
怎么集成支付宝移动支付(支付宝密钥)?
Android支付集成:支付宝、微信支付实现
支付宝移动支付集成教程
支付宝生活号支付集成
Android平台微信与支付宝支付集成教程

