美文网首页
微信支付要看的链接原生接入

微信支付要看的链接原生接入

作者: LV大树 | 来源:发表于2018-05-03 17:31 被阅读391次

https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=4_2

https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=4_3

https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5

https://pay.weixin.qq.com/wiki/doc/api/index.html

https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1

关于支付的代码有:

 WXApiRequestHandler 类的 
+ (NSString *)jumpToBizPay;

+ (NSString *)jumpToBizPay {

    //============================================================
    // V3&V4支付流程实现
    // 注意:参数配置请查看服务器端Demo
    // 更新时间:2015年11月20日
    //============================================================
    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自带解析类NSJSONSerialization从response中解析出数据放到字典中
            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]autorelease];
                    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"];
                    [WXApi sendReq:req];
                    //日志输出
                    NSLog(@"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 @"服务器返回错误";
        }
}

WXApiManager


#pragma mark - WXApiDelegate
- (void)onResp:(BaseResp *)resp {
    if ([resp isKindOfClass:[SendMessageToWXResp class]]) {
        if (_delegate
            && [_delegate respondsToSelector:@selector(managerDidRecvMessageResponse:)]) {
            SendMessageToWXResp *messageResp = (SendMessageToWXResp *)resp;
            [_delegate managerDidRecvMessageResponse:messageResp];
        }
    } else if ([resp isKindOfClass:[SendAuthResp class]]) {
        if (_delegate
            && [_delegate respondsToSelector:@selector(managerDidRecvAuthResponse:)]) {
            SendAuthResp *authResp = (SendAuthResp *)resp;
            [_delegate managerDidRecvAuthResponse:authResp];
        }
    } else if ([resp isKindOfClass:[AddCardToWXCardPackageResp class]]) {
        if (_delegate
            && [_delegate respondsToSelector:@selector(managerDidRecvAddCardResponse:)]) {
            AddCardToWXCardPackageResp *addCardResp = (AddCardToWXCardPackageResp *)resp;
            [_delegate managerDidRecvAddCardResponse:addCardResp];
        }
    }else if([resp isKindOfClass:[PayResp class]]){
        //支付返回结果,实际支付结果需要去微信服务器端查询
        NSString *strMsg,*strTitle = [NSString stringWithFormat:@"支付结果"];
        
        switch (resp.errCode) {
            case WXSuccess:
                strMsg = @"支付结果:成功!";
                NSLog(@"支付成功-PaySuccess,retcode = %d", resp.errCode);
                break;
                
            default:
                strMsg = [NSString stringWithFormat:@"支付结果:失败!retcode = %d, retstr = %@", resp.errCode,resp.errStr];
                NSLog(@"错误,retcode = %d, retstr = %@", resp.errCode,resp.errStr);
                break;
        }
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:strTitle message:strMsg delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        [alert show];
        [alert release];
    }

}

以上居然是旧版的api

现在来新版的啦:
WXNontaxPayReq

      ADDBUTTON_AUTORELEASE(index++, @"调用非税", @selector(nonTaxPay));

新版demo 有哈

   WXNontaxPayReq *req = [[WXNontaxPayReq alloc] init];
        req.urlString = text;
        [WXApi sendReq:req];


- (void)managerDidRecvNonTaxpayResponse:(WXNontaxPayResp *)response
{
    NSString *strTitle = [NSString stringWithFormat:@"非税支付结果"];
    NSString *strMsg = [NSString stringWithFormat:@"errcode:%d,wxorderid:%@", response.errCode, response.wxOrderId];
    [UIAlertView showWithTitle:strTitle message:strMsg sure:nil];
}


暂时先这样了。
好多东西要看。

相关文章

  • 微信支付要看的链接原生接入

    https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapte...

  • 一些学习资料

    iOS各种支付功能 :链接 其中:1支付宝app支付接入指南:链接2微信app支付接入指南:链接 Unity3d游...

  • 微信原生支付接入

    几乎所有第三方支付大概都是下面这个流程: 本来不打算写这个的,毕竟像这些第三方平台接入都比较简单,一般照着官方文档...

  • Android微信支付接入之细枝末节

    微信支付接入比较坑的是其官方文档很简洁,文档结构不清晰,往往不容易找到自己想要看到的东西。下面对接入微信支付...

  • 微信支付

    如何成为微信支付商户的方法: 腾讯客服-微信支付商户申请接入信息汇总:腾讯客服-微信支付商户申请接入信息汇总 腾讯...

  • Android App支付系列

    转载链接,若有侵权,自会马上删除,不胜感激!Android App支付系列(一):微信支付接入详细指南(附官方支付...

  • react native 接入支付宝支付

    在react native中接入支付其实就是在原生的基础上桥接过来,微信支付和支付宝支付都一样,不管是做原生的还是...

  • 微信支付都进了苹果App Store,ios版微信恢复打赏还远吗

    观点 | 微信支付接入苹果应用商店App Store,就是苹果套路的胜利 8月29日,微信竟然宣布微信支付正式接入...

  • 微信App支付接入&支付流程

    微信App支付接入&支付流程 最近对微信App支付(App端集成微信支付SDK)申请步骤,以及终端在进行微信支付时...

  • Unity本地接入wechat-sdk-android-6.8.

    网上很多教程讲Unity接入微信支付的方法多是接入以前的微信支付SDK,但是因为已微信官方已经改用gradle形式...

网友评论

      本文标题:微信支付要看的链接原生接入

      本文链接:https://www.haomeiwen.com/subject/opllrftx.html