资料来源:网络整理
时间:2023/2/14 0:32:24 共计:3660 浏览
1.微信支付坑多多,签名Body竟出错
经过近期对微信支付的开发,走过太多的坑,真怕以后再做微信支付,特将小问题逐步整理.
此为微信支付中的native支付第二种支付方式,在请求参数时出现问题:body(商品描述)为中文时,签名失败,为英文时签名成功。
系统为考试系统,测试报名考试是否能正常生成二维码
测试1:考试名称为 wwwsdnh (全英文) [我将考试名称作为微信支付的body信息传入]
在这里插入图片描述
微信扫码后成功显示,妈呀好激动,终于完成了
在这里插入图片描述
结果测试2:考试名称为 测试点击报名考试时是否修改状态(中文)
前段vue报错:
在这里插入图片描述
后端vs中出现
在这里插入图片描述
查看
在这里插入图片描述
签名错误,纳尼,肿么可能!我刚刚明明成功了呀!好吧 我服!谁让微信是爸爸呢!
2.解决方案
通过我的一顿搜索,搞定
原因就是在于body是中文,转换出了问题导致签名的算法在转换时出错!
解决措施:
找到API的Data类的CalcHMACSHA256Hash方法
在这里插入图片描述
在这里插入图片描述
将var enc = Encoding.Default;
改为var enc = Encoding.UTF8; //修改Default为UTF8**
修改后
在这里插入图片描述
在这里插入图片描述
3.虽然解决了中文问题,但是还存在一点小问题,比如 数据中存在 冒号,暂时博主没找出解决方案,坐等大神补充~之后找到后会及时补充.

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。