iOS开发微信支付的方法

本文实例为大家分享了iOS开发微信支付的具体代码,供大家参考,具体内容如下 首先我们到微信开放平台,下载相应的SDK。微信的官方文档感觉说的很简单,没有支付宝那

本文实例为大家分享了iOS开发微信支付的具体代码,供大家参考,具体内容如下

首先我们到微信开放平台,下载相应的SDK。微信的官方文档感觉说的很简单,没有支付宝那么详细,在这里说下集成SDK到我们的工程中。

下载好demol后(最新版本SDKSample_v2.0.2_V3pay),看到有个SDKExport的文件;

你可以直接将这个文件夹添加到你的工程中,或者你自己新建一个文件夹,将里面那三个文件粘贴到你新建的文件夹中,并添加到你的工程中;

接下来就是添加相应地库文件;

我们看到demol中有个WXApiManager.h和WXApiManager.m文件,因为他里面会用到,所以这里我们直接将demol中的这两个文件也拖进我们工程中;

库文件添加好之后,就是实现我们的微信支付功能;

点击支付的button,完成支付;

引入头文件:

#import "ViewController.h"
#import "WXApiObject.h"
#import "WXApi.h"

- (void)viewDidLoad {
    [super viewDidLoad];

    UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom];
    btn.frame =CGRectMake(100, 100, 100, 50);
    [btn setTitle:@"点击支付" forState:UIControlStateNormal];
    btn.backgroundColor = [UIColor magentaColor];
    [btn addTarget:self action:@selector(weixinPay) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn];

}
//在这里我们要判断用户是否安装微信,如果未安装是不能够支付,因为微信不支持网页支付,不像支付宝那样,如果用户未安装支付宝,它会自动跳转网页支付,如果安装,则会跳转到支付宝客户端进行支付;微信则不可以,所以要判断下;
- (void)weixinPay {
//判断用户是否安装微信
  if ([WXApi isWXAppInstalled]) {
         NSString *res = [self doClickZhiFu];
         if( ![@"" isEqual:res] ){
        UIAlertView *alter = [[UIAlertView alloc] initWithTitle:@"支付失败" message:res delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alter show];
         }
      }else{
      //未安装微信给出提示信息
         MBProgressHUD * hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
            hud.mode = MBProgressHUDModeText;
            hud.labelText = @"您未安装微信,请选择其他方式支付!";
            hud.labelFont = [UIFont systemFontOfSize:13];
            hud.removeFromSuperViewOnHide = YES;
            hud.color = [UIColor grayColor];
            hud.minSize = CGSizeMake(300, 100);
            [hud hide:YES afterDelay:2];

       }


}

- (NSString *)doClickZhiFu
{
    //============================================================
    // V3&V4支付流程实现
    // 注意:参数配置请查看服务器端Demo
    // 更新时间:2015年11月20日
    //============================================================
    //在那里使用的url是微信里面的,在实际开发中,换成我们自己的url即可,让后台返回的参数就按照微信里面的来,这样我们下边就不用改什么了,只换个url即可(需要跟后台商定,一般都是需要传参数的);
    NSString *urlString   = @"http://wxpay.weixin.qq.com/pub_v2/app/app_pay.php?plat=ios";