第三方支付

2016-07-13  本文已影响51人  陪你看日出去

1、支付宝的支付

- (void)aliPay:(Product*)pro
{
    //获取订单编号
    NSString *orderStr = [[AliPayManager shareManager] generateOrderString:pro];
    //进行支付
    [[AliPayManager shareManager] payOrder:orderStr scheme:@"PaymentDemo" complete:^(NSDictionary *resultDict) {
    NSString *statusStr = resultDict[@"resultStatus"];
    if ([statusStr isEqualToString:@"9000"]) {
        NSLog(@"支付成功");
    }
    else if ([statusStr isEqualToString:@"8000"])
    {
        NSLog(@"正在处理");
    }
    else if ([statusStr isEqualToString:@"6001"])
    {
        NSLog(@"用户中途取消支付");
    }
    else if ([statusStr isEqualToString:@"6002"])
    {
        NSLog(@"网络故障支付失败");
    }
    else if ([statusStr isEqualToString: @"4000"])
    {
        NSLog(@"支付失败");
    }
}];

}

2、银联支付

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
//向我们公司自己的服务器发出请求,回调到的responseObject表示的就是服务器返回来的交易流水号,
[manager GET:@"http://101.231.204.84:8091/sim/getacptn" parameters:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
       //交易流水号
       NSString *str = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
       //通过交易流水号发起银联支付
       /**
         *  参数一:交易流水号
         *  参数二:回调的URL scheme
         *  参数三:00表示正式环境,01表示测试环境
         *  参数四:执行代理的对象
         *
         */
        [[UPPaymentControl defaultControl] startPay:str fromScheme:@"PaymentDemo" mode:@"01" viewController:self];
        } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
            
        }];

3、微信支付

//为了模拟微信支付,用另外一个应用作为需要的模拟的服务器,在公司里,这部分是我们自己的服务器
QFHotModel *model = shopArray[0];;
//微信支付是以分为单位的,钱数不用xiaoshud
NSString *orderStr = [NSString stringWithFormat:@"ServerPayDemo://localhost?ordername=%@&price=%@", model.name, @"1"];
//改变字符串的编码
orderStr = [orderStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
//发起请求,使用openURL调起另外一个应用,如果要实现打电话、发短信、发邮件等功能的话同样调用openURL
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:orderStr]];
上一篇下一篇

猜你喜欢

热点阅读