#pragma mark - 使用微信支付订阅(提问)
- (void)makePayWeChatPayRequest:(NSDictionary *)productInfo baseHttpBoolBlock:(BaseHttpBoolBlock)baseHttpBoolBlock{
    
    NSString *money = productInfo[@"money"];
    
    //创建支付签名对象
    payRequsestHandler *req = [[payRequsestHandler alloc]init];
    //初始化支付签名对象
    [req init:APP_ID mch_id:MCH_ID];
    //设置密钥
    [req setKey:PARTNER_ID];
    
    //获取到实际调起微信支付的参数后,在app端调起支付
    NSMutableDictionary *dict = [req sendPay_demoWithMoney:money isCharge:NO];
    // 传回的订单号
    NSString *orderStr        = [req getOrderStr];
    
    ZJLog(@"tradeOrderStr==============%@",orderStr);
    
    NSMutableDictionary *orderDict = [[NSMutableDictionary alloc] initWithDictionary:productInfo];
    NSDictionary *tempDic = [NSDictionary dictionaryWithObjectsAndKeys:orderStr,@"tradeNO", nil];
    [orderDict addEntriesFromDictionary:tempDic];
    ZJLog(@"支付宝订阅支付参数 = %@",orderDict);
    NSDictionary *parmasDic = (NSDictionary *)orderDict;
    
    
    if(dict == nil){
        //错误提示
        [SVProgressHUDManager showErrorWithStatus:@"系统繁忙,稍后再试"];
        if(baseHttpBoolBlock) baseHttpBoolBlock(NO,nil,1,@"系统繁忙,稍后再试");
        
    }else{
        ZJLog(@"==%@\n\n",[req getDebugifo]);
        //        NSString *wxOpenId = [dict objectForKey:@"appid"];
        NSMutableString *stamp  = [dict objectForKey:@"timestamp"];
        
        //调起微信支付
        PayReq* req             = [[PayReq alloc] init];
        req.openID              = [dict objectForKey:@"appid"];
        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"];
        
        
        [self beforePayRemarkWithType:PayType_WeChat orderDict:parmasDic baseHttpBoolBlock:^(BOOL isSuccess, NSMutableArray *resultArr, NSInteger flagVaule, NSString *infoMessage) {
            
            if (isSuccess)
            {
                NSMutableDictionary *paysDic = orderDict;
                [paysDic setObject:[resultArr firstObject] forKey:@"PayID"];
                [paysDic setObject:[resultArr lastObject] forKey:@"questionid"];
                NSMutableArray *resArr = [NSMutableArray arrayWithObjects:paysDic, nil];
                
                if(baseHttpBoolBlock) baseHttpBoolBlock(YES,resArr,10000,@"");
                
                [WXApi sendReq:req];
                
            }else
            {
                if(baseHttpBoolBlock) baseHttpBoolBlock(NO,nil,flagVaule,infoMessage);
            }
        }];
    }
}
wechat pay
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 最近小米又放新消息,一言不合就要搞发布。 看到这条消息,想必入了小米5的米粉们可以放心了:买了这么久,NFC功能终...
 - 朋友圈作为社交分享的主阵地,应该是大家平时分享内容的首选。我自己平时就经常从 Safari 分享一些非常实用的网页...
 - Mozilla/5.0 (Linux; Android 4.4.4; HM NOTE 1LTEW Build/KT...
 - 入手这本书,是因为2016年柯布西耶和他分布在7个国家的17个作品被联合国教科文组织入选了世界遗产名录; 而世界遗...
 
