单独绑卡 POST /v1/wallet/account/bind
用途:已开户用户追加绑卡(一期仅 单绑 SINGLE_BIND)。未开户返回 INVALID_PARAMETER(用户未开户)。已开户则申请宝付绑卡链接;成功后通知 BIND_CARD_SUCCESS。
Body 字段说明
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
merchantId |
string | 条件 | 商户直连必填;统一会员可省略 |
terminalId |
string | 条件 | 商户直连必填;统一会员可省略 |
merchantRequestNo |
string | 是 | 商户请求流水号;幂等键:merchantId + merchantRequestNo |
cardHolderName |
string | 是 | 持卡人姓名,最长10字符 |
idCardNo |
string | 是 | 证件号 |
idCardType |
string | 是 | 证件类型,如 ID_CARD |
mobile |
string | 是 | 手机号 |
pageUrl |
string | 是 | 绑卡完成回跳地址 |
notifyUrl |
string | 是 | 异步通知地址(HTTPS) |
contractNo |
string | 否 | 签约号;可不传,系统按证件号查开户后使用账户侧 contractNo |
ext |
string | 否 | 扩展 JSON 字符串 |
请求示例
{
"merchantId": "M100001",
"terminalId": "T10001",
"merchantRequestNo": "MCH202505250002",
"cardHolderName": "张三",
"idCardNo": "310101199001011234",
"idCardType": "ID_CARD",
"mobile": "13800138000",
"pageUrl": "https://merchant.example.com/bind/return",
"notifyUrl": "https://merchant.example.com/callback/wallet/bind"
}
响应体字段说明(resBody / body)
| 字段 | 类型 | 说明 |
|---|---|---|
merchantRequestNo |
string | 商户请求流水号(与请求一致);用于 绑卡结果查询 |
walletBizNo |
string | 钱包业务号 |
contractNo |
string | 签约号(用户已开户) |
url |
string | cutpayment 前台入口 |
token |
string | 明文 token; |
expireTime |
string | 链接过期时间,yyyyMMddHHmmss |
成功响应示例
{
"merchantRequestNo": "MCH202505250002",
"walletBizNo": "4001010120250525120000000002",
"contractNo": "C20250525000001",
"url": "https://cutpayment.example.com/protocol/onceOperationPageRedirect",
"token": "a1b2c3d4e5f6789012345678abcdef01",
"expireTime": "20260525160000"
}
常见失败 code
| code | 说明 |
|---|---|
INVALID_PARAMETER |
用户未开户 |
TRADE_ERROR |
产品未开通、cutpayment 申请失败 |
| 其他 | 同 绑卡开户文档 |