> ## Documentation Index
> Fetch the complete documentation index at: https://waffo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Waffo 能自动帮我提现余额吗？提现怎么对接？

> 自动提现合约的完整说明——如何触发、六种状态各自的含义、余额低于阈值时会发生什么、如何暂停或终止——以及提现Webhook 通知事件、如何区分 API 提现和 Portal 提现、导出提现列表，还有提现上的 openingRegion 和 fundsFrom 是什么意思。

[提现：异常与状态](/docs/zh/support/withdrawal-exceptions-and-status-faq) 讲的是一笔提现出了问题怎么办。
[提现与余额 API](/docs/zh/support/withdrawal-and-balance-api-faq) 是接口契约。**本页讲的是这两页都没有回答的两件事**：
把提现自动化，让你不必再手工发起；以及围绕提现的对接细节——Webhook 通知、标识符、导出。

## Waffo 能自动帮我提现结算余额吗？

可以，通过**自动提现合约**实现。一份合约绑定一份提现协议和一个收款银行账户，按你与 Waffo 约定的规则
替你发起提现。

合约由 Waffo 配置，经过内部审批后才会生效。合约建立之后，你可以在 Portal 的 **Account → Withdraw → Auto
Withdrawal** 中自行查看并操作它。

要申请一份合约，请[联系支持](mailto:support@waffo.com)，说明你要哪个币种、哪个收款账户、以及想用什么规则。

## 自动提现是怎么触发的？

有两种触发类型：

| `triggerType` | 规则 |
| - | - |
| `AMOUNT_ONLY` | 每天检查。当你的可提现余额达到阈值时，发起一笔提现 |
| `AMOUNT_WITH_PERIOD` | 只在周期指定的日期检查。在这些日期，仍然必须满足阈值 |

对于 `AMOUNT_WITH_PERIOD`，周期是以下之一：

| `periodType` | 周期配置 | 触发日 |
| - | - | - |
| `DAILY` | — | 每天 |
| `WEEKLY` | 一周中的星期几，如 `1,3` | 周一和周三 |
| `MONTHLY` | 一个月中的日期，如 `1,15`、`last` 或 `15,last` | 每月 1 日和 15 日；每月最后一天；两者都有 |

每份合约还带有一个**触发时间**，以 `UTC+8` 表示。自动化任务在一天之内反复检查，并在该时间之后的第一次检查时执行；
一个按天粒度的保护机制保证**每份合约每天最多一笔自动提现**，无论检查跑了多少次。

Portal 会把组装好的规则以可读的句子显示在合约行上，你不必自己从字段里拼出来。

## 自动提现一次提多少钱？

**你的全部可提现余额**，而不是阈值金额。

阈值是条件，不是金额。一旦阈值满足，合约就会把当时所有可提现的钱全部提出——即结算账户的可用余额，减去你的
保证金安排所扣留的金额。这与 Portal 显示给你的可提现金额是同一个数字，也与手工全额提现会提取的数字相同。

为什么可提现金额可能低于账户余额，见[余额与账户历史](/docs/zh/support/balance-and-account-history-faq)。

## 某天我的余额低于阈值会怎样？

\*\*什么也不会发生，也不会失败。\*\*不会创建提现订单，不会对你的账户抛出错误，也不会留下失败记录要你清理。
下一次计划检查会再次应用同样的规则。

会应用两个阈值，低于其中任何一个就足以跳过当天：

| 检查项 | 来源 |
| - | - |
| 合约的余额阈值 | 你的自动提现合约 |
| 提现协议的最小提现金额 | 你的提现协议 |

因此，一份阈值低于协议最小金额的合约，在低于该最小值时永远不会触发——以协议的下限为准。

## 我的余额远高于阈值，但没有发生提现，为什么？

按可能性排序：

| 原因 | 你看到的现象 | 怎么办 |
| - | - | - |
| 同一协议上此前的一笔自动提现尚未到达终态 | 没有新订单 | 等待未完成的那笔结束；下一次检查会接上 |
| 今天已经发起过一笔 | 一笔订单，而不是两笔 | 符合预期——每份合约每天一笔 |
| 触发时间（`UTC+8`）尚未到 | 还没有订单 | 等到触发时间 |
| 合约处于 `SUSPENDED`，或不在其有效期内 | 合约行上的状态 | 恢复合约，或向支持咨询有效期 |
| 收款银行账户已失效 | 没有订单 | 联系支持——这需要 Waffo 侧修复 |
| `AMOUNT_WITH_PERIOD` 合约当天不是触发日 | 没有订单 | 检查合约行上的触发规则 |

