微信支付报"调用支付jsapi缺少参数 total_fee",实际Java统一

createh52周前 (12-17)技术教程15

微信支付报"调用支付jsapi缺少参数 total_fee",实际Java统一支付接口,返回“body参数长度有误”之前帮朋友做过一次微信支付,记得里面到处都是坑,今天朋友说出现问题提了:商品选择3个及3个以内的时候,正常支付,选择4个及以上的时候,就会支付失败。并传给我2张截图:

明显报错信息:调用支付jsapi缺少参数 total_fee

基于之前对微信支付的了解,这个报错参考意义并不大,很多种原因都会出现这个结果,

所以最好的办法就是输出接口调用的结果:


果然发现问题,是因为这个body参数有问题!


那么这个参数怎么会出现长度问题呢?看一下官方文档给出的解释:


当时开发的时候,参考这个文档接口规则-参数规定,把购买的商品名全部连在一起当作body参数的,忽略了参数长度问题;

实际上在AP列表-统一下单有参数说明的:


至此,问题定位好了,将参数内容改为一个固定的内容,解决了这个隐藏了很久的bug;

相关文章

java -jar 启动参数 java -jar 启动参数 内存

/usr/local/java/jdk1.8.0_131/bin/java -jar -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=...

java命令行参数 java命令行参数表示形式

命令行参数就是main方法里面的参数String[] args他就是一个数组,args只是数据类型的一个名称,就是一个数组的变量,名称无所谓,类型没变就行了。这个就是程序的入口点。如图7.4所示:图7...

Java启动参数设置 java启动参数设置java.exe名字

set JAVA_OPTS=-Xms4g -Xmx4g -Xmn3g -XX:SurvivorRatio=6 -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=2...

腾讯大佬详细讲解Java 启动exe程序,传递参数和获取参数

这篇文章主要介绍了java 启动exe程序,传递参数和获取参数操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧1、java中启动exe程序 ,并添加传参String[] cmd =...

Java程序的入口参数——main方法详解

//Java程序的入口参数——main方法public static void main(String[] args){......}public修饰符:Java类调用由JVM调用,为了让JVM可以自...

JVM诊断之查看运行参数 jvm运行参数说明

问题描述为了分析和定位一个Java线上系统问题,我们需要查看JVM启动时的一些参数设置,例如:垃圾回收算法、堆大小等等。这些参数可能在启动脚本中明确指明,也可能采用默认值。在系统运行过程中其他人也许动...