
2.导入微信支付SDK
将官方demo中的这个文件夹拷贝到项目里
在APPdelegate里设置APPID
导入依赖库
项目中点击支付的按钮写上如下方法
别忘了导入头文件和遵循代理和注册代理
info.plist里添加如下字段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]
req.partnerId = @"1220277201"
req.prepayId = @"9201039000160315ab9324b87b451223"
req.nonceStr = @"83DB7tk21akNRSFs"
req.timeStamp = 1458027344
req.package = @"Sign=WXPay"
req.sign = @"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 */
request.partnerId = WXPartnerid
/** 预支付订单 */
request.prepayId= prepayid
/** 商家根据财付通文档填写的数据和签名 */
request.package = @"Sign=WXPay"
/** 随机串,防重发 */
request.nonceStr= _noncestr
/** 时间戳,防重发 */
request.timeStamp = [_timestamp intValue]
/** 商家根据微信开放平台文档对数据做的签名 */
request.sign= _sign
/*! @brief 发送请求到微信,等待微信返回onResp
*
* 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持以下类型
* SendAuthReq、SendMessageToWXReq、PayReq等。
* @param req 具体的发送请求,在调用函数后,请自己释放。
* @return 成功返回YES,失败返回NO。
*/
[WXApi sendReq: request]
1、打开微信,点击主页上方搜索方框。
2、在搜索页面中,输入“小程序”,微信会自动跳出小程序。
3、点击之后页面跳转,之后点击:小程序示例。
4、点击进去后,可以查看小程序官方组件的展示。
5、之后退出来,返回微信发现的页面,发现小程序已经被微信记忆到了,之后需要小程序,直接点击这里即可。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)