zoukankan      html  css  js  c++  java
  • 微信支付

    1.申请AppID,导入依赖库,配置URL Scheme这里就不深究了,各位看官请自行百度.

    2.在AppDelegate中导入头文件,遵守WXApiDelegate,然后在launch里注册AppID.

    3.在支付界面导入头文件,创建支付对象,调起微信

    //调起微信支付,传入参数

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

    req.openID = APPI_ID;

    req.partnerId = PARTNER_ID;

    req.prepayId = prePayid;

    req.nonceStr = nonce_str;

    req.timeStamp = now;

    req.package = package;

    req.sign = sign;

    [WXApi safeSendReq:req];

    4.微信支付的回调需要添加在AppDelegate中

    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

    {

         //返回应用后的回调,通过handleOpenURL进入微信支付的回调onResp:(BaseResp*)resp

             return [WXApi handleOpenURL:url delegate:self];

    }

    -(void) onResp:(BaseResp*)resp

    {

    if ([resp isKindOfClass:[PayResp class]])

    {

    PayResp *response = (PayResp *)resp;

    NSString *strTitle = [NSString stringWithFormat:@"支付结果"];

    NSString *strMsg = [NSString stringWithFormat:@"errcode:%d", response.errCode];

     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:strTitlemessage:strMsg  delegate:self cancelButtonTitle:@"OK"  otherButtonTitles:nil, nil];

    [alert show];

    switch (response.errCode) {

    case WXSuccess: {

    NSNotification *notification = [NSNotification notificationWithName:ORDER_PAY_NOTIFICATION object:@"success"];

    [[NSNotificationCenter defaultCenter] postNotification:notification];

    break;

    }

    default: {

    NSNotification *notification = [NSNotification notificationWithName:ORDER_PAY_NOTIFICATION object:@"fail"];

    [[NSNotificationCenter defaultCenter] postNotification:notification];

    break;

    }

    }

    }

    }

    但是将微信支付相关的代码全部写到AppDelegate中又会显得代码冗余,这时我们需要创建通知,在成功回调后发出通知,在支付界面监听回调,完成支付.

    5.在监听回调中,上传我们从微信支付中获得的参数,完成支付.

    http://www.jianshu.com/p/97d38b00e53d?plg_nld=1&plg_auth=1&plg_nld=1&plg_dev=1&plg_uin=1&plg_usr=1&plg_vkey=1&plg_nld=1&plg_uin=1&plg_nld=1&plg_auth=1&plg_usr=1&plg_vkey=1&plg_dev=1

    http://www.tuicool.com/articles/32UFBzQ?plg_nld=1&plg_uin=1&plg_auth=1&plg_nld=1&plg_usr=1&plg_vkey=1&plg_dev=1

    http://www.jianshu.com/p/6e75a450dcc4?plg_nld=1&plg_uin=1&plg_auth=1&plg_nld=1&plg_usr=1&plg_vkey=1&plg_dev=1

  • 相关阅读:
    C# OCR 文字识别[初级]
    首次试用 NeoSwiff ,用C#开发FLASH版的多国语言翻译
    星期天上午买了个nokia 的NGage QD手机
    高兴,今天总算鸟枪换炮了~
    3年前的小程序:破解需要delphi IDE 环境的vcl 控件
    基于Ajax的五子棋演示
    学习API HOOK,编写了一个winsock 的封包抓取程序,可免费使用;
    我得小猫爱摔交
    老是不中,算了算“双色球”和“3D”,全买到底要多少¥¥。。(C 代码)
    总算忙完了,大家'晚秋快乐'!
  • 原文地址:https://www.cnblogs.com/guaishushu/p/4985985.html
Copyright © 2011-2022 走看看