微信支付 2026-09 更新对接笔记:AI 支付上线,退款入账账户不再返回卡尾号
文档:总览_更新日志,更新时间 2026.09.01。
2026-09
支付产品:上线《AI 支付》
2026-09 上线《AI 支付》能力,归属【支付产品】类目,新接入按该产品文档走。
2026-06
微信支付分:materiel_no 更名为物料URL
《创建支付分订单》《完结支付分订单》《修改订单金额》同步更新:
- 原
materiel_no【物料编码】更名为materiel_no【物料URL】。
字段名没动,改的是语义和文档名称。填写规则为:参与政策填微信支付运营加参后的 URL,未参与政策填商家自有 URL。代码里如果按「物料编码」做过长度或字符集校验(纯数字、短字符串之类),改成 URL 后需要放宽,别把带 :// 的值拦掉。
商家转账:商户单号查询授权结果新增选填字段
《商户单号查询授权结果》更新:
- 请求参数新增
is_display_authorization【是否展示用户授权信息】,选填。 - 返回参数新增
package_info【跳转授权信息页的 package 信息】,选填。
两个都是选填,不改也能跑;需要引导用户看授权信息页时再用 package_info。
退款:user_received_account 银行卡展示去掉卡尾号
涉及接口:
- 《申请退款》
- 《查询单笔退款(通过商户退款单号)》
- 《发起异常退款》
- 《退款结果通知》
返回参数 user_received_account 的银行卡展示形式调整:
调整前:{银行名称}{卡类型}{卡尾号}
调整后:{银行名称}{卡类型}
不再返回卡尾号。这一项直接打到对账和展示逻辑:如果之前把 user_received_account 原样透传给用户,或从字符串里截取卡尾号做对账匹配,都要改。
更早的相关变更(对比用)
- 【微信支付分】
materiel_no(物料编码)填写规则:参与政策填微信支付运营加参后 URL,未参与政策填商家自有 URL。 - 【合单支付】《App/H5/JSAPI/Native/小程序合单下单》《查询合单订单》《关闭合单订单》《合单订单支付成功回调通知》请求/返回参数更名:
sub_orders(子单信息列表)→sub_orders(商品单信息)out_trade_no(子单商户订单号)→out_trade_no(商品单商户订单号)
- 【退款】
user_received_account新增退款入账方式枚举值:退回用户经营账户、退回支付用户银行电子账户、退回支付用户零花钱、退回支付用户来华零钱包等。
升级改造要点
- 退款入账账户解析:删除所有依赖卡尾号的逻辑。正则、字符串切分、
split后取末段的写法都要清掉;展示层直接展示{银行名称}{卡类型},不要再拼「尾号 XXXX」。 - 退款对账:如果对账文件里用卡尾号做人工核对或匹配,需要换匹配口径,不要从
user_received_account反推尾号。 - 退款入账方式枚举:解析
user_received_account时要容忍新增枚举值(经营账户、银行电子账户、零花钱、来华零钱包等),避免switch落到 default 后报错或写成未知。 - 支付分
materiel_no:字段名不用改,检查校验规则是否只接受编码格式;参与政策的订单填运营加参后 URL,未参与的填商家自有 URL。 - 合单支付:接口出入参字段名不变,改的是文案与语义。把代码里的变量名、注释、日志、前端展示的「子单」「子单商户订单号」同步改成「商品单」「商品单商户订单号」,避免后续对接时按旧语义理解。
- 商家转账:非必须改造,需要展示授权信息页时接入
package_info与is_display_authorization。
回调侧实现要点
退款结果通知返回 user_received_account,商户侧若解析卡尾号用于展示或对账,需改造。
- 回调报文以 AES-256-GCM 加密,
resource.algorithm = AEAD_AES_256_GCM,用 APIv3 密钥 +resource.nonce+resource.associated_data解密ciphertext。 - 回调需在 5 秒内应答 200/204,否则按 15s/15s/30s/3m/10m/20m/30m/30m/30m/60m/3h/3h/3h/6h/6h 重试,最多 15 次。
- 验签失败应返回 4xx/5xx。
- 签名探测流量带
WECHATPAY/SIGNTEST/前缀。