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位即可(与之前一致)。