Appearance
交易状态
交易对象的 status 是充值、提现、站内转账共用的对外状态(命名与 Fireblocks 一致),subStatus 给出补充原因。
状态一览
status | 是否终态 | 适用 | 含义 |
|---|---|---|---|
SUBMITTED | 否 | 提现 | 已受理,资金已冻结,等待风控 |
PENDING_AML_SCREENING | 否 | 提现 | 反洗钱筛查中(预留:当前筛查在 SUBMITTED 阶段同步完成,一般不会出现) |
PENDING_AUTHORIZATION | 否 | 提现、站内转账 | 等待租户或平台管理员审批(命中审批策略或反洗钱需复核) |
QUEUED | 否 | 提现 | 已批准,排队等待签名执行 |
PENDING_SIGNATURE | 否 | 提现 | 签名中 |
BROADCASTING | 否 | 提现 | 已广播或正在广播,等待上链;也用于需要人工处理的异常(见 subStatus) |
CONFIRMING | 否 | 充值、提现 | 已上链,等待确认 / 最终性 |
PENDING_REVIEW | 否 | 充值 | 充值被挂起,等待人工处理,未入账 |
COMPLETED | 是 | 全部 | 完成。充值需结合 subStatus 判断是否入账(见下) |
CANCELLED | 是 | 提现 | 已取消,冻结资金已退回 |
REJECTED | 是 | 提现、站内转账 | 被风控或审批拒绝,冻结资金已退回 |
FAILED | 是 | 充值、提现 | 失败。提现的冻结资金已退回;充值未入账 |
REVERSED | 是 | 充值 | 已入账的充值因链重组被冲正 |
BLOCKED | 是 | — | 预留,当前不会出现(策略拦截体现为 REJECTED + BLOCKED_BY_POLICY) |
终态与非终态
终态(COMPLETED、CANCELLED、REJECTED、FAILED、REVERSED)之后状态不再变化,唯一例外是已入账充值 COMPLETED → REVERSED。非终态之间不保证单调前进:例如提现在 BROADCASTING 时若交易过期未上链,会回到 QUEUED(subStatus = REBUILD_AFTER_EXPIRY)重新构建。
subStatus 取值
subStatus | 出现于 | 含义 | 你方处理 |
|---|---|---|---|
null | 任意 | 无补充信息 | — |
BELOW_MIN_DEPOSIT | 充值 COMPLETED | 金额低于最小充值额,或不高于充值手续费,未入账 | 不给用户加钱;如需找回联系平台 |
BELOW_DEPOSIT_FEE | 充值 COMPLETED | 预留(金额不高于充值手续费)。当前实现中该情况也显示为 BELOW_MIN_DEPOSIT | 同上 |
ASSET_DEPOSIT_PAUSED | 充值 PENDING_REVIEW | 资产暂停充值,转人工 | 等待处理结果 |
WALLET_OR_NETWORK_HOLD | 充值 PENDING_REVIEW | 钱包冻结/关闭,或网络关闭自动入账,转人工 | 等待处理结果 |
AML | 充值 PENDING_REVIEW | 反洗钱筛查未通过或需复核 | 等待处理结果 |
not on canonical chain | 充值 FAILED | 交易失败或未进入主链(注意:此值为小写文本) | 无需处理 |
REORG | 充值 REVERSED | 原区块被替换,入账已冲正 | 扣回已入账金额 |
AML_REVIEW | 提现 PENDING_AUTHORIZATION | 反洗钱需平台复核 | 等待 |
AML_REJECTED | 提现 REJECTED | 反洗钱拒绝 | 通知用户;资金已退回 |
BLOCKED_BY_POLICY | 提现 REJECTED | 被租户交易策略拦截 | 资金已退回 |
REJECTED_BY_ADMIN | 提现 REJECTED | 审批人拒绝 | 资金已退回 |
REJECTED_AFTER_REVIEW | 提现 REJECTED | 人工处理后拒绝(确认不会再上链) | 资金已退回 |
CANCELLED_BY_USER | 提现 CANCELLED | 通过取消接口取消 | 资金已退回 |
INSUFFICIENT_FUNDS_PLATFORM | 提现 QUEUED | 平台热钱包余额暂不足,补充后自动继续 | 等待;可取消 |
REBUILD_AFTER_EXPIRY | 提现 QUEUED | 上一笔链上交易过期未上链,已作废并重新构建 | 等待(不会重复付款) |
SIGNER_REFUSED | 提现 BROADCASTING | 签名服务拒绝签名,转人工处理 | 等待;不可取消 |
MANUAL_REVIEW | 提现 BROADCASTING | 需要人工处理的执行异常 | 等待;不可取消 |
EXECUTION_REVERTED | 提现 FAILED | 链上交易执行失败(回滚),未付款 | 资金已退回,可重新发起 |
subStatus 可能新增取值,请把未知值当作“无需特殊处理”的补充信息。
充值状态流转
text
CONFIRMING ──┬──▶ COMPLETED(subStatus = null,已入账)──▶ REVERSED(REORG,极少)
├──▶ COMPLETED(BELOW_MIN_DEPOSIT,未入账)
├──▶ PENDING_REVIEW(ASSET_DEPOSIT_PAUSED / WALLET_OR_NETWORK_HOLD / AML,未入账)
└──▶ FAILED(未进入主链)| 平台内部状态 | 对外 status | subStatus |
|---|---|---|
OBSERVED、VERIFIED、PENDING_AML、PENDING_FINALITY | CONFIRMING | — |
CREDITED | COMPLETED | — |
BELOW_MINIMUM | COMPLETED | BELOW_MIN_DEPOSIT |
MANUAL_REVIEW | PENDING_REVIEW | 原因(见上表) |
REJECTED、ORPHANED | FAILED | 原因 |
REVERSING、REVERSED | REVERSED | REORG |
提现状态流转
text
SUBMITTED ──┬──▶ REJECTED(AML_REJECTED / BLOCKED_BY_POLICY)
├──▶ PENDING_AUTHORIZATION ──┬──▶ REJECTED(REJECTED_BY_ADMIN)
│ └──▶ QUEUED
└──▶ QUEUED
QUEUED ──▶ PENDING_SIGNATURE ──▶ BROADCASTING ──▶ CONFIRMING ──┬──▶ COMPLETED
▲ │ └──▶ FAILED(EXECUTION_REVERTED)
└────── REBUILD_AFTER_EXPIRY ──────┘
BROADCASTING(SIGNER_REFUSED / MANUAL_REVIEW)──▶ 人工处理 ──▶ QUEUED 或 REJECTED(REJECTED_AFTER_REVIEW)
SUBMITTED / PENDING_AUTHORIZATION / QUEUED ──▶ CANCELLED(CANCELLED_BY_USER,调用取消接口)提交响应与取消响应中的 state 字段是平台内部提现状态,对应关系如下(仅供排查,请以 status 为准):
内部 state | 对外 status | 默认 subStatus |
|---|---|---|
REQUESTED | SUBMITTED | — |
PENDING_AML_SCREENING | PENDING_AML_SCREENING | — |
PENDING_AUTHORIZATION | PENDING_AUTHORIZATION | — |
APPROVED | QUEUED | — |
WAITING_FUNDS | QUEUED | INSUFFICIENT_FUNDS_PLATFORM |
SIGNING、SIGNED | PENDING_SIGNATURE | — |
BROADCASTING、UNKNOWN | BROADCASTING | — |
PENDING_FINALITY | CONFIRMING | — |
COMPLETED | COMPLETED | — |
REJECTED | REJECTED | — |
CANCELLED | CANCELLED | — |
FAILED_FINAL | FAILED | — |
MANUAL_REVIEW | BROADCASTING | MANUAL_REVIEW |
状态变化时若带有具体原因(如 AML_REJECTED),subStatus 显示该原因,否则显示上表的默认值。
资金占用:提交成功即从可用余额冻结 amountRaw + feeRaw;COMPLETED 时扣除冻结;REJECTED、CANCELLED、FAILED 时全部退回可用余额。
站内转账状态流转
text
(创建)──┬──▶ COMPLETED (通常:立即到账)
└──▶ PENDING_AUTHORIZATION ──┬──▶ COMPLETED
└──▶ REJECTED(冻结资金退回付款方)站内转账的 subStatus 恒为 null。立即完成的站内转账只会推送一条 TRANSACTION_CREATED(data.status = COMPLETED),不会再有 TRANSACTION_STATUS_UPDATED。