关于开发微信红包遇到的问题
来源:互联网 发布:企业文化 知乎 编辑:程序博客网 时间:2024/05/16 06:49
1.在本地环境开发时,遇到"签名错误"
关于参数拼接以及sign的MD5生成,微信官方已经给出详细的案例,这里不作说明。(需要注意的是参数的排序以及为空的字段不参与md5加密)
https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=4_3
在此列出我遇到的问题:
1.1通过微信官方提供的校验页面,能确定sign生成没有问题,在请求参数中不包含中文的情况下可以发起。
这里的解决思路是:
将生成的xml字符串在发起请求时,做以下编码处理:
xmlStr = new String(xmlStr.getBytes(), "ISO8859-1");
1.2做了以上修改后仍不生效,需要注意jvm的默认编码问题。
由于我使用tomcat进行部署,这里以tomcat作说明。
找到tomcat安装目录下的catalina.bat文件(linux环境下为catalina.sh)进行配置
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8
设置完后可以在在程序中加上判断是否生效的检查代码:
如果能够正常设置为UTF-8则能正常发起带中文参数的微信红包
但我多次确认设置下一直显示GBK,遂另找方法,最后解决思路:
新增一个系统环境变量,变量名"JAVA_TOOL_OPTIONS",变量值"-Dfile.encoding=UTF-8"
2由于是从一个公众号给另一个公众号的粉丝发红包,涉及“appid and openid不匹配”的问题。
2.1在微信开放平台(https://open.weixin.qq.com)中将两个公众号绑定在同一个开发平台账号下。
2.2执行红包赠送时,将发送者openid更换成unionid。
(access_token获取方法:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183)
(unionid获取方法:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140839)
关于参数拼接以及sign的MD5生成,微信官方已经给出详细的案例,这里不作说明。(需要注意的是参数的排序以及为空的字段不参与md5加密)
https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=4_3
在此列出我遇到的问题:
1.1通过微信官方提供的校验页面,能确定sign生成没有问题,在请求参数中不包含中文的情况下可以发起。
这里的解决思路是:
将生成的xml字符串在发起请求时,做以下编码处理:
xmlStr = new String(xmlStr.getBytes(), "ISO8859-1");
1.2做了以上修改后仍不生效,需要注意jvm的默认编码问题。
由于我使用tomcat进行部署,这里以tomcat作说明。
找到tomcat安装目录下的catalina.bat文件(linux环境下为catalina.sh)进行配置
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8
设置完后可以在在程序中加上判断是否生效的检查代码:
如果能够正常设置为UTF-8则能正常发起带中文参数的微信红包
但我多次确认设置下一直显示GBK,遂另找方法,最后解决思路:
新增一个系统环境变量,变量名"JAVA_TOOL_OPTIONS",变量值"-Dfile.encoding=UTF-8"
2由于是从一个公众号给另一个公众号的粉丝发红包,涉及“appid and openid不匹配”的问题。
2.1在微信开放平台(https://open.weixin.qq.com)中将两个公众号绑定在同一个开发平台账号下。
2.2执行红包赠送时,将发送者openid更换成unionid。
(access_token获取方法:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183)
(unionid获取方法:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140839)
阅读全文
0 0
- 关于开发微信红包遇到的问题
- 微信开发中遇到的问题
- 微信网页开发遇到的问题
- java 开发微信红包
- 小程序开发红包遇到的问题 小程序发公众号的红包
- 关于Android 微信APP支付开发中遇到的问题
- 关于微信公众号支付接口开发遇到的奇葩问题,始终返回get_brand_wcpay_request:fail。
- 关于微信红包的作业题的解决思路
- 关于微信红包的一些算法可能性
- 关于微信红包游戏的策略分析
- 微信红包问题:找出某个出现次数超过红包总数一半的红包的金额(面试题)
- 微信红包的算法
- 微信现金红包高级红包接口开发注意事项
- 微信开发 现金红包、裂变红包、企业付款
- 【微信支付】开发遇到的一些问题一些弯路
- 微信企业号开发可能遇到的问题
- 初次微信web开发遇到的问题
- Android 开发微信分享功能遇到的问题
- Java线程(一):线程结构图及状态
- Android Render(二)WindowManagerImpl的addview跟viewGroup的addview有什么不同?
- Exception executing batch: org.hibernate.StaleStateException: Batch update returned unexpected row
- 20171101
- day10
- 关于开发微信红包遇到的问题
- 网络是怎样连接的学习笔记(三)
- 关于lateral view 和 explode 很不错的讲解
- Unity3d设置鼠标指针的样式
- 精通CSS高级Web标准解决方案(第2版)
- 面试结束时要说的那句话
- 【HDU
- CentOS7 python安装ta_lib
- leetcode 200