找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 250|回复: 0

[基础] 微信退款出现“订单金额或退款金额与之前请求不一致,请核实后再试”

  [复制链接]
发表于 2023-2-23 09:29 | 显示全部楼层 |阅读模式

最近在进行微信退款时出现:“订单金额或退款金额与之前请求不一致,请核实后再试”

 

真奇怪,其他用户都能正常退款,为啥这个用户始终退不了款呢?

 

看了下源代码:$order['money'] * 100 为退款总金额,$order['money']为数据库decimal类型,保留2位小数。然后传入微信的接口,然后我们用的是EasyWechat组件,发现退款方法中,第4个参数为int类型:

public function byOutTradeNumber(string $number, string $refundNumber, int $totalFee, int $refundFee, array $optional = [])

{

    return $this->refund($refundNumber, $totalFee, $refundFee, array_merge($optional, ['out_trade_no' => $number]));

}

 

于是就试了一下:'137.20' * 100 = 13720,对呀,没错呀,然后再int一下,结果变成了13719,我去,三个同事查了一下午,只有一个细心的同事才发现了这个问题。记录一下。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|学习笔记

GMT+8, 2024-5-18 14:47 , Processed in 0.020761 second(s), 14 queries , APCu On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表