进行中规则是按\*\*（商户，提现协议）\*\*这一组合判断的：一个币种上的合约不会被另一个币种上未完成的提现阻塞。

## 自动提现的各个状态是什么意思？

| `status` | 含义 | 能触发吗？ | 能编辑吗？ |
| - | - | - | - |
| `INIT` | 已起草，未提交审批 | 否 | 是 |
| `AUDITING` | 已提交，等待审批 | 否 | 否 |
| `ACTIVE` | 已审批通过并生效 | 是 | 是 |
| `REJECTED` | 审批被拒绝。终态 | 否 | 否 |
| `SUSPENDED` | 已暂停。可以恢复 | 否 | 是 |
| `TERMINATED` | 已结束。终态且不可逆 | 否 | 否 |

`REJECTED` 和 `TERMINATED` 是终态：对该合约不再能做任何操作，其字段仅作为记录保留。

## 我的合约被拒绝了，能修改后重新提交吗？

不能——`REJECTED` 的合约无法编辑或重新提交。被拒绝的规则必须用一份新合约替代，并再次经过审批。
请[联系支持](mailto:support@waffo.com)说明你想改成什么，而不要尝试复用被拒绝的那份。

## 暂停和终止有什么区别？

| | 暂停 | 终止 |
| - | - | - |
| 设置的状态 | `SUSPENDED` | `TERMINATED` |
| 可逆 | 是——恢复后回到 `ACTIVE` | **否** |
| 撤销需要审批 | 不需要 | 需要一份新合约，并重新审批 |
| 适用场景 | 你想暂时搁置提现——换银行、业务淡季、调查期间 | 这项安排已经结束 |

两者都可以由你自己在 Portal 的合约行上操作。暂停是安全的默认选项：如果你不确定这项安排是否已经结束，
就先暂停而不要终止。

## 不同币种可以设置不同的自动提现规则吗？

可以。一份合约绑定一份提现协议，而一份提现协议绑定一个提现币种对，所以按币种设置规则是常规形态：
每个币种一份合约，各有自己的阈值、周期、触发时间和收款账户。

合约之间彼此独立，包括上面所说的进行中规则。

## 提现完成时有Webhook 通知吗？

有。提现成功或失败时，会向你提供的 `notifyUrl` 发送一条类型为 **`WITHDRAW_NOTIFICATION`** 的Webhook 通知。

| 要点 | 详情 |
| - | - |
| 事件名 | `WITHDRAW_NOTIFICATION` |
| URL 来源 | 提现创建请求上的 `notifyUrl`——该字段**必填** |
| 信封与签名 | 与其他所有 Waffo Webhook 通知相同的信封和 `X-SIGNATURE` 验签方式，见 [Webhook 概览](/docs/zh/developer-docs/webhook/overview) |
| 消息体 | 与提现查询响应相同的结构 |

由于 `notifyUrl` 是按请求提供的，不存在账户级别的提现Webhook 通知设置：你创建的每一笔提现都带有自己的目标地址。
在 Portal 中发起以及由自动合约发起的提现不是你的 API 调用，所以请把Webhook 通知当作你通过 `/api/v1/withdraw/create`
创建的提现的确认渠道，其余的以 Portal 列表为记录。

先验签，再通过 `/api/v1/withdraw/inquiry` 重新读取状态，然后才据此处理——这与支付Webhook 通知的规则相同。

## 提现Webhook 通知和提现查询响应里有哪些内容？

两者使用同一个结构：

