微信支付 invalid total_fee 无效的支付金额

关于这个无效的支付金额问题,我首先百度了一下,基本都是引用了官方文档中的一句话:

交易金额默认为人民币交易,接口中参数支付金额单位为【分】,参数值不能带小数。对账单中的交易金额单位为【元】。

外币交易的支付金额精确到币种的最小单位,参数值不能带小数点。

但是我出现的是另一种情况 :

即,金额是20000119.00,千万级的,

表字段是允许有这么大的长度,然后乘以100,最终获得的total_fee=2000011900,这个金额创建订单,就是失败的状态;

当然,因为我乘以100获得的double,然后又点的intValue(),所以如果金额*100,获得的total_fee超出int的范围,则最终的total_fee值 会变成2147483647,都不是带小数的;

百度了微信支付限额:

微信支付相关限额


然而并没什么卵用;

打电话找微信客服,扯了半天,就问他一个问题:"微信支付在支付接口开发中,对于下单的支付金额有没有做什么限制?(就是我们的total_fee)",然后他就一直给我扯什么个人支付商户支付,也是醉了;傻乎乎的人,没有任何收获!


继续尝试,设置支付金额为1000W,可以唤起微信支付;

1000W以上的,全都是," invalid total_fee ",完全唤不起微信支付;


暂时不清楚具体的状况;

解决方法

只有把我们商户后台设置支付金额降低到1000W以下,这样就不出现唤不起微信支付的情况了;

这里不考虑什么储蓄卡/信用卡,单日单次支付限额;纯粹是测试瞎玩的,只是为了解决测试测出的bug;


你可能感兴趣的:(微信开发,异常,错误)