第一步:https://docs.open.alipay.com/54/104509来到这下载支付宝的示例Demo
image.png
第二步:打开示例Demo找到这几个文件拷贝放到桌面
Snip20180315_4.png
第三步:建一个Demo
3.1先把刚才拷贝出来的文件添加进工程
AlipaySDK.bundle
AlipaySDK.framework
3.2导入依赖库
Snip20180315_5.png
3.3把俩个.a文件加入库中
Snip20180315_6.png
3.4把openssl和Utils两个文件夹加入到项目中
这里注意要这样加入这两个文件
1025776-042b20e49de65d9b.gif
Snip20180315_7.png
否则容易报下面这个错误
Snip20180315_8.png
如果还是报这个错,那就这样
Snip20180315_9.png
3.4把下载的示例代码的几个文件拖入到项目中
Snip20180315_10.png
3.5.别忘记了把在info.plist中加上这个
Snip20180315_11.png
总于到代码了
1.在AppDelegate.m中导入头文件#import <AlipaySDK/AlipaySDK.h>添加如下代码
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if ([url.host isEqualToString:@"safepay"]) {
// 支付跳转支付宝钱包进行支付,处理支付结果
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
}];
// 授权跳转支付宝钱包进行支付,处理支付结果
[[AlipaySDK defaultService] processAuth_V2Result:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
// 解析 auth code
NSString *result = resultDic[@"result"];
NSString *authCode = nil;
if (result.length>0) {
NSArray *resultArr = [result componentsSeparatedByString:@"&"];
for (NSString *subResult in resultArr) {
if (subResult.length > 10 && [subResult hasPrefix:@"auth_code="]) {
authCode = [subResult substringFromIndex:10];
break;
}
}
}
NSLog(@"授权结果 authCode = %@", authCode?:@"");
}];
}
return YES;
}
// NOTE: 9.0以后使用新API接口
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{
if ([url.host isEqualToString:@"safepay"]) {
// 支付跳转支付宝钱包进行支付,处理支付结果
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
}];
// 授权跳转支付宝钱包进行支付,处理支付结果
[[AlipaySDK defaultService] processAuth_V2Result:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
// 解析 auth code
NSString *result = resultDic[@"result"];
NSString *authCode = nil;
if (result.length>0) {
NSArray *resultArr = [result componentsSeparatedByString:@"&"];
for (NSString *subResult in resultArr) {
if (subResult.length > 10 && [subResult hasPrefix:@"auth_code="]) {
authCode = [subResult substringFromIndex:10];
break;
}
}
}
NSLog(@"授权结果 authCode = %@", authCode?:@"");
}];
}
return YES;
}
在需要支付的地方
导入头文件
import <AlipaySDK/AlipaySDK.h>
这里的aliPay 就是调起支付宝支付
- (void)aliPay
{
NSString *appScheme = @"app.haha.2018.3.15";
// NOTE: 调用支付结果开始支付
[[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {
NSLog(@"reslut = %@",resultDic);
}];
}
特别注意⚠️这里的appScheme要设置为一样,因为支付后,要回到原来的应用程序,必须要对应一样
Snip20180315_17.png
结果如下
Snip20180315_15.png












网友评论