1.官方网站:支付宝App支付iOS集成流程详解。
链接如下:
https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.QZIEY4&treeId=193&articleId=105295&docType=1
2.aliPay支付完成回调后的操作(可能是跳转到支付详情页面;也可能是其它的操作;根据项目需求进行调整):
1)在AppDelegate.m会添加支付宝这两个回调方法
-
(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) {
//回调后的操作,产品需求进行定义怎么操作.
//操作的实现方案:目前有两个方案。
1.方案:可以用delegate实现。
2.方案:可以添加NSNotificationCenter实现。
我实现的方案是添加NSNotificationCenter实现的;
delegate实现,没有尝试。
[[NSNotificationCenter defaultCenter]postNotificationName:@"aliPayReslut" object:nil userInfo:resultDic];
DLog(@"result === %@",resultDic);}];
}
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) {
[[NSNotificationCenter defaultCenter]postNotificationName:@"aliPayReslut" object:nil userInfo:resultDic];
DLog(@"result === %@",resultDic);
}];
}
return YES;
}
2)在当前的支付页面,添加NSNotificationCenter,并实现NSNotificationCenter的方法
3)通知方法里面添加你需要的操作。
(1)这个操作可能是push到下一个页面或者是modal方式;
(2)根据项目需求进行调整。