> ## 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.

# 批量 Payout 的状态与资金来源

> 如何读懂批量 Payout 的状态及其逐行状态、为什么批次会从列表中消失而不是显示为失败、为什么只向您提供部分国家的模板，以及 Payout 的资金允许从哪里来。

本页介绍如何**读懂**一个批量 Payout——它的状态、逐行
结果，以及资金从哪里来。在 Portal 中逐步创建批次的方法
和提现，见
[提现与批量 Payout](/docs/zh/support/withdrawal-and-batch-payout-faq)。资金
流经的账户，见
[Payout 钱包与覆盖范围](/docs/zh/support/payout-wallet-and-coverage-faq)。单笔
Payout API，见 [Payout FAQ](/docs/zh/support/payout-faq)。

## 批量文件本身有哪些限制？

| 限制 | 值 |
| - | - |
| 文件格式 | **仅 `.xlsx`**——Portal 上传不接受其他格式 |
| 文件大小 | 小于 **2 MB** |
| 文件名 | **100 个字符**以内 |
| 每个文件的行数 | 最多 **1,000** 行——超出的文件会被拒绝，批次被取消 |
| 每次上传的文件数 | 一个 |

无论您的表格工具怎么提示，CSV 都无法上传。请另存为 `.xlsx`。

空文件——没有数据行的模板——同样会被拒绝并取消批次，所以
上传后立即消失的批次通常是因为文件的行没有放在模板
预期的位置。

## Batch name 和 Batch description 有什么用？收款人能看到吗？

两者都不会展示给任何收款人。它们都是您自己批次记录上的标签：

| 字段 | 规则 | 谁能看到 |
| - | - | - |
| **Batch name** | 必填。仅限字母、数字、下划线和连字符——不能有空格或其他标点。最多 100 个字符。 | 您的 Portal 账户 |
| **Batch description** | 可选。最多 256 个字符。 | 您的 Portal 账户，包括确认该批次的人 |

描述的作用是告诉审批该批次的同事这个批次是干什么的。收款人
在其账单上实际看到的是文件中的逐行描述，而不是这两者中的任何一个。

## 有一行校验失败了，我能只发送正确的行吗？

不能。校验是全有或全无：**一行失败就取消整个批次**，且没有
办法只提交通过的行。修正文件后重新上传。

您会被明确告知每一行出了什么问题。校验后，批次记录会带有一个
**Checked** 文件——与您上传的行相同，失败的行上填写了失败原因列，
包含错误码及其信息。请根据该文件处理，而不是猜测：
原因是逐行且具体的，涵盖字段格式问题、国家或
币种与批次其余行不同的行、收款方拒绝的收款账户，以及
超出可用余额的行。

## 批次有哪些状态？

从您这边看，恰好两个：

| 批次状态 | 含义 |
| - | - |
| **In Progress** | 批次已提交并正在处理——资金已扣除、行已路由、结果正在收集和入账。 |
| **Completed** | 批次中每一行都已到达最终结果，无论成功还是失败。 |

没有第三个值。批次列表上的筛选只提供这两个，
没有其他。

由此可推出两点，两点都让人意外：

* \*\*In Progress 覆盖多个不同的内部阶段。\*\*批次可能在
  In Progress 停留一段时间但仍在推进。不要把长时间的 In Progress
  理解为停滞。
* \*\*Completed 的意思是"所有行都已终结"，不是"所有行都成功"。\*\*一个
  每行都失败的批次仍然是 Completed。要知道资金是否流出，
  永远看行状态，不要看批次状态。

## 为什么我看不到我确定创建过的批次？

因为批次只有在**已提交**后才会出现在您的列表中。
在此之前，以及如果它始终没有走到那一步，它根本不在商户视图中
——批次列表查询本身就过滤为 In Progress 和 Completed，而不是
仅在 UI 上隐藏其他值。

需要留意的情形：在处理前被放弃的批次——例如
因为提交时可用余额不足，或
因为它未提交而超过了有效期——**会从列表中消失，而不是
显示为失败或已取消**。如果您期待的批次不见了，
不要假定它悄悄执行了。重新核对提交时的
余额，然后重新创建批次。

## 单行有哪些状态？

三个，这些才是告诉您实际发生了什么的状态：

| 行状态 | 含义 |
| - | - |
| **In Progress** | 该行已被接受并正在处理。 |
| **Success** | 资金已发送给收款人。 |
| **Failure** | 该行未发出。其金额退回您的结算账户；手续费是否退回取决于您的 Payout 协议。 |

每行还带有状态时间线。批次级时间线更粗——
它显示提交、处理开始和完成——所以当您需要解释
某个特定收款人的延迟时，请使用行时间线。

如果某行**完全没有状态**，那是一行从未走到
路由那一步的记录——通常是文件校验失败的行。请把空白的行状态
当作需要重新提交的失败，而不是待处理的 Payout。

## 批次状态时间线显示什么？

三个节点：**Submitted**，批次通过验证并被
接受时——在任何资金移动之前；**In Progress**，资金被扣除
且处理开始时；**Completed**，每一行都终结时。中间的内部阶段不会作为时间线节点暴露，所以
时间线是进度指示器，而不是审计轨迹。对账
请使用批次记录上附带的 source、checked 和 result 文件。

## 下载批量模板时为什么只提供部分国家？

因为模板是**按签约国家**签发的。您看到的列表
来自您已签署的 Payout 协议：每个被当前有效且在有效期内的协议
覆盖的国家对应一个模板。

* 没有有效协议意味着**完全没有模板**——这里的空列表是
  签约问题，不是 bug。
