确认支付
通过提供链上交易哈希来手动确认支付。此接口使用请求体 accessSign 认证。
TIP
大多数情况下,HashNut 会自动检测链上支付。仅当自动检测失败或您希望加速确认时才需使用此接口。
接口
POST /v4.0.0/pay/orders/confirm请求体
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
payOrderId | string | 是 | HashNut 订单 ID |
merchantOrderId | string | 是 | 您的唯一订单标识符 |
payTxId | string | 是 | 证明已支付的链上交易哈希 |
accessSign | string | 是 | 请求体的 HMAC-SHA256 签名(不包含 accessSign 本身) |
请求示例
json
{
"payOrderId": "PO202606210001",
"merchantOrderId": "ORDER-20260621-001",
"payTxId": "0x9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba",
"accessSign": "BASE64_HMAC_SIGNATURE"
}响应示例
json
{
"code": 0,
"msg": "success"
}确认调用成功后,订单状态将转为 CONFIRMING (2),HashNut 随后验证区块确认。确认完成后,状态变为 SUCCESS (3) 并发送 Webhook 通知。
WARNING
payTxId 必须是对应链上已最终确认的有效交易。提交无效或不相关的交易哈希将导致错误,或订单保持当前状态不变。
自动检测 vs 手动确认
| 特性 | 自动检测 | 手动确认 |
|---|---|---|
| 触发方式 | HashNut 监控区块链 | 商户调用此接口 |
| 交易哈希 | 自动检测 | 由商户提供 |
| 使用场景 | 默认流程 | 检测延迟时的备选方案 |
| 调用后状态 | 不适用 | CONFIRMING (2) |
