2019独角兽企业重金招聘Python工程师标准>>>

/** * MD5编码 * @param origin 原始字符串 * @return 经过MD5加密之后的结果 */ public static String MD5Encode(String origin) { String resultString = null; try { resultString = origin; MessageDigest md = MessageDigest.getInstance("MD5"); // resultString = byteArrayToHexString(md.digest(resultString.getBytes()));//原文件内容,可能原因是:win2003时系统缺省编码为GBK,win7为utf-8 resultString = byteArrayToHexString(md.digest(resultString.getBytes("utf-8")));//正确的写法 } catch (Exception e) { e.printStackTrace(); } return resultString; } private static String byteArrayToHexString(byte[] digest) {

 StringBuffer hexValue = new StringBuffer();for (int i = 0; i < digest.length; i++) {int val = ((int) digest[i]) & 0xff;if (val < 16)hexValue.append("0");hexValue.append(Integer.toHexString(val));}return hexValue.toString();
}String sign = MD5Encode(parbuffer.toString());data.setSign(sign);HttpRequest httpRequest = HttpRequest.post("https://api.mch.weixin.qq.com/pay/unifiedorder");String x = xstream.toXML(data);httpRequest.body( StringUtil.convertCharset(x, "UTF-8", "ISO-8859-1"));HttpResponse response = httpRequest.send();String body = response.body();body = StringUtil.convertCharset(body, "ISO-8859-1", "UTF-8");

这样就把问题解决了 注意一下:给微信提交数据的时候需要是ISO-8859-1编码

httpRequest.body( StringUtil.convertCharset(x, "UTF-8", "ISO-8859-1"));

转载于:https://my.oschina.net/cng1985/blog/681415

微信支付 body不是UTF-8编码以及中文签名错误的问题相关推荐

  1. C# 微信JS-SDK之config接口注入权限验证invalid signature签名错误

    文章目录 1.开发环境 2.我的代码 3.问题描述 4.问题分析 5.问题根源 6.解决办法 记一次使用微信JS-SDK分享接口,config接口注入权限验证失败, 提示invalid signatu ...

  2. 微信卡券开发-卡券领取config包装(附:卡券签名错误解决方案)

    一.介绍 微信卡券领取的时候,调用js领取接口,需要给包装一个config,给js使用 开发的时候遇到了很多坑,在这里面记录一下 二.注意 1.卡券使用的jsapi_ticket,比较特殊,具体获取方 ...

  3. 微信支付 body不是UTF编码格式

    eclipse环境 utf-8编码 数据库也是utf-8,Tomcat  UTF-8编码 body编码不是UTF-8 解决地方有两个 一个是签名时MD5指定编码 加密前先转码(text 时候拼接数据) ...

  4. 微信支付-我遇到的那些问题

    现在,越来越多公司,选择借微信的势来发展自己的平台,进入工作没多久,我也被告知了要对接微信支付的需求.原本以为这样的对接,跟着文档走,应该没多大的难度的,可是后来,我才发现,原来我太天真了.在此,留下 ...

  5. 微信支付生成签名和验签SDK源码分析

    目录 一.签名分析 1.1 流程分析 1.构造签名串 2.计算签名值 3.设置请求头 二.源码级别分析 二.获取平台证书分析 三.验签分析 3.1 验签使用场景: 3.2 验证流程: 1.获取微信平台 ...

  6. 微信支付 postman_小刘同学微信支付接入全笔记

    走上"码农"这条路已经快一年半啦,做过不少的Demo和项目,也接触了不少的业务场景,8000w的大数据量处理,QPS500+的并发优化,也算是在开发的这条路上踏出了入门向前的步伐: ...

  7. 实战微信支付 APIv3 接口(小程序的)

    开场白直接引用官方文档的吧. 为了在保证支付安全的前提下,带给商户简单.一致且易用的开发体验,我们推出了全新的微信支付 APIv3 接口. 为啥不用官方 SDK? 官方 SDK 不错,只是依赖 Apa ...

  8. 微信小程序走工行渠道的微信支付

    首先吐槽一个工行的效率问题,兜圈子,回复慢,人家事还多.对接和一堆业务员对接,完全不懂技术,说不到点上.给的账号三番五次是错的,并且文档描述也和实际demo不一致,完全靠百度一点一点磨出来的. 微信小 ...

  9. 手把手教你完成App支付JAVA后台-微信支付JAVA

    上篇我们记录了手机端的微信支付的大致流程,期间可能会遇到各种各样的错误,但这些问题没有得到官方的重视,所以我们只能一步步自己排查,要有足够的耐心. 这篇内容看标题已经很明确了,由于微信是用xml通讯的 ...

最新文章

  1. SBO_SP_TransactionNotification 存储过程的应用
  2. 互联网协议 — 互联网的技术发展
  3. 中国石油管道科技研究中心2014届应届毕业生招聘(软件工程师岗)
  4. LSMW批处理使用方法(10)_步骤12、13
  5. Maven超详细配置
  6. linux服务器用户组和权限管,linux 用户管理,用户权限管理,用户组管理
  7. 从ASM拷贝文件的方法
  8. Python-爬取我去图书馆座位编码
  9. vspy如何在图形面板显示报文_盘点市售三款USBC 86型面板插座,支持iPhone 12快充...
  10. Azure CLI 简单入门
  11. Sharepoint 浅谈 [转]
  12. 【POJ 2449】第K短路【A*算法】
  13. c语言图像对比度增强,图像对比度增强实验分析报告.doc
  14. ArGIS Engine专题(8)之利用GP监督分类最大似然法实现根据矢量样本和影像提取植被类型
  15. COMSOL吸附模拟
  16. 员工意志和欲望的发展管理
  17. 【英语学习】英语语法术语表 English Grammar Terminology
  18. STM32L475 SPI驱动LCD ST7789V2详解
  19. CPU、GPU、TPU、NPU等到底是什么
  20. onlyoffice安装之二:centos7安装

热门文章

  1. [JS进阶] JS 之Blob 对象类型
  2. python变量类型声明_python基础知识:变量的定义以及类型
  3. java用cmd编译access数据库_java直接存取MS Access的mdb数据库文件
  4. Python中字符串的startswith()和endswith()方法
  5. 使用MyBatis Plus 3.2.0版本插件代码生成器生成实体类后,对于数据库中字段类型datetime的字段会转变为LocalDateTime类型
  6. CentOS7中解决root用户Operation not permitted
  7. Eclipse“ctrl+左键”链到实现类
  8. MyEclipse格式化代码设置
  9. left join嵌套selelct语句格式_SQL Formatting Rule 格式化行业规范
  10. 请键入 net helpmsg 3534 以获得更多的帮助。_身边有人得了抑郁症,可以做点什么帮助Ta?| 心理小课...