首页 > iOS 微信支付没有跳到微信支付页面

iOS 微信支付没有跳到微信支付页面

 PayReq *request = [[PayReq alloc]init];
        request.partnerId = WECHAT_MCH_ID;
        request.prepayId = [responseObject objectForKey:@"prepay_id"];
        request.package = @"Sign=WXPay";
        request.openID = WECHAT_APP_ID;
        request.nonceStr = [self md5:[NSString stringWithFormat:@"%d", arc4random() % 10000]];
        request.timeStamp = [[NSString stringWithFormat:@"%.0f", [[NSDate date] timeIntervalSince1970]] integerValue];

        //构造参数列表
        NSMutableDictionary *params = [NSMutableDictionary dictionary];
        [params setObject:WECHAT_APP_ID forKey:@"appid"];
        [params setObject:request.nonceStr forKey:@"noncestr"];
        [params setObject:request.package forKey:@"package"];
        [params setObject:request.partnerId forKey:@"partnerid"];
        [params setObject:request.prepayId forKey:@"prepayid"];
        [params setObject:[NSString stringWithFormat:@"%.0f", [[NSDate date] timeIntervalSince1970]] forKey:@"timestamp"];

        request.sign = [self createMd5Sign:params];
        [WXApi sendReq:request];

+(NSString*) createMd5Sign:(NSMutableDictionary*)dict
{
    NSMutableString *contentString  =[NSMutableString string];
    NSArray *keys = [dict allKeys];
    //按字母顺序排序
    NSArray *sortedArray = [keys sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
        return [obj1 compare:obj2 options:NSNumericSearch];
    }];
    //拼接字符串
    for (NSString *categoryId in sortedArray) {
        if (   ![[dict objectForKey:categoryId] isEqualToString:@""]
            && ![categoryId isEqualToString:@"sign"]
            && ![categoryId isEqualToString:@"key"]
            )
        {
            [contentString appendFormat:@"%@=%@&", categoryId, [dict objectForKey:categoryId]];
        }

    }
    //添加key字段
    [contentString appendFormat:@"key=%@", WECHAT_APP_KEY];
    //得到MD5 sign签名

    NS_APPDebugLog(@" contentString : %@", contentString);

    NSString *md5Sign =[self md5:contentString];
    return md5Sign;
}

无法实现页面跳转,有知道什么原因的么


我也遇到一样的问题了了。 楼主解决了没啊~ 求经验


楼上您好,我的问题解决了,是因为这部分代码用到了c语言部分,在oc里面用到了c语言的文件后缀名要改为.mm后缀,我把这部分代码所在的文件名后缀改为.mm结尾之后就可以调用微信,也能支付和回调了,希望我的解答对你有所帮助。


代码看上去没问题,看看log吧,或者你是不是用ios9测试版?


楼主问题解决了吗?我现在也遇到了和你相同的问题,请指导啊,289566485,我qq,跪谢啊

【热门文章】
【热门文章】