25 行
744 B
Markdown
25 行
744 B
Markdown
# 订单号格式回退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位即可(与之前一致)。
|