起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13084|回复: 12

[处理中5] 关于微信内支付提示域名无效,签名无法的问题

[复制链接]

53

主题

267

帖子

896

积分

高级会员

Rank: 4

积分
896
QQ
发表于 2016-2-27 22:04:27 | 显示全部楼层 |阅读模式
版本: 其它(帖子中说明) 小版本号:
数据库: MySQL 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 8 浏览器: Chrome
本帖最后由 ajun007_cn 于 2016-2-27 22:22 编辑

1、我在微信支付“开发配置”->"测试授权目录:"中设置了:http://demo.xxxx.com/x5/UI2/WaterAPP/ 1.jpg
2、我的支付页面路径:http://demo.xxxx.com/x5/UI2/WaterAPP/xxx.w
3、我在wxApi.js里的config中设置了:debug =true
4、在wxApi.js中 var url =Location.href.split("#")[0];我alert(url)显示:如下图所示
5.jpg
5、alert("jsapi_ticket:"+ret.jsapi_ticket);调用baas的getticket成功返回,如下图:
2.jpg

6、alert("nonceStr:"+ret.nonceStr);如下图所示:
3.jpg
7、alert("timestamp:"+ret.timestamp);
4.jpg
8、返回debug,错误信息,如下图所示:提示域名不对。
7.jpg
问题:我在微信菜单里设的URL是与授权目录相同的地址,为什么beX5v3.3在访问页面的时间自动加上了"v_42773773fe..._zh_CNs_d_"这一串,而且每次访问的串都会变化,造成了支付页面与授权目录不匹配,所以报域名不对的错误。


然后,我修改wxApi.js代码url改成与授权目录一样的固定字符串:var url = "http://demo.leiothrixsoft.com/x5/UI2/WaterAPP/";并在微信JS接口签名校验工具中测试,如下 图所示:
8.jpg
与我alert出来的签名一样,但还是显示错误,如下图所示:

9.jpg
请起步的大神们看一下,为什么URL都是在变化,这样支付授权目录就总是无效,签名明明与校验工具出的结果一样,为什么又报签名错误?是不是wxApi还是以url =Location.href.split("#")[0]来验证签名的,有什么办法让URL不会发生变化,或者我该如何设置支付的授权目录?

东莞相思鸟软件 专业X5开发团队 长期招收学徒 推荐工作
http://www.leiothrixsoft.com QQ:402807176

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-2-29 11:15:59 | 显示全部楼层
这个号是平台版本控制缓存生成的,如果是开发调试默认启动的服务这个号是每次都会变化的

微信中测试的时候要用非调试模式其他tomcat,这样生成的这个号是不会变的,在微信中配置url的时候也有这个号

参考http://bbs.wex5.com/forum.php?mo ... 5&pid=165162296
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

53

主题

267

帖子

896

积分

高级会员

Rank: 4

积分
896
QQ
 楼主| 发表于 2016-3-16 09:53:45 | 显示全部楼层
提示域名URL错误,是因为我的微信设置里没有加“安全域名”,加了之后没有再出现域名URL错误的提示,但还是提示:支付失败:
我在后台打印了订单的:System.out.println(unifiedOrder.toXml());
<xml>
  <appid>wx333****f54e8fb4d</appid>
  <body>自来水充值</body>
  <mch__id>1243474802</mch__id>
  <notify__url>http://demo.XXXX.com/baas/WeixinServiec/Weixin/notify</notify__url>
  <openid>oBDCzjsfA*******Zwd3VIGhg</openid>
  <out__trade__no>C6FE5B48A1200001118F15B1A7C04500</out__trade__no>
  <spbill__create__ip>*.*.*.*</spbill__create__ip>
  <total__fee>100</total__fee>
  <trade__type>JSAPI</trade__type>
</xml>
东莞相思鸟软件 专业X5开发团队 长期招收学徒 推荐工作
http://www.leiothrixsoft.com QQ:402807176
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-3-16 13:23:30 | 显示全部楼层
具体的错误提示信息是什么
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

53

主题

267

帖子

896

积分

高级会员

