Webhook 通知
上游通知按环境进入对应地址:正式环境为 https://uqpay.zytong.cn/webhook/notify ,沙箱环境为 https://uqpay-sandbox.zytong.cn/webhook/notify 。平台用该环境自己的密钥验签并更新订单后,转发到客户启用凭证上的 https 回调地址。报文中不含 app_id。
POST商户 callback_url
通知字段
| 参数 | 类型 | 说明 |
|---|---|---|
version |
string | 接口版本,如 V1.6.0 |
event_name |
string | 事件分类。发卡事件为 ISSUING |
event_type |
string | 具体事件。开卡成功为 card.create.succeeded,失败为 card.create.failed |
event_id |
string | 事件编号。重试时不变,请用它去重 |
source_id |
string | 触发事件的来源编号。开卡、充值、提现、状态变更时为上游卡订单号 |
data |
object | 事件内容。不同 event_type 的字段不同,下面以开卡成功为例 |
data.card_id |
string | 卡片 ID |
data.card_bin |
string | 卡 BIN |
data.card_scheme |
string | 卡组织,如 VISA、MASTERCARD |
data.card_number |
string | 掩码卡号,不含 CVV |
data.form_factor |
string | VIRTUAL 虚拟卡,PHYSICAL 实体卡 |
data.mode_type |
string | SHARE 共享额度,SINGLE 单卡额度 |
data.card_product_id |
string | 卡产品 ID |
data.card_available_balance |
string | 卡片可用余额 |
data.card_status |
string | PENDING 处理中,ACTIVE 可用,FROZEN 冻结,BLOCKED 锁定,PRE_CANCEL 预注销,CANCELLED 已停用,FAILED 创建失败 |
data.cardholder |
object | 持卡人摘要 |
data.cardholder.cardholder_id |
string | 持卡人 ID |
data.cardholder.cardholder_status |
string | SUCCESS、PENDING、INCOMPLETE、FAILED |
data.cardholder.email |
string | 邮箱 |
data.cardholder.first_name |
string | 名 |
data.cardholder.last_name |
string | 姓 |
data.cardholder.create_time |
string | 持卡人创建时间,ISO 8601 |
data.metadata |
object | 开卡时写入的自定义信息 |
data.risk_control |
object | 3DS 等风控设置。未设置时可能不返回 |
data.spending_limits |
array | 消费限额。interval 如 PER_TRANSACTION,amount 为该区间上限 |
转发报文
外层字段与官方 Event 一致:version、event_name、event_type、event_id、source_id、data。每张凭证单独投递一次,Authorization 用这张凭证自己的 token:对 JSON 做字典序拼接后追加 token,再取 MD5。没有填写回调地址的凭证不会收到通知。卡号只会是掩码,不含 CVV。
处理建议
请按 event_id 去重,并返回 HTTP 200。data 的字段随 event_type 变化。开卡关注 card.create.succeeded、card.create.failed;充值是 card.recharge.succeeded / card.recharge.failed;提现是 card.withdraw.succeeded / card.withdraw.failed;状态变更是 card.status.update.succeeded / card.status.update.failed。交易类事件的 event_type 形如 issuing.transaction.authorization。右侧示例是开卡成功。