3.4 KiB
3.4 KiB
小程序付费 & 会员制功能 ID 规范
核心支付相关 ID 规范(基于数据表 wechat_pay_tables.sql)
| 类别 | 字段名 | 数据类型 | 命名规则 | 示例 | 备注 |
|---|---|---|---|---|---|
| 微信支付订单 | order_id |
varchar(64) | XZ{{YYYYMMDD}}{{HHMMSS}}{{随机6位}} |
XZ20250930200018WWvII2 |
主键,64位以内,全局唯一 |
| 商户订单号 | out_trade_no |
varchar(32) | {{业务前缀}}{{时间戳}}{{随机4位}} |
PAY1719301123a7f2 |
32位以内,商户系统唯一 |
| 微信支付订单号 | transaction_id |
varchar(32) | 微信返回 | 4200001234567890123 |
微信支付系统生成,只读 |
| 预支付会话ID | prepay_id |
varchar(64) | 微信返回 | wx123456789abcdef |
微信支付系统生成,只读 |
| 退款ID | refund_id |
varchar(64) | RF{{订单ID后16位}}{{序号2位}} |
RF200018WWvII201 |
主键,64位以内,支持多次退款 |
| 商户退款单号 | out_refund_no |
varchar(64) | {{业务前缀}}{{订单号后8位}}{{序号4位}} |
REFPAY18WWvII20001 |
64位以内,商户系统唯一 |
| 微信退款单号 | refund_id_wx |
varchar(32) | 微信返回 | 50000123456789012345 |
微信支付系统生成,只读 |
| 支付配置ID | config_id |
int | 自增ID | 1 |
自增主键,系统配置用 |
| 支付日志ID | log_id |
bigint | 自增ID | 1234567890 |
自增主键,日志记录用 |
业务扩展 ID 规范
| 类别 | 字段名 | 命名规则 | 示例 | 备注 |
|---|---|---|---|---|
| 商品 | product_id |
prod_{{业务缩写}}_{{序号}} |
prod_vip_001 |
全局唯一,不可复用 |
| 会员快照 | member_snap_id |
snap_{{用户ID}}_{{版本号}} |
snap_u123_v2 |
每次会员状态变更生成新快照 |
| 权益实例 | benefit_inst_id |
bf_{{会员快照ID}}_{{权益码}} |
bf_snap_u123_v2_free_ship |
权益码统一定义,如 free_ship |
| 优惠券 | coupon_id |
cp_{{批次码}}_{{序号}} |
cp_newbie_0001 |
批次码:newbie/vip/gift |
| 券实例 | coupon_inst_id |
ci_{{用户ID}}_{{coupon_id}}_{{随机4位}} |
ci_u123_cp_newbie_0001_x9k2 |
用户维度唯一 |
| 交易流水 | trans_seq |
ts_{{毫秒时间戳}}_{{随机6位}} |
ts_1719301123456_z3m8vq |
对账用,全局自增 |
统一约束
- 字符规范:全部小写,下划线分隔,无特殊符号。
- 长度限制:严格按照数据表字段长度限制,订单ID≤64位,商户订单号≤32位。
- 时间戳格式:统一使用10位秒级时间戳,保持长度一致。
- 随机字符:使用
0-9a-z避免易混淆字符0o1l。 - 业务前缀:支付相关使用
XZ、PAY、RF等标准前缀。 - 数据一致性:确保订单、支付、退款、权益、优惠券全链路可追踪。
- 微信字段:
transaction_id、prepay_id、refund_id_wx等由微信系统生成,不可自定义。
字段长度对照表
| 字段类型 | 最大长度 | 推荐格式 | 说明 |
|---|---|---|---|
order_id |
64字符 | XZ{{YYYYMMDD}}{{HHMMSS}}{{6位随机}} |
主订单ID |
out_trade_no |
32字符 | PAY{{10位时间戳}}{{4位随机}} |
商户订单号 |
refund_id |
64字符 | RF{{订单ID后16位}}{{2位序号}} |
退款ID |
out_refund_no |
64字符 | REF{{商户订单号}}{{4位序号}} |
商户退款单号 |