付款人资讯通知
系统在首次取得存款人资讯时,会额外推送一个独立通知到商户的 payment_cl_name_notify_url,内含付款人的姓名、银行账号、银行代码。
此通知与收款交易结果通知各自独立:
- 收款交易结果通知 → 订单进入成功态时触发,推送到
notify_url - 付款人资讯通知 → 首次取得付款人资讯时触发,推送到
payment_cl_name_notify_url
一笔订单可能两种通知都收到(独立推送、独立签名、独立回覆)。
使用场景
本通知专为对帐与风控场景设计:
- 商户需要在订单成功前或成功后尽快拿到付款人身份(姓名、银行账号、开户银行)用于自家对帐系统
- 风控系统需要比对付款人资讯与会员绑定帐户
如何启用
在创建收款单时,额外传入 payment_cl_name_notify_url 参数(可选):
{
"platform_id": "PF0002",
"service_id": "SVC0015",
"payment_cl_id": "DEVPM00014581",
"amount": "50000000",
"notify_url": "https://merchant.example.com/webhook/deposit",
"payment_cl_name_notify_url": "https://merchant.example.com/webhook/payer-info",
"request_time": "1595504136",
"sign_type": "HMAC-SHA256",
"sign": "..."
}
未传入则不启用本通知。
请求资讯
- 请求 URL: 商户于申请收款时填入的
payment_cl_name_notify_url - 请求方式:
POST - Content-Type:
application/json;charset=utf-8
请求参数
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| payment_id | 是 | String | 系统订单号 |
| payment_cl_id | 是 | String | 商户订单号 |
| payment_cl_name | 是 | String | 付款人姓名 |
| payment_cl_number | 否 | String | 付款人银行账号 |
| payment_cl_bank_name | 否 | String | 付款人开户银行代码(参考越南银行列表) |
| sign_type | 否 | String | 签名算法标识(升级后会带入,详见下方「签名算法」) |
| sign | 是 | String | 订单签名 |
字段规则
payment_cl_name:付款人姓名原始值,不做格式化。payment_cl_number:付款人银行账号完整号码。若未提供,此参数会从 body 省略。payment_cl_bank_name:付款人开户银行代码,取值请参考 越南银行列表 的bank_name代码(如VCB、MB、TCB)。若无法判定,此参数会从 body 省略。
签名算法
本通知目前使用 MD5,将于 2026/05/01 起升级为 HMAC-SHA256
请商户预先实作能够依 sign_type 字段分流的验签逻辑:
sign_type字段不存在 → 以 MD5 验签(当前行为)sign_type = "HMAC-SHA256"→ 以 HMAC-SHA256 验签(升级后行为)
升级后旧的纯 MD5 验签将不再适用。请在 2026/05/01 前完成兼容。
目前签名规则(MD5):
- 取 body 中所有非空值字段,排除
sign、sign_type - 按参数名 ASCII 码由小到大排序
- 以
key=value形式用&连接(不做 URL encoding) - 在末尾追加
&{platform_service_sign_key} - 对完整字符串做 MD5 哈希
- 转为 32 位小写十六进制字符串
升级后签名规则(HMAC-SHA256,2026/05/01 起):
与签名说明统一——body 额外包含 sign_type: "HMAC-SHA256",并以 HMAC-SHA256(param_str, platform_service_sign_key) 产生 64 位小写十六进制签名。
请求示例
当前版本(MD5,body 不含 sign_type)
{
"payment_id": "PM00000102",
"payment_cl_id": "97a968b4a9db497c8c03198e395a38c6",
"payment_cl_name": "TRAN TRUNG HIEU",
"payment_cl_number": "10066777777",
"payment_cl_bank_name": "MB",
"sign": "d2e4534fce8c1d1053bbf59fd8ae4464"
}
仅姓名(银行资讯不可得):
{
"payment_id": "PM00000103",
"payment_cl_id": "a1c2d3e4f5g6h7i8",
"payment_cl_name": "NGUYEN VAN A",
"sign": "8a7b6c5d4e3f2g1h"
}
升级后版本(HMAC-SHA256,2026/05/01 起,body 带 sign_type)
{
"payment_id": "PM00000102",
"payment_cl_id": "97a968b4a9db497c8c03198e395a38c6",
"payment_cl_name": "TRAN TRUNG HIEU",
"payment_cl_number": "10066777777",
"payment_cl_bank_name": "MB",
"sign_type": "HMAC-SHA256",
"sign": "e8a5c3f2d1b4a6e9c7f0d2b5a8e1c4f7d0b3a6e9c2f5d8b1a4e7c0f3d6b9a2e5"
}
商户返回
{ "error_code": "0000" }
| 参数名 | 类型 | 说明 |
|---|---|---|
| error_code | String | 返回 "0000" 即表示商户已处理完成 |
备注
- 此接口由商户实现,本系统将于首次取得付款人资讯时消费此接口。
- 与
notify_url完全独立:两者的触发时机、推送 body、签名都各自独立,商户需分别实作处理端点。 - 本通知仅通知一次(不重试),商户需确保端点稳定。若端点返回非 2xx,资讯不会重送。
- 请使用非空值参与签名,且动态取得有返回值的字段,未来可能新增字段(如付款时间、银行分行)。