2导入微信支付SDK
将官方demo中的这个文件夹拷贝到项目里
在APPdelegate里设置APPID
导入依赖库
项目中点击支付的按钮写上如下方法
别忘了导入头文件和遵循代理和注册代理
infoplist里添加如下字段LSApplicationQueriesSchemes,为Array类型,然后在里面添加两个小选项,分别为weixin和wechat
注意!!!下面这三处 一定要对应上 少一不可
如果不回调,APPdelegate里写上这个
//被废弃的方法如下
- (BOOL)application:(UIApplication)application handleOpenURL:(NSURL)url {
return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
}
- (BOOL)application:(UIApplication)application openURL:(NSURL)url sourceApplication:(NSString)sourceApplication annotation:(id)annotation {
return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
}
//替换的新方法
- (BOOL)application:(UIApplication)app openURL:(NSURL)url options:(NSDictionary)options {
return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
}
//调起微信支付
PayReq req = [[PayReq alloc] init];
reqpartnerId = @"1220277201";
reqprepayId = @"9201039000160315ab9324b87b451223";
reqnonceStr = @"83DB7tk21akNRSFs";
reqtimeStamp = 1458027344;
reqpackage = @"Sign=WXPay";
reqsign = @"db6919dbd8ccb3f8a25108bebcd87f7a02c52e39";
[WXApi sendReq:req];
// 获取当前时间
time_t now;
time(&now);
// 时间戳
//NSString timestamp = [NSString stringWithFormat:@"%ld", now];
// 随机字符串
//NSString nonceStr = [[self md5:timestamp] uppercaseString];
//订单id
NSString prepayid = _prepayid;
PayReq request = [[PayReq alloc] init];
/ 商家向财付通申请的商家id /
requestpartnerId = WXPartnerid;
/ 预支付订单 /
requestprepayId= prepayid;
/ 商家根据财付通文档填写的数据和签名 /
requestpackage = @"Sign=WXPay";
/ 随机串,防重发 /
requestnonceStr= _noncestr;
/ 时间戳,防重发 /
requesttimeStamp = [_timestamp intValue];
/ 商家根据微信开放平台文档对数据做的签名 /
requestsign= _sign;
/! @brief 发送请求到微信,等待微信返回onResp
函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持以下类型
SendAuthReq、SendMessageToWXReq、PayReq等。
@param req 具体的发送请求,在调用函数后,请自己释放。
@return 成功返回YES,失败返回NO。
/
[WXApi sendReq: request];1:去官网申请个公众号,然后认证一下开发者资质,经过7天审核后,如果成功就到第二步啦。2:提交APP基本信息,并通过审核,就能获得AppID啦。3:前面两步都完成后,就能提交相关资料申请它了。申请之后如果再通过就 可以启动开发和设计。4:都完成了的话那就证明开户成功,登入平台进行验证并在线签署协议就可以了。以上步骤都完成的话,那恭喜,成功接入啦。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)