关闭

iOS微信支付

67人阅读 评论(0) 收藏 举报

- (NSString *)jumpToBizPay

{

    //============================================================

    // V3&V4支付流程实现

    // 注意:参数配置请查看服务器端Demo

    // 更新时间:20151120

    //============================================================

    NSString *urlString = @"http://wxpay.weixin.qq.com/pub_v2/app/app_pay.php?plat=ios";

    //解析服务端返回json数据

    NSError *error;

    //加载一个NSURL对象

    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];

    //将请求的url数据放到NSData对象中

    NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

    if ( response != nil)

    {

        NSMutableDictionary *dict = NULL;

        //IOS5自带解析类NSJSONSerializationresponse中解析出数据放到字典中

        dict = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error];

        

        NSLog(@"url:%@",urlString);

        if(dict != nil){

            NSMutableString *retcode = [dict objectForKey:@"retcode"];

            if (retcode.intValue == 0){

                NSMutableString *stamp = [dict objectForKey:@"timestamp"];

                

                //调起微信支付

                PayReq* req = [[PayReq alloc] init];

                req.partnerId = [dict objectForKey:@"partnerid"];

                req.prepayId = [dict objectForKey:@"prepayid"];

                req.nonceStr = [dict objectForKey:@"noncestr"];

                req.timeStamp = stamp.intValue;

                req.package = [dict objectForKey:@"package"];

                req.sign = [dict objectForKey:@"sign"];

                //判断是否支持微信支付

                BOOL bs = [WXApi isWXAppSupportApi];

                if (bs)

                {

                    BOOL isOK = [WXApi sendReq:req];

                    if (isOK)

                    {

                        CLog(@"调用微信支付成功");

                    }else{

                        CLog(@"调用微信支付失败");

                    }

                }else{

                    CLog(@"微信版本过低,不支持支付");

                }

                

                //日志输出

                CLog(@"appid=%@\npartid=%@\nprepayid=%@\nnoncestr=%@\ntimestamp=%ld\npackage=%@\nsign=%@",[dict objectForKey:@"appid"],req.partnerId,req.prepayId,req.nonceStr,(long)req.timeStamp,req.package,req.sign );

                return @"";

            }else{

                return [dict objectForKey:@"retmsg"];

            }

        }else{

            return @"服务器返回错误,未获取到json对象";

        }

    }else{

        return @"服务器返回错误";

    }

}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8907次
    • 积分:670
    • 等级:
    • 排名:千里之外
    • 原创:61篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类