您的位置:首页 > 移动开发 > IOS开发

iOS开发 支付宝支付 包看包会

2017-03-06 15:49 176 查看
到这里下载SDK   
https://doc.open.alipay.com/doc2/detail.htm?treeId=54&articleId=104509&docType=1
Appdelegate.m

#pragma mark - 支付宝回调
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*,id> *)options
{
if ([url.hostisEqualToString:@"safepay"]) {
// 支付跳转支付宝钱包进行支付,处理支付结果
[[AlipaySDKdefaultService] processOrderWithPaymentResult:urlstandbyCallback:^(NSDictionary *resultDic) {

if ([resultDic[@"resultCode"]isEqualToString:@"6001"]) {
//取消
}elseif ([resultDic[@"resultCode"]isEqualToString:@"4000"]) {
//订单支付失败
}elseif ([resultDic[@"resultCode"]isEqualToString:@"6002"]) {
//网络连接出错
}if ([resultDic[@"resultCode"]isEqualToString:@"9000"]) {
[[NSNotificationCenterdefaultCenter]postNotificationName:ALIPAYORDERPAYRESULTobject:SUCCESS];
//支付成功
}
}];
}
return YES;
}

调起支付宝有两种方法 这里我介绍一种方法    payUrlOrder 是包含了商品各种信息的url  (后台返回,把商品信息,id,价钱等传给他会返回)  fromScheme 项目的Bundle Id

[[AlipaySDKdefaultService] payUrlOrder:urlfromScheme:urlScheme callback:^(NSDictionary *resultDic) {

//这里判断是手机没有安装支付宝 调起网页支付就会走这里 如果安装会走appdelegate.m的回调
if ([resultDic[@"resultCode"]isEqualToString:@"6001"]) {
//取消
}elseif ([resultDic[@"resultCode"]isEqualToString:@"4000"]) {
[SVProgressHUDshowErrorWithStatus:@"订单支付失败"];
}elseif ([resultDic[@"resultCode"]isEqualToString:@"6002"]) {
[SVProgressHUDshowErrorWithStatus:@"网络连接出错"];
}if ([resultDic[@"resultCode"]isEqualToString:@"9000"]) {
[self.navigationControllerpopViewControllerAnimated:YES];
[SVProgressHUDshowSuccessWithStatus:@"订单支付成功"];
[selfgetUserInfomation];
}
}];


//这里判断是手机没有安装支付宝 调起网页支付就会走这里 如果安装会走appdelegate.m的回调
if ([resultDic[@"resultCode"]isEqualToString:@"6001"]) {
//取消
}elseif ([resultDic[@"resultCode"]isEqualToString:@"4000"]) {
[SVProgressHUDshowErrorWithStatus:@"订单支付失败"];
}elseif ([resultDic[@"resultCode"]isEqualToString:@"6002"]) {
[SVProgressHUDshowErrorWithStatus:@"网络连接出错"];
}if ([resultDic[@"resultCode"]isEqualToString:@"9000"]) {
[self.navigationControllerpopViewControllerAnimated:YES];
[SVProgressHUDshowSuccessWithStatus:@"订单支付成功"];
[selfgetUserInfomation];
}
}];

相应的 支付宝走了回调后  发送通知  在  支付VC接收 进行各种操作就可以了

支付宝不涉及到系统左上角返回的坑

//完   如果有问题欢迎留言  谢谢大家支持
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息