每日更新关注: 新浪微博
如今的支付方式一般有三种, 支付宝, 微信, 网银. 个人认为最简单易用的还是支付宝, 微信尽管看起来币支付宝要简单,可是后端太麻烦了, 网银就不说了.
先放出官方文档,免得还有人找不到文档:环境搭建
-
下载AliPayDK,官方链接,更新时间:2016/01/28 :
假设下载失败,请换个浏览器(至少我用QQ浏览器没有下载成功) -
所需文件导入
1.按下面路径~/支付宝钱包支付接口开发包2.0标准版(20160120)/DEMO/clientdemo/支付宝钱包支付接口开发包2.0标准版(iOS 15.0.6)
找到库文件AlipaySDK.framework和资源包AlipaySDK.bundle拖入到你的project中, 2.AliSDKDemo中libcrypto.a和libssl.a导入到你的project 3.~/AliSDKDemo/AliSDKDemo下的openssl目录,Util目录,Order.h,Order.m拖入project 4.导入下面库 假设是Xcode 7.0之后的版本号,须要加入libc++.tbd、libz.tbd; 假设是Xcode 7.0之前的版本号,须要加入libc++.dylib、libz.dylib -
project设置改动
-
每日更新关注: 新浪微博
1.info.plist配置 假设是iOS9.0之后(Xcode7.0)在info.plist中添加下面字典 (也能够单独配置,有须要的请看官方文档)
设置Schemes
在info下 URL Types设置你的Schemes2.Build Settings配置
以keyword“search”搜索,对“Header Search Paths”添加头文件路径:$(SRCROOT)/项目名称3.这时候编译会报错,错误信息是
Cannot find interface declaration for 'NSObject', superclass of 'Base64'
那么须要打开报错了的文件,添加头文件。 import <Foundation/Foundation.h>
再编译,就ok了 每日更新关注: 新浪微博
iOS开发人员交流QQ群: 446310206
支付信息配置
在须要支付的文件里导入头文件
#import #import "DataSigner.h"#import "Order.h"
配置订单信息
这些都是演示样例信息,这些事不能完毕支付的,要以实际信息为准才干完毕支付//商户ID NSString *partner = @""; //收款账户 NSString *seller = @""; //私钥 NSString *privateKey = @""; if (partner.length == 0 || seller.length ==0 || privateKey.length == 0) { UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"提示" message:@"缺少partner或者seller或者私钥。" preferredStyle:(UIAlertControllerStyleAlert)]; UIAlertAction *action = [UIAlertAction actionWithTitle:@"确定" style:(UIAlertActionStyleDefault) handler:nil]; [alert addAction:action]; [self presentViewController:alert animated:YES completion:nil]; } //订单类 Order *order = [[Order alloc]init]; order.partner = partner; order.seller = seller; order.tradeNO = @"234927348";//订单号 order.productName = @"商品名称"; order.productDescription = @"商品描写叙述"; order.amount = [NSString stringWithFormat:@"%.2f", 0.01];//价格 order.notifyURL = @"http://blog.csdn.net/fish_yan_?viewmode=list"; //回调网址 order.service = @"mobile.securitypay.pay"; order.paymentType = @"1"; order.inputCharset = @"utf-8"; order.itBPay = @"30m"; order.showUrl = @"m.alipay.com"; NSString *appScheme = @"xueyan"; //将商品信息拼接成字符串 NSString *orderSpec = [order description]; //获取私钥并将商户信息签名,外部商户能够依据情况存放私钥和签名,仅仅须要遵循RSA签名规范,并将签名字符串base64编码和UrlEncode id signer = CreateRSADataSigner(privateKey); NSString *signedString = [signer signString:orderSpec]; //将签名成功字符串格式化为订单字符串,请严格依照该格式 NSString *orderString = nil; if (signedString != nil) { orderString = [ NSString stringWithFormat:@ "%@&sign=\"%@\"&sign_type=\"%@\"", orderSpec, signedString, @ "RSA"]; [[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^( NSDictionary *resultDic) { //【callback处理支付结果】 NSLog(@ "reslut = %@",resultDic); }]; }
就这么多,假设手机装有支付宝client, 则直接调用client,假设没有client则调用网页版
每日更新关注: 新浪微博
每日更新关注: 新浪微博
上一版本号支付宝支付博文具体解释: