iOS 微信支付回调跳转页面没有跳到微信支付回调跳转页面页面

Google提供的广告输入关键字或相关内容进行搜索
提示-100,对比发现官方的sign是40位,提供的代码是32位,请问光方式直接用MD5
加密的么?
赞助DCloud可免广告,
从现象看应该是生成的订单数据错误导致的。
服务器生成订单使用的是微信官方提供SDK,HelloH5中使用的示例订单服务器代码参考:
https://github.com/dcloudio/H5P.Server/tree/master/payment/wxpayv3
遇到一模一样的问题了 不知道楼主解决没有
我用的支付宝,也出现这样的问题,不知道怎么搞啦现在,郁闷死啦,是不是本身就不支持支付宝支付呢?
微信有人解决吗?
仔细检查数据订单,我也遇到的,后来解决了。https://github.com/dcloudio/H5P.Server/tree/master/payment/wxpayv3
---支付失败-----
【-100】:【payment微信:-2】请参考URL地址:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_5我也遇到了,兄弟咋解决的。
我也遇到该问题,但我已经解决。是用Hbuilder调试的时候应用签名和在微信申请的签名不一致,换成正式签名就好了。可以看一下
http://www.cocoachina.com/bbs/read.php?tid=321546解决的步骤不全是按上面的处理,这篇帖子主要给出了一个思路。官网文档说明了,返回-1有哪些情况。
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_12&index=2
要回复问题请先或
浏览: 1096
赞助DCloud可免广告,
赞助DCloud可免广告,Pages: 1/3
主题 : 微信支付问题,跳转微信立刻跳回原应用
级别: 新手上路
可可豆: 12 CB
威望: 12 点
在线时间: 22(时)
发自: Web Page
来源于&&分类
微信支付问题,跳转微信立刻跳回原应用&&&
调起微信使用的是safaSendReq方法,因为使用新的sendReq无法调起,不知道为什么.而且onResp方法不会执行,所以也看不到错误原因,求解有做过微信支付经验的大拿指导一下有可能是什么原因?微信已经注册过,支付资质也通过审核.这里是我调起支付部分的代码 &&&&&&&&&&&&&&&&&&&&&& PayReq *req = [[PayReq alloc] init];
&&&&&&&&&&&&&&&&&&&&&&&&req.openID&&&&&&&&&&&&&&= @&wx2cdc767&;
&&&&&&&&&&&&&&&&&&&&&&&&req.partnerId&&&&&&&&&& = [dict objectForKey:@&partnerId&];
&&&&&&&&&&&&&&&&&&&&&&&&req.prepayId&&&&&&&&&&&&= [dict objectForKey:@&prepayId&];
&&&&&&&&&&&&&&&&&&&&&&&&req.nonceStr&&&&&&&&&&&&= [dict objectForKey:@&nonceStr&];
&&&&&&&&&&&&&&&&&&&&&&&&req.timeStamp&&&&&&&&&& = [[dict objectForKey:@&timeStamp&] intValue];
&&&&&&&&&&&&&&&&&&&&&&&&req.package&&&&&&&&&&&& = [dict objectForKey:@&package&];
//&&&&&&&&&&&&&&&&&&&&&&&&req.package&&&&&&&&&&&& = @&Sign=WXpay&;
&&&&&&&&&&&&&&&&&&&&&&&&req.sign&&&&&&&&&&&&&&&&= [dict objectForKey:@&sign&];
&&&&&&&&&&&&&&&&&&&&&&&&[WXApi safeSendReq:req];openID是正确的0.0下面这个接收微信返回信息的方法并没有被调用//微信返回结果
-(void) onResp:(BaseResp*)resp{
    NSString *strMsg = [NSString stringWithFormat:@&errcode:%d&, resp.errCode];
    SDLog(@&返回结果 == %@&,strMsg);
级别: 新手上路
UID: 356057
可可豆: 124 CB
威望: 113 点
在线时间: 431(时)
发自: Web Page
认真查看参数&&我我做的时候也出现,肯定是参数有问题
级别: 新手上路
可可豆: 12 CB
威望: 12 点
在线时间: 22(时)
发自: Web Page
回 1楼(lwh5792658) 的帖子
我的回调方法写错地方了,现在错误码是errcode:-1,我再检查一遍参数试试
级别: 侠客
UID: 376461
可可豆: 352 CB
威望: 279 点
在线时间: 179(时)
发自: Web Page
回 2楼(对酒狂歌吃馍) 的帖子
你的回调方法写哪了?
级别: 侠客
UID: 167411
可可豆: 320 CB
威望: 196 点
在线时间: 286(时)
发自: Web Page
参数都是按照微信开发者官网上写的
级别: 新手上路
UID: 303151
可可豆: 18 CB
威望: 18 点
在线时间: 438(时)
发自: Web Page
解决了吗?我也遇到这样的问题。qq:
级别: 新手上路
可可豆: 22 CB
威望: 2 点
在线时间: 54(时)
发自: Web Page
遇到同样的问题,客户端调用微信[WXApi sendReq:request];弹进去马上就弹回来。希望有解决的大神来科普。(欢迎各种问题来交流)
级别: 侠客
可可豆: 297 CB
威望: 297 点
在线时间: 523(时)
发自: Web Page
解决了吗,我也遇到了相同的问题,求解~
级别: 新手上路
UID: 226453
可可豆: 52 CB
威望: 41 点
在线时间: 163(时)
发自: Web Page
回 2楼(对酒狂歌吃馍) 的帖子
楼主,这个问题解决没?
级别: 新手上路
可可豆: 15 CB
威望: 15 点
在线时间: 112(时)
发自: Web Page
楼主这个问题解决没
Pages: 1/3
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版当前位置:
iOS微信支付后无法返回APP,没有进入-void onResp:BaseR
iOS微信支付后无法返回APP,没有进入-void onResp:BaseR
来源:网络整理&&&&&时间: 21:24:36&&&&&关键词:微信支付,void
关于网友提出的“iOS微信支付后无法返回APP,没有进入-void onResp:BaseR”问题疑问,本网通过在网上对“iOS微信支付后无法返回APP,没有进入-void onResp:BaseR”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:iOS微信支付后无法返回APP,没有进入-void onResp:BaseR
做iOS微信支付,支付完成或者取消都没有返回到原APP,也没有进入-(void) onResp:(BaseResp *) & & 而且进入支付页面会打印
Session End 9,enteredBackground currentPageView=(null),Put Session 1 Size Check 95=&165 & &这三句。检查了timestamp用的是秒,没有错,而且支付也能成功,这可怎么破啊。。。。。。解决方案1:
感觉是url scheme没有在info.plist和target的url type设置好。
解决方案2:1:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
-(void) onResp:(BaseResp*)resp
#import "WXApi.h"
&WXApiDelegate&
解决方案3:
http://my.oschina.net/jack088/blog/514630
你可以看看,希望对你有帮助。
解决方案4:
你试用一下BeeCloud的开源的iOS demo吧,https://github.com/beecloud/ios-pay-demo
这些问题完全不用考虑了,已经在framework里封装好了
以上介绍了“iOS微信支付后无法返回APP,没有进入-void onResp:BaseR”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1487620.html
上一篇: 下一篇:iOS 集成微信支付
我的图书馆
iOS 集成微信支付
& & &&支付现在是移动支付领域一支不可忽视的力量,我们人员在开发app的时候,也不可避免的用到各种支付,支付宝支付我们用的最多了,我这里就不讲解了,我现在给大家讲解一个微信支付,首先 我们需要在微信开放平台注册商户信息(记住是微信开放平台不是公众平台),微信开放平台支持的银行卡有限,所以在确定用微信支付的时候先看看,支不支持公司的银行卡,比如广大银行卡是不支持的。(;
& & & 在微信开放平台弄好app支付以后,下载iOS SDK,我们需要配置6个参数 如下图 它在微信支付SDK lib文件夹下的payRequestHandler.h文件中
& & & &把上面那几参数配置好,最下面那2个参数,如果服务器端没配置好可以先不修改,就用微信默认的参数就可以。
& & & 因为微信支付的SDK代码是ARC的,所以我们需要在配置文件里面设置一下,添加-fno-objc-arc &如下图
& & & & 我们还需要配置一下info里面的URL Types & &, URL Schemes里面填写的是APP_ID的值
& & &我们在代理文件(APPDelegate.h)里面导入微信支付的头文件 & &payRequsestHandler.h、WXApi.h & 如下图
&我们在AppDelegate.m 实现文件中 写上相应的代码
//&&//&&AppDelegate.m&&//&&微信支付&&//&&//&&Created&by&lairen&on&15/8/18.&&//&&Copyright&(c)&2015年&lairen.&All&rights&reserved.&&//&&&&#import&"AppDelegate.h"&&&&&&&&//服务端签名只需要用到下面一个头文件&&//#import&"ApiXml.h"&&#import&&QuartzCore/QuartzCore.h&&&&&&&@interface&AppDelegate&()&&&&@end&&&&@implementation&AppDelegate&&&&@synthesize&window&=&_&&&&-&(id)init{&&&&&&if(self&=&[super&init]){&&&&&&&&&&_scene&=&WXSceneS&&&&&&}&&&&&&return&&&}&&&&&&-&(BOOL)application:(UIApplication&*)application&didFinishLaunchingWithOptions:(NSDictionary&*)launchOptions&{&&&&&&//&注册微信&&&&&&[WXApi&registerApp:APP_ID&withDescription:@"demo&2.0"];&&&&&&//添加通知&&&&&&[self&addObserver];&&&&&&&&&&&&return&YES;&&}&&&&#pragma&mark&添加通知&&-(void)addObserver&&{&&&&&&[[NSNotificationCenter&defaultCenter]&addObserver:self&selector:@selector(sendPay_demo)&name:@"weixinPay"&object:nil];&&}&&&&-(void)&changeScene:(NSInteger&)scene&&{&&&&&&_scene&=&(enum&WXScene)&&}&&&&&&&&-(void)&onResp:(BaseResp*)resp&&{&&&&&&NSString&*strMsg&=&[NSString&stringWithFormat:@"errcode:%d",&resp.errCode];&&&&&&NSString&*strT&&&&&&&&&&&&if([resp&isKindOfClass:[SendMessageToWXResp&class]])&&&&&&{&&&&&&&&&&strTitle&=&[NSString&stringWithFormat:@"发送媒体消息结果"];&&&&&&}&&&&&&if([resp&isKindOfClass:[PayResp&class]]){&&&&&&&&&&//支付返回结果,实际支付结果需要去微信服务器端查询&&&&&&&&&&strTitle&=&[NSString&stringWithFormat:@"支付结果"];&&&&&&&&&&&&&&&&&&&&switch&(resp.errCode)&{&&&&&&&&&&&&&&case&WXSuccess:&&&&&&&&&&&&&&&&&&strMsg&=&@"支付结果:成功!";&&&&&&&&&&&&&&&&&&NSLog(@"支付成功-PaySuccess,retcode&=&%d",&resp.errCode);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&default:&&&&&&&&&&&&&&&&&&strMsg&=&[NSString&stringWithFormat:@"支付结果:失败!retcode&=&%d,&retstr&=&%@",&resp.errCode,resp.errStr];&&&&&&&&&&&&&&&&&&NSLog(@"错误,retcode&=&%d,&retstr&=&%@",&resp.errCode,resp.errStr);&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&}&&&&&&UIAlertView&*alert&=&[[UIAlertView&alloc]&initWithTitle:strTitle&message:strMsg&delegate:self&cancelButtonTitle:@"OK"&otherButtonTitles:nil,&nil&nil];&&&&&&[alert&show];&&}&&&&&&#pragma&mark&&微信支付&&这个适合自己服务器交互调用的方法&&-&(void)sendPay&&{&&&&&&//从服务器获取支付参数,服务端自定义处理逻辑和格式&&&&&&//订单标题&&&&&&NSString&*ORDER_NAME&&&&=&@"ios&微信支付";&&&&&&//订单金额,单位(元)&&&&&&NSString&*ORDER_PRICE&&&=&@"0.01";&&&&&&&&&&&&//根据服务器端编码确定是否转码&&&&&&NSStringEncoding&&&&&&&//if&UTF8编码&&&&&&//enc&=&NSUTF8StringE&&SP_URL,&&&&&&//if&GBK编码&&&&&&enc&=&CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_);&&&&&&NSString&*urlString&=&[NSString&stringWithFormat:@"?plat=ios&order_no=%@&product_name=%@&order_price=%@",&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&[[NSString&stringWithFormat:@"%ld",time(0)]&stringByAddingPercentEscapesUsingEncoding:enc],&&&&&&&&&&&&&&&&&&&&&&&&&&&&&[ORDER_NAME&stringByAddingPercentEscapesUsingEncoding:enc],&&&&&&&&&&&&&&&&&&&&&&&&&&&&&ORDER_PRICE];&&&&&&NSLog(@"%@",urlString);&&&&&&&&&&&&//解析服务端返回json数据&&&&&&NSError&*&&&&&&//加载一个NSURL对象&&&&&&NSURLRequest&*request&=&[NSURLRequest&requestWithURL:[NSURL&URLWithString:urlString]];&&&&&&//将请求的url数据放到NSData对象中&&&&&&NSData&*response&=&[NSURLConnection&sendSynchronousRequest:request&returningResponse:nil&error:nil];&&&&&&if&(&response&!=&nil)&{&&&&&&&&&&NSMutableDictionary&*dict&=NULL;&&&&&&&&&&//IOS5自带解析类NSJSONSerialization从response中解析出数据放到字典中&&&&&&&&&&dict&=&[NSJSONSerialization&JSONObjectWithData:response&options:NSJSONReadingMutableLeaves&error:&error];&&&&&&&&&&&&&&&&&&&&NSLog(@"url:%@",dict);&&&&&&&&&&if(dict&!=&nil){&&&&&&&&&&&&&&NSMutableString&*retcode&=&[dict&objectForKey:@"retcode"];&&&&&&&&&&&&&&if&(retcode.intValue&==&0){&&&&&&&&&&&&&&&&&&NSMutableString&*stamp&&=&[dict&objectForKey:@"timestamp"];&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//调起微信支付&&&&&&&&&&&&&&&&&&PayReq*&req&&&&&&&&&&&&&=&[[PayReq&alloc]&init];&&&&&&&&&&&&&&&&&&req.openID&&&&&&&&&&&&&&=&[dict&objectForKey:@"appid"];&&&&&&&&&&&&&&&&&&req.partnerId&&&&&&&&&&&=&[dict&objectForKey:@"partnerid"];&&&&&&&&&&&&&&&&&&req.prepayId&&&&&&&&&&&&=&[dict&objectForKey:@"prepayid"];&&&&&&&&&&&&&&&&&&req.nonceStr&&&&&&&&&&&&=&[dict&objectForKey:@"noncestr"];&&&&&&&&&&&&&&&&&&req.timeStamp&&&&&&&&&&&=&stamp.intV&&&&&&&&&&&&&&&&&&req.package&&&&&&&&&&&&&=&[dict&objectForKey:@"package"];&&&&&&&&&&&&&&&&&&req.sign&&&&&&&&&&&&&&&&=&[dict&objectForKey:@"sign"];&&&&&&&&&&&&&&&&&&[WXApi&sendReq:req];&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//日志输出&&&&&&&&&&&&&&&&&&//&NSLog(@"%@",req.openID);&&&&&&&&&&&&&&&&&&NSLog(@"appid=%@\npartid=%@\nprepayid=%@\nnoncestr=%@\ntimestamp=%ld\npackage=%@\nsign=%@",req.openID,req.partnerId,req.prepayId,req.nonceStr,(long)req.timeStamp,req.package,req.sign&);&&&&&&&&&&&&&&}else{&&&&&&&&&&&&&&&&&&[self&alert:@"提示信息"&msg:[dict&objectForKey:@"retmsg"]];&&&&&&&&&&&&&&}&&&&&&&&&&}else{&&&&&&&&&&&&&&[self&alert:@"提示信息"&msg:@"服务器返回错误,未获取到json对象"];&&&&&&&&&&}&&&&&&}else{&&&&&&&&&&[self&alert:@"提示信息"&msg:@"服务器返回错误"];&&&&&&}&&}&&&&#pragma&mark&微信测试支付&&这个是调用的微信服务器的支付接口&&&&-&(void)sendPay_demo&&{&&&&&&NSLog(@"微信支付&demo");&&&&&&&&//{{{&&&&&&//本实例只是演示签名过程,&请将该过程在商户服务器上实现&&&&&&&&&&&&//创建支付签名对象&&&&&&payRequsestHandler&*req&=&[payRequsestHandler&alloc];&&&&&&//初始化支付签名对象&&&&&&[req&init:APP_ID&mch_id:MCH_ID];&&&&&&//设置密钥&&&&&&[req&setKey:PARTNER_ID];&&&&&&&&&&&&//}}}&&&&&&&&&&&&//获取到实际调起微信支付的参数后,在app端调起支付&&&&&&NSMutableDictionary&*dict&=&[req&sendPay_demo];&&&&&&&&&&&&if(dict&==&nil){&&&&&&&&&&//错误提示&&&&&&&&&&NSString&*debug&=&[req&getDebugifo];&&&&&&&&&&&&&&&&&&&&[self&alert:@"提示信息"&msg:debug];&&&&&&&&&&&&&&&&&&&&NSLog(@"%@\n\n",debug);&&&&&&}else{&&&&&&&&&&NSLog(@"%@\n\n",[req&getDebugifo]);&&&&&&&&&&//[self&alert:@"确认"&msg:@"下单成功,点击OK后调起支付!"];&&&&&&&&&&&&&&&&&&&&NSMutableString&*stamp&&=&[dict&objectForKey:@"timestamp"];&&&&&&&&&&&&&&&&&&&&//调起微信支付&&&&&&&&&&PayReq*&req&&&&&&&&&&&&&=&[[PayReq&alloc]&init];&&&&&&&&&&req.openID&&&&&&&&&&&&&&=&[dict&objectForKey:@"appid"];&&&&&&&&&&req.partnerId&&&&&&&&&&&=&[dict&objectForKey:@"partnerid"];&&&&&&&&&&req.prepayId&&&&&&&&&&&&=&[dict&objectForKey:@"prepayid"];&&&&&&&&&&req.nonceStr&&&&&&&&&&&&=&[dict&objectForKey:@"noncestr"];&&&&&&&&&&req.timeStamp&&&&&&&&&&&=&stamp.intV&&&&&&&&&&req.package&&&&&&&&&&&&&=&[dict&objectForKey:@"package"];&&&&&&&&&&req.sign&&&&&&&&&&&&&&&&=&[dict&objectForKey:@"sign"];&&&&&&&&&&&&&&&&&&&&[WXApi&sendReq:req];&&&&&&}&&}&&&&//客户端提示信息&&-&(void)alert:(NSString&*)title&msg:(NSString&*)msg&&{&&&&&&UIAlertView&*alter&=&[[UIAlertView&alloc]&initWithTitle:title&message:msg&delegate:nil&cancelButtonTitle:@"OK"&otherButtonTitles:nil];&&&&&&&&&&&&[alter&show];&&&&}&&&&-&(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];&&}&&&&&&&&&&&&&&@end&&
& & 我们再在ViewController文件中 & 添加支付按钮。直接在故事版上面拖上2个按钮就可以。第一个按钮是用的微信服务器返回的json数据 第二个按钮返回的是自己服务器返回的json数据,自己服务器返回的数据包括签名证书一些相关的东西,我们做操作演示 &就使用微信的服务器
&给按钮加上点击方法。方法在ViewController.m文件中 & 点击方法的时候会发送一个通知给AppDelegate.m文件
#pragma mark 添加通知
-(void)addObserver
& & [[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(sendPay_demo)name:@"weixinPay"object:nil];
#import&"ViewController.h"&&&&@interface&ViewController&()&&-&(IBAction)testPay:(id)&&&&-&(IBAction)realPay:(id)&&&&&&@end&&&&@implementation&ViewController&&&&-&(void)viewDidLoad&{&&&&&&[super&viewDidLoad];&&&&&&//&Do&any&additional&setup&after&loading&the&view,&typically&from&a&nib.&&}&&&&&&//微信支付测试签名&&-&(IBAction)testPay:(id)sender&{&&&&&&&[[NSNotificationCenter&defaultCenter]&postNotificationName:@"weixinPay"&object:nil];&&}&&&&//微信支付测试签名&&-&(IBAction)realPay:(id)sender&{&&&&&UIAlertView&*alert=&[[UIAlertView&alloc]initWithTitle:@"友情提示"&message:@"服务器端接口还没开放,请稍后再试"&delegate:nil&cancelButtonTitle:@"好的"&otherButtonTitles:nil,&nil&nil];&&&&&&[alert&show];&&}&&&&&&@end&&发送通知以后,在AppDelegate.h文件的监听方法会调用微信支付 &如图
调用起微信支付后,就会打开微信 &
&ok,到这里我们的微信支付Demo,就已经做完了,同学们,加油啊。
TA的最新馆藏
喜欢该文的人也喜欢

我要回帖

更多关于 微信跳转支付宝页面 的文章

 

随机推荐