| 字段 | 含义 |
| - | - |
| `withdrawRequestId` | 你自己为该请求设定的标识符 |
| `withdrawOrderId` | Waffo 为该提现设定的标识符 |
| `status` | 提现当前所处的状态 |
| `currency` | 从你的结算账户提出的币种 |
| `beforeAvailableBalance`、`afterAvailableBalance` | 提现前后你的可用余额 |
| `receiveCurrency` | 入账到你银行账户的币种 |
| `expectedReceiveAmount` | 该提现预期到账的金额 |
| `actualReceiveAmount` | 实际到账的金额 |
| `fxRate` | 跨币种提现所应用的汇率 |
| `feeCurrency`、`feeAmount` | 提现手续费及其币种 |
| `bankRefId` | 银行自己的参考号——**对银行流水时以这个字段为准** |
| `withdrawRequestedAt`、`withdrawCompleteTime` | 你发起的时间，以及完成的时间 |
| `failureCode`、`failureReason` | 提现失败时填充 |
| `merchantBankAccount` | 所使用的收款账户 |
| `description` | 你发送的描述 |

跨币种提现中 `expectedReceiveAmount` 与 `actualReceiveAmount` 不一致是正常的，解释见
[提现：异常与状态](/docs/zh/support/withdrawal-exceptions-and-status-faq)。

## 我能分辨一笔提现是 API 发起的还是 Portal 发起的吗？

不能通过某一列分辨——Portal 提现列表不显示提现是如何发起的。区分它们的是请求标识符：

| 发起方 | 标识方式 |
| - | - |
| 你的 API 调用 | 你发送的 `withdrawRequestId`，在 `/api/v1/withdraw/inquiry` 中返回 |
| 你在 Portal 中操作 | Waffo 生成的请求标识符 |
| 自动合约 | 生成的请求标识符，其中编码了合约和日期 |

实际操作中，如果你需要把来源当作数据使用，请保留你自己的 `withdrawRequestId` 值，并把任何你不认识的都视为
在你的对接之外发起的。

## 我能导出提现列表吗？

可以——Portal → Account → Withdraw 有导出操作。**导出日期范围不能超过 31 天**，更长的时间段需要分多次导出。

和其他 Portal 导出一样，这是一个后台任务：文件会出现在导出历史中，而不是立即下载。见[导出中心](/docs/zh/support/export-center-faq)。

## 提现有最小金额和最大金额吗？

有——两者都记录在你的**提现协议**上，按提现币种对设定，并且在提现创建时强制校验，无论你是在 Portal、通过 API
还是通过自动合约发起。超出范围的金额会在创建时被拒绝，而不是之后再失败。

适用于你的数值以你协议上的为准；如果手头没有，请向支持询问。自动合约所遵守的下限也是同一个最小金额。

## 提现会打到哪个银行账户？怎么添加或更换账户？

每份提现协议绑定一个或多个收款银行账户。提现时：

* Portal 会显示已绑定的账户，如果有多个，可以让你选择一个
* `/api/v1/withdraw/create` 接受 `bankAccountId`；**不传则使用协议的默认账户**

添加或更换账户**不是自助操作**。Portal → Settings → Bank Accounts 是已绑定到你名下账户的只读视图——币种、账户信息、
SWIFT 代码、银行地址。那里没有添加或编辑操作，因为新的付款目的地在 Waffo 侧是一项合规变更，而不是你这边的设置变更。

要添加或更换账户，请[联系支持](mailto:support@waffo.com)。请准备好账户币种、账户名和账号、银行名称和 SWIFT 代码、
银行地址和分行，以及在需要时的中间行信息——这些正是账户记录所保存的字段。

## 提现上的 `openingRegion` 和 `fundsFrom` 是什么意思？会限制我能提多少吗？

它们描述的是**由哪一方汇出资金**，而不是你能提多少。

| 字段 | 取值 | 含义 |
| - | - | - |
| `openingRegion` | `HKG`、`OTHER` | 你的收款银行账户开立在哪里 |
| `fundsFrom` | 由 `openingRegion` 推导 | 使用 Waffo 的哪一种汇出安排来支付 |

`fundsFrom` 不是由你设置的：它由你账户的 `openingRegion` 决定。在 Portal 中，它决定提现抽屉 **From** 区块所显示的
付款主体，这样你银行流水上的名称就与确认前看到的一致。

这两个字段都不会限制你的可提现金额。金额由你的可提现余额以及协议的最小和最大金额决定——见上面两个问题。

***

你的提现情况与本页不符？
请[联系支持](mailto:support@waffo.com)并附上提现订单号——通过它一次就能查到背后的协议、收款账户和合约。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.