From d66d16405cbe70a54c3f8ad03e14ad9241ba960e Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Sat, 21 Mar 2026 15:09:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=AE=A2=E5=8D=95=E5=8F=B7=E5=9B=9E?= =?UTF-8?q?=E9=80=8020=E4=BD=8D=EF=BC=8C=E4=BF=AE=E5=A4=8D=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E6=94=AF=E4=BB=98out=5Ftrade=5Fno=E8=B6=85=E9=95=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- changelogs/2026-03/2026-03-21_orderNo_fix.md | 24 ++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 changelogs/2026-03/2026-03-21_orderNo_fix.md diff --git a/changelogs/2026-03/2026-03-21_orderNo_fix.md b/changelogs/2026-03/2026-03-21_orderNo_fix.md new file mode 100644 index 0000000..1eb7b08 --- /dev/null +++ b/changelogs/2026-03/2026-03-21_orderNo_fix.md @@ -0,0 +1,24 @@ +# 订单号格式回退20位 + +**日期**: 2026-03-21 +**服务**: hl-order-service +**类型**: Bug修复 + +--- + +## 问题 + +订单号之前从20位改为25位(毫秒精度),导致微信支付接口报错"商户订单号错误"。原因是微信支付 `out_trade_no` 限制最长32位,订单号25位加上支付类型后缀 `-DEPOSIT-V99` 最长达37位,超限。 + +## 修复 + +订单号回退为20位:`HL` + 秒级时间戳(14位) + 4位随机数。 + +| | 修复前 | 修复后 | +|---|--------|--------| +| 示例 | HL2026032114580490720445 (25位) | HL202603211458041234 (20位) | +| out_trade_no 最长 | 25+12=37位 (超限) | 20+12=32位 (刚好) | + +## 前端影响 + +订单号展示区域确保支持20位即可(与之前一致)。