首页 > 学院 > 开发设计 > 正文

支付宝支付集成

2019-11-09 18:05:46
字体:
来源:转载
供稿:网友

1 。支付宝支付回调在appdelegate里面,支付成功后再那里做相应处理

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

{

    if ([url.host isEqualToString:@"safepay"]) {

        //跳转支付宝钱包进行支付,处理支付结果

        [[AlipaySDK defaultService]PRocessOrderWithPaymentResult:urlstandbyCallback:^(NSDictionary *resultDic) {

            NSLog(@"result = %@",resultDic);

        }];

    }

//(貌似可以不写 后来经测试发现在支付页面执行的回调)

//友盟分享    BOOL result = [UMSocialSnsServicehandleOpenURL:url];

//    if (result == FALSE) {

//        //调用其他SDK,例如支付宝SDK等(微信支付)

//        return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];

//    }

    return result;

}

// NOTE: 9.0以后使用新API接口

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options

{

    if ([url.host isEqualToString:@"safepay"]) {

        //跳转支付宝钱包进行支付,处理支付结果

        [[AlipaySDK defaultService]processOrderWithPaymentResult:urlstandbyCallback:^(NSDictionary *resultDic) {

            NSLog(@"result = %@",resultDic);

            if ([[resultDic objectForKey:@"resultStatus"]isEqualToString:@"9000"]) {

                

这里用了个通知做相应的页面处理

            //创建一个消息对象

            NSNotification * notice = [NSNotificationnotificationWithName:@"zhifubao" object:nil userInfo:nil];

            //发送消息

            [[NSNotificationCenterdefaultCenter]postNotification:notice];

            }

        }];

    }

    return YES;

}

2 。支付要核对好参数问题,比如parternerID 上次就传错了 提示签名错误,实则签名是没问题的,而是参数错了!

3. . 

 // 应用注册scheme,在当前项目的Info.plist定义URL types

            NSString *appScheme = @"alisdkdemo";

这个参数自己随便设一下就行 不过需要跟下图位置保持一致


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表