Rank: 4

积分
896
QQ
 楼主| 发表于 2016-3-16 14:48:14 | 显示全部楼层
本帖最后由 ajun007_cn 于 2016-3-16 15:03 编辑
jishuang 发表于 2016-3-16 13:23
具体的错误提示信息是什么

QQ图片20160316144841.jpg

QQ图片20160316144235.jpg
这是wxApi.js的debug : true, // 开启调试模式弹出的信息我后台打印unifiedOrder如下:
System.out.println(unifiedOrder.toXml());
<xml>
  <appid>wx3336450f54e8fb4d</appid>
  <body>自来水充值</body>
  <mch__id>1243474802</mch__id>
  <notify__url>http://demo.leiothrixsoft.com/ba ... lt;/notify__url>
  <openid>oBDCzjsfAMYJyMdgzCeZwd3VIGhg</openid>
  <out__trade__no>C6FE6E47C180000138A84DDD182216AF</out__trade__no>
  <spbill__create__ip>183.232.120.38</spbill__create__ip>
  <total__fee>100</total__fee>
  <trade__type>JSAPI</trade__type>
</xml>



我后台打印payReqResult如下:
System.out.println("payReqResult:"+payReqResult);
payReqResult:{"timeStamp":"1458111330","signType":"MD5","package":"prepay_id=null","paySign":"2289FC047D3C667C8E0B032FDE41C46C"}
prepayOrder.getPrepayId()返回的是null值






东莞相思鸟软件 专业X5开发团队 长期招收学徒 推荐工作
http://www.leiothrixsoft.com QQ:402807176
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-3-16 16:39:22 | 显示全部楼层
在/Baas/weixin/WxMpServiceInstance.java中加断点调试看看
InputStream inputStream = WxMpServiceInstance.class.getResourceAsStream("weixin.config.xml");
                        WxMpXMLInMemoryConfigStorage config = WxMpXMLInMemoryConfigStorage.fromXml(inputStream);
                        wxMpConfigStorage = config;
config是什么
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

53

主题

267

帖子

896

积分

高级会员

Rank: 4

积分
896
QQ
 楼主| 发表于 2016-3-17 08:48:05 | 显示全部楼层
本帖最后由 ajun007_cn 于 2016-3-17 09:04 编辑

<?xml version="1.0"?><xml><appId>wx3336**********8fb4d</appId><secret>15c4bd7f08***************3d585c25</secret><token>11259C9C</token><aesKey>3995e7290bcf42c39****************19577fd59e</aesKey><accessToken></accessToken><expiresIn></expiresIn><openId></openId><appKey>l7pq5l3vLlGRwg************otA</appKey></xml>
config里面的内容都是我自己的微信配置,为什么prepayOrder.getPrepayId()返回的是null值?
东莞相思鸟软件 专业X5开发团队 长期招收学徒 推荐工作
http://www.leiothrixsoft.com QQ:402807176
回复 支持 反对

使用道具 举报

53

主题

267

帖子

896

积分

高级会员

Rank: 4

积分
896
QQ
 楼主| 发表于 2016-3-17 09:05:59 | 显示全部楼层
jishuang 发表于 2016-3-16 16:39
在/Baas/weixin/WxMpServiceInstance.java中加断点调试看看
InputStream inputStream = WxMpServiceInstanc ...

能远程帮我看一下吗?
东莞相思鸟软件 专业X5开发团队 长期招收学徒 推荐工作
http://www.leiothrixsoft.com QQ:402807176
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-3-17 10:30:50 | 显示全部楼层
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

53

主题

267

帖子

896

积分

高级会员

Rank: 4

积分
896
QQ
 楼主| 发表于 2016-3-18 17:53:10 | 显示全部楼层
本帖最后由 ajun007_cn 于 2016-3-18 20:36 编辑

18.jpg
我核对了官方文档,11个必须参数都有了。
东莞相思鸟软件 专业X5开发团队 长期招收学徒 推荐工作
http://www.leiothrixsoft.com QQ:402807176
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-22 11:20 , Processed in 0.069058 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表