1.下载支付宝SDK内涵demo
2.在demo里面找到
3.新建文本后导入到工程中
4.新建pch文件 导入foundation框架
5.在target中build setting 中找到header search path 加入导入文件路径
6.导入以下框架
7.登录支付宝开放平台 创建应用 找到 合作者id 2088802709****** RSA加密
8.新建文件夹 生成私钥 打开命令 cd到文件夹目录下
```
openssl genrsa -out rsa_private_key.pem 1024
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt
```
获取中间私钥
```
lengwuju$ openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
```
打开文件夹 用记事本打开公钥证书,获取公钥
上传到支付宝
9.xcode
`1》设置bound id
`2》代码
1>设置三个合作者id 私钥 卖家id
2>生成订单信息
3>私钥签名
4>拼接订单字符串
5>发送定案请求
```
//订单的数据模型
#import"Order.h"
//生成加密对象
#import"DataSigner.h"
//支付宝库
#import
/******跳转方法中*******/
//合作者id
NSString*parteid =@"合作者id";
//卖家的支付宝账号
NSString*seller =@"卖家账号";
//私钥
NSString*private =@"私钥";
//生成订单信息
Order*order = [[Orderalloc]init];
if([sellerlength] ==0|| [privatelength] ==0|| [parteidlength] ==0) {
return;
}
//支付的四要素
order.partner= parteid;
order.sellerID= seller;
//3.订单号
order.outTradeNO=@"123145613";
//4.金额
order.totalFee=@"1.00";
//支付必要参数
//接口名称,固定为mobile.securitypay.pay。
order.service=@"mobile.securitypay.pay";
//编码格式
//商户网站使用的编码格式,固定为utf-8。
order.inputCharset=@"utf-8";
//回调格式
order.notifyURL=@"www.xxx.com";
//签名
//1.将所有商品信息拼接成字符串等待加密
NSString*orderSpec = order.description;
//2.使用RSA加密
idsigner =CreateRSADataSigner(private);
//加密后的订单信息
NSString*signerStr = [signersignString:orderSpec];
//生成一个订单字符串
NSString*orderStr =nil;
if(signer) {
orderStr = [NSStringstringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",
orderSpec, signerStr,@"RSA"];
}
//开始支付
[[AlipaySDKdefaultService]payOrder:orderStrfromScheme:@"mypay"callback:^(NSDictionary*resultDic) {
NSLog(@"返回结果==%@",resultDic);
}];
6>在appdelegate处理订单回调信息
- (BOOL)application:(UIApplication*)application
openURL:(NSURL*)url
sourceApplication:(NSString*)sourceApplication
annotation:(id)annotation {
if([url.hostisEqualToString:@"safepay"]) {
//跳转支付宝钱包进行支付,处理支付结果
[[AlipaySDKdefaultService]processOrderWithPaymentResult:urlstandbyCallback:^(NSDictionary*resultDic) {
NSLog(@"result = %@",resultDic);
}];
}
returnYES;
}
```
```
// NOTE: 9.0以后使用新API接口
- (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary *)options
{
if([url.hostisEqualToString:@"safepay"]) {
//跳转支付宝钱包进行支付,处理支付结果
[[AlipaySDKdefaultService]processOrderWithPaymentResult:urlstandbyCallback:^(NSDictionary*resultDic) {
NSLog(@"result = %@",resultDic);
}];
}
returnYES;
}
```
10.在 info - ueltype 设置返回标示
网友评论