微信现金红包签名失败问题
2018-11-29 09:46:31来源:博客园 阅读 ()
这两天做微信现金红包,返回数据总是提示签名错误,我自己生成的签名和微信提供的签名验证接口生产的一模一样 ,API密钥也没有错,就是不知道什么问题,网上查了一圈,发现是微信文档有点坑,参数一定要按照下面的顺序生产签名才可以,对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)
<act_name>act_name</act_name>
<client_ip>client_ip</client_ip>
<mch_billno>mch_billno</mch_billno>
<mch_id>mch_id</mch_id>
<nonce_str>nonce_str</nonce_str>
<re_openid>re_openid</re_openid>
<remark>remark</remark>
<send_name>send_name</send_name>
<total_amount>total_amount</total_amount>
<total_num>total_num</total_num>
<wishing>wishing</wishing>
<wxappid>wxappid</wxappid>
<sign>sign</sign>
下面是部分代码
1 1 Map<String,String> map = new LinkedHashMap<String,String>(); 2 2 //生成签名 3 3 map.put("act_name", sendRedPack.getAct_name()); 4 4 map.put("client_ip", sendRedPack.getClient_ip()); 5 5 map.put("mch_billno", sendRedPack.getMch_billno()); 6 6 map.put("mch_id", sendRedPack.getMch_id()); 7 7 map.put("nonce_str", sendRedPack.getNonce_str()); 8 8 map.put("re_openid", sendRedPack.getRe_openid()); 9 9 map.put("remark", sendRedPack.getRemark()); 10 10 map.put("send_name", sendRedPack.getSend_name()); 11 11 map.put("total_amount", sendRedPack.getTotal_amount()); 12 12 map.put("total_num", sendRedPack.getTotal_num()); 13 13 map.put("wishing", sendRedPack.getWishing()); 14 14 map.put("wxappid", sendRedPack.getWxappid()); 15 15 16 16 String sign = WXPayUtil.generateSignature(map, key); //采用Md5签名
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Java实现金字塔:1 212 32123 4321234 543212345 2020-06-09
- SpringBoot实现微信小程序登录的完整例子 2020-06-01
- 如何利用Spring Boot 整合微信小程序实现登录与增删改查(含 2020-05-20
- Springboot整合微信小程序实现登录与增删改查 2020-05-01
- Android连载5-编写一个微信聊天界面 2020-04-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash