Skip to main content
批量下发有两级事件:一级是批次,一级是批次里的每个条目。只需要批次结论就订阅批次事件,需要逐条对账就订阅条目事件。请先阅读事件概述了解外层结构、去重方式以及所有事件通用的规则。

本页的事件

payment.bulk_send.updated

批次级事件。

批次的事件触发条件

批次 status 每变化一次发一条事件。 逐条进度不在这里,在条目事件里。 批量下发批次状态变化 上图为主要的状态变化路径,绿色框为终态。Validating 也可能直接变为 Failed。事件可能不按顺序送达,参见事件顺序。

批次的事件内容

批次事件不携带条目列表。逐条信息只通过条目事件送达,且两者的到达顺序不作保证。

批次的失败原因

请根据 failed_reason.code 决定如何处理。批次也可能因为审批被拒绝或被撤销而失败。

批次的示例事件

以下示例只展示 data 对象。外层结构所有事件都一样,参见事件结构。

批次已受理

记录批次,不要重复提交。注意 Pending 也可能表示批次在等审批。

批次完成

在您的系统中将该批次标记为已完成。

批次部分完成

按两个计数分流处理。本例有一个条目已提交执行但失败,另一个从未提交。

Strict 模式在执行前中止了批次

本例中,有条目未通过校验,因此 Strict 模式下整个批次在执行前中止,所有条目都未执行,资金未被使用。请根据条目事件找到未通过校验的条目,修正后创建新批次。

payment.bulk_send.item.updated

条目级事件。

条目的事件触发条件

条目 status 每变化一次发一条事件。 批量下发条目状态变化 上图为主要的状态变化路径,绿色框为终态。事件可能不按顺序送达,参见事件顺序。

条目的事件内容

条目的失败原因

请根据 failed_reason.code 决定如何处理。下面是条目可能携带的 code。

条目的示例事件

以下示例只展示 data 对象。外层结构所有事件都一样,参见事件结构。

某个条目完成

保存金额和 tx_hash,通过 bulk_send_item_id 关联到您系统中的收款人记录,并将该条目标记为已完成。

某个条目在提交转账后失败

资金曾被锁定,现已释放,手续费已退回。能否原样重发取决于 failed_reason.code。

某个条目从未执行

未使用任何资金。 修正原因后再重发,否则会以同样的方式失败。本例条目自身没有问题,是 Strict 模式下同批的其他条目出错导致它没有执行。

高级事件

需要批次和条目的链上交易细节时,可订阅高级事件 payment.bulk_send.status.updated 和 payment.bulk_send.item.status.updated,参见高级事件。