微信支付

1.从微信官方下载api

微信支付

 2.在 Linked Frameworks and Libraries 添加以下文件

微信支付
3.注册appid

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    //微信支付
    [WXApi registerApp:@"wx...."];
    return YES;
}

4.监听返回

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    return  [WXApi handleOpenURL:url delegate:self];
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    return [WXApi handleOpenURL:url delegate:self];
}
// ios: 9.0以后使用新API接口
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{
    return [WXApi handleOpenURL:url delegate:self];
}  
//监听微信回调结果
#pragma mark - WXApiDelegate
- (void)onResp:(BaseResp *)resp
{
    if([resp isKindOfClass:[PayResp class]]){
        
        //支付返回结果
  
        switch (resp.errCode) {
            case WXSuccess:
                 [self WXPaySuccess];
                strMsg = @"支付结果:成功!";
                DLog(@"支付成功-PaySuccess,retcode = %d", resp.errCode);
                break;
                
            default:
               
                DLog(@"错误,retcode = %d, retstr = %@", resp.errCode,resp.errStr);
                break;
        }
    }
}

  5.发送参数给微信

- (void)wxPaySend:(NSDictionary*)dictionary{
    //调起微信支付
    PayReq* req = [[PayReq alloc] init];
    req.openID = [dictionary objectForKey:@"openID"];
    req.partnerId = [dictionary objectForKey:@"partnerid"];
    req.prepayId = [dictionary objectForKey:@"prepayid"];
    req.nonceStr = [dictionary objectForKey:@"noncestr"];
    req.timeStamp = [[dictionary objectForKey:@"timestamp"] intValue];
    req.package  = @"Sign=WXpay";//这个参数是固定的
    req.sign  = [dictionary objectForKey:@"sign"];
    [WXApi sendReq:req];
}