更新记录
- 2019-05-27更新
最新支付宝iOS SDK下载地址 说明图片
一、 开发前准备
iOS 支付宝SDK下载地址:(内含iOS Android 服务端demo及SDK)
https://docs.open.alipay.com/54/104509/
二、 集成支付宝
1、解压支付宝钱包支付接口开发包2.0标准版(iOS 15.0.2).zip(忽略版本号)
2、创建个文件夹,找到如下文件,放到文件夹里。便于将文件统一拷入项目
UIKit.framework
CoreGraphics.framework
Foundation.framework
CoreTelephony.framework
CoreText.framework
libz.tbd
QuartzCore.framework
SystemConfiguration.framework
libc++.tbd
CFNetwork.framework
CoreMotion.framework
5、配置SDK路径
6、应用注册(支付宝支付要用)
7、调用支付宝支付
#import
#import "Order.h"
#import "DataSigner.h"
#import "APAuthV2Info.h"
#pragma mark -- 支付宝支付 --
- (void) aliPay{
/*============================================================================*/
/*=======================需要填写商户app申请的===================================*/
/*============================================================================*/
NSString *partner = @" ";
NSString *seller = @" ";
NSString *privateKey = @" ";
/*============================================================================*/
/*============================================================================*/
/*============================================================================*/
/*
*生成订单信息及签名
*/
//将商品信息赋予AlixPayOrder的成员变量
Order *order = [[Order alloc] init];
order.partner = partner;
order.seller = seller;
order.tradeNO = @"11111"; //订单ID(由商家自行制定)
order.productName = @"支付宝充值测试"; //商品标题
order.productDescription = @"支付宝充值测试"; //商品描述
order.amount = @"10"; //商品价格
order.notifyURL = @"https://www.taobao.com"; //回调URL,具体回调URL由服务端提供(淘宝网地址乱写的)
//固定用法
order.service = @"mobile.securitypay.pay";
order.paymentType = @"1";
order.inputCharset = @"utf-8";
order.itBPay = @"30m";
order.showUrl = @"m.alipay.com";
//应用注册scheme,在Info.plist定义URL types
NSString *appScheme = @"Pay";
//将商品信息拼接成字符串
NSString *orderSpec = [order description];
NSLog(@"orderSpec = %@",orderSpec);
//获取私钥并将商户信息签名,外部商户可以根据情况存放私钥和签名,只需要遵循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) {
NSLog(@"reslut = %@",resultDic);
if([[resultDic valueForKey:@"resultStatus"] integerValue] == 6001){
NSLog(@"您取消了支付");
}
else if ([[resultDic valueForKey:@"resultStatus"] integerValue] == 9000){
}
}];
}
}