* 该限制在**下载**时强制执行，而不仅仅在 UI 上。请求
  您未签约的国家会被拒绝而不是提供。
* 您签约的国家也决定了模板要求哪些列，
  这就是为什么您不能把一个国家的文件复用到另一个国家。

如果您已签约的国家在列表中但下载失败，值得
向您的 Waffo 联系人反映——这意味着协议存在，但
对应的模板文件尚未配置。

## 批次发出前有第二次确认步骤吗？

有——预览之后在 Portal 中的一次明确确认。您会看到
可用结算余额、Payout 总金额、收款人总数和
手续费总额，必须确认后才会扣款。余额
不足会在此时拒绝提交，而不是部分处理
批次。

该确认是 Portal 内的步骤。不要编写在这一步
期待邮件验证码到达的操作手册。

## 我上传了批次但没有提交，能取消吗？

不需要。已上传但未提交的批次会在**创建后约四小时
自动关闭**，关闭没有任何成本——扣款发生在
提交时，所以未提交的批次从未触及您的余额。

两个值得据此规划的后果：

* **没有取消操作**，因为没有什么可取消。如果您上传了错误的
  文件，把正确的文件作为新批次上传，让旧的自行失效。
* \*\*不要在打算发送之前太早准备批次。\*\*某天审阅、
  次日提交的批次将不会在那里——它已失效，而失效的批次会从
  列表中消失而不是显示为已取消，如上所述。请在一次操作中完成上传和提交。

## 批量 Payout 会发Webhook 通知吗？

不会。Payout Webhook 通知只针对通过 API 创建的 Payout 推送；源自
批量上传中某一行的 Payout 无论结果如何都不会产生通知。请从
批次记录及其 result 文件跟踪批次结果，或通过
Payout API 查询每行的 `payoutOrderId`。见
[Payout 状态、通知与报表](/docs/zh/support/payout-status-notifications-and-reports-faq)。

## Payout 的资金从哪里来？

来自您的**收单结算款**。批量 Payout 路径上的每一次余额检查和每一次
扣款都针对相应币种的**结算账户**——
您批准的预览读取的就是同一个余额，所以
您在预览时看到的就是将被扣款的账户。

两个后果：

* 记入您结算账户以外任何地方的资金（就该出资币种而言），
  Payout 批次都无法触及。Payout 路径不
  提供账户选择器，结算余额不足时也不会回退到另一个账户
  ——而是拒绝提交。
* 因此 Payout 位于结算的下游。如果您需要提高 Payout
  能力，杠杆是结算时点，而不是单独的充值流程。关于
  结算款何时到账的规则，见
  [结算周期](/docs/zh/support/settlement-cycle-faq)。

## 我的哪些结算账户可以为 Payout 出资？我能选吗？

您不能选——由**币种**决定，而币种来自
您的 Payout 协议。

* 某国家的 Payout 协议会在收款人币种之外记录出资币种。
  该出资币种是决定扣哪个
  结算账户的唯一选择器。
* 设置协议时可用的出资币种本身
  仅限于您实际持有结算账户的币种，所以
  协议不可能针对您没有的账户签订。
* 因为批次的出资币种是按行从您的协议解析
  然后汇总的，**一个批次中的所有行必须共用相同的出资
  币种、收款人币种和国家**——这就是批次
  校验在这三个字段上全有或全无的根本原因。

实用的规划规则：如果您需要在某个通道 Payout，您需要
该通道的协议**和**以该协议指定的出资币种累积的
结算款。持有其他币种的余额
没有帮助，Waffo 也不会在 Payout 过程中为您
换汇。

## 为什么一个批次中的每一行必须共用相同的国家和币种？

因为批次是作为一个整体出资的。出资币种按行从您的
协议解析，然后汇总为批次的单一值，
该单一值选定要扣款的唯一结算账户。混合
通道的批次需要扣多个账户，而该路径不会
这样做。

这就是为什么校验在国家、出资币种和
收款人币种上是**全有或全无**，以及为什么一行错误会取消整个文件而不是
被丢弃。请把多通道的付款拆成每个通道一个批次
并分别提交；没有部分提交。

## 批次 In Progress 很久了，我该检查什么？

In Progress 跨越多个阶段，所以仅凭时长说明不了什么。请
按以下顺序排查：

| 检查 | 原因 |
| - | - |
| 是否有任何**行**已经终结？ | 行独立终结。已有成功行显示的批次就是在推进，不管批次状态怎么说。 |
| **行**时间线是否有变动？ | 行时间线比批次时间线更细，能显示某个具体收款人卡在哪里。 |
| 批次记录上是否出现了 **result 文件**？ | 它随着行的终结而生成，是最早可靠的进展证据。 |
| 提交时您的结算余额是否覆盖了该批次？ | 资金不足的批次在提交时就会被拒绝而不是停滞——如果您根本找不到该批次，见上文关于消失批次的问题。 |

不要为了推动进展而重新提交文件。第二个批次就是第二次扣款
和第二组 Payout，所以请向您的 Waffo 联系人反映卡住的批次，
而不是重新上传。

## 批次 Completed 后我怎么对账？

请根据批次记录上的文件处理，而不是屏幕：

| 文件 | 用途 |
| - | - |
| **Source** | 您上传的文件——您自己关于所请求内容的参考。 |
| **Checked** | 校验后的视图，显示哪些被接受。 |
| **Result** | 逐行结果，这是您用来核对账本的依据。 |

行级失败会把其金额退回被扣款的结算
账户；请在您的 Account History 中查看退回金额，而不是
从批次总额推断。这些条目的描述方式见
[余额与账户历史](/docs/zh/support/balance-and-account-history-faq)。


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