PAYATHON 2026

支付宝直付通分账账单查询接口及字段说明

支付阿杰

明确结论

直付通分账账单仍通过支付宝的”查询对账单下载地址接口”获取:

alipay.data.dataservice.bill.downloadurl.query

查询时,账单类型需要设置为:

bill_type=zft_merchant_split

几个容易混淆的参数和接口分别用于不同场景:

  • bill_type=trade:查询商户通过支付宝交易收单产生的普通交易账单。
  • bill_type=zft_merchant_split:查询直付通商户分账账单。
  • alipay.trade.order.settle.query:查询单笔交易的分账结果,不用于按日或按月下载分账账单。

接口返回账单文件的下载地址 bill_download_url,响应中不会直接包含每一条分账明细。

查询步骤

调用接口时,至少需要传入以下业务参数:

参数必填说明示例
bill_type是账单类型。查询直付通分账账单时填写 zft_merchant_splitzft_merchant_split
bill_date是账单日期。具体支持按日还是按月,以商户当前产品权限及接口文档为准2026-09-08

请求示例:

{
  "bill_type": "zft_merchant_split",
  "bill_date": "2026-09-08"
}

Java SDK 示例:

AlipayClient alipayClient = new DefaultAlipayClient(
    gatewayUrl,
    appId,
    merchantPrivateKey,
    "json",
    "UTF-8",
    alipayPublicKey,
    "RSA2"
);

AlipayDataDataserviceBillDownloadurlQueryRequest request =
    new AlipayDataDataserviceBillDownloadurlQueryRequest();

request.setBizContent("{"
    + "\"bill_type\":\"zft_merchant_split\","
    + "\"bill_date\":\"2026-09-08\""
    + "}");

AlipayDataDataserviceBillDownloadurlQueryResponse response =
    alipayClient.execute(request);

if (response.isSuccess()) {
    String billDownloadUrl = response.getBillDownloadUrl();
    System.out.println(billDownloadUrl);
} else {
    System.out.println(response.getCode());
    System.out.println(response.getSubCode());
    System.out.println(response.getSubMsg());
}

典型的成功响应如下:

{
  "alipay_data_dataservice_bill_downloadurl_query_response": {
    "code": "10000",
    "msg": "Success",
    "bill_download_url": "https://..."
  },
  "sign": "..."
}

取得 bill_download_url 后,应立即下载并解压账单文件。下载地址通常有时效限制,不适合长期保存后再使用。

分账账单字段说明

直付通分账账单记录原交易与分账明细之间的对应关系。对账时通常需要关注以下信息:

字段类别字段含义对账用途
支付宝交易号支付宝侧生成的交易流水号关联支付交易、退款记录和交易账单
商户订单号商户系统生成的原始订单号与商户订单系统核对
分账请求号商户发起分账时使用的业务请求号保证分账请求幂等,并定位一次分账操作
分账明细序号或明细标识同一次分账请求中某一条接收方明细的标识区分多个分账接收方
分账接收方类型接收方账户的标识类型判断接收方字段的解析方式
分账接收方账号实际接收分账资金的账户标识核对资金接收对象
分账接收方名称分账接收方名称辅助确认接收方身份
分账金额当前分账明细对应的金额汇总订单实际分账金额
分账状态或结果当前分账明细的处理结果判断分账成功、失败或处理中
分账完成时间支付宝完成该笔分账的时间按业务日期归档和核对
分账描述发起分账时填写的业务说明辅助定位业务场景
备注或失败原因补充说明或失败信息排查异常分账

支付宝下载账单的实际列名、字段顺序及扩展字段,可能随直付通产品配置和账单格式调整而变化。接口响应中的 bill_download_url 字段也不是账单文件的字段。程序应根据下载文件的表头解析数据,不要只依赖固定的列序号。

表格示例

下表用于说明字段之间的关系,不代表支付宝下载文件的逐字表头,也不是真实交易数据:

支付宝交易号商户订单号分账请求号分账接收方类型分账接收方账号分账接收方名称分账金额(元)分账状态分账完成时间分账描述
2026090822001000000000000001ORDER202609080001SETTLE202609080001loginNamereceiver@example.com示例接收方A80.00成功2026-09-08 10:20:30订单服务费分账
2026090822001000000000000001ORDER202609080001SETTLE202609080001userId2088xxxxxxxxxxxx示例接收方B20.00成功2026-09-08 10:20:31渠道分账

一个支付宝交易号可能对应多条分账明细,不能只按”支付宝交易号”去重。识别明细时,更稳妥的字段组合是:

支付宝交易号 + 分账请求号 + 分账明细标识

如果下载文件中没有独立的”分账明细标识”,可以结合接收方账号等字段建立业务唯一键。使用这种方式前,需要先确认同一次请求是否允许向同一接收方生成多条记录。

对账建议

可以按照以下关系核对数据:

交易账单
    └── 支付宝交易号
          └── 直付通分账账单
                ├── 分账请求号
                ├── 分账接收方
                ├── 分账金额
                └── 分账状态

核对时通常需要检查:

  1. 商户订单号和支付宝交易号能否关联到原支付订单。
  2. 同一订单下所有成功分账记录的金额之和,是否符合商户侧的分账计划。
  3. 分账状态不是成功的记录,是否需要重试或人工处理。
  4. 分账接收方账号是否与商户保存的接收方信息一致。
  5. 不要混用分账账单和普通交易账单。交易账单使用 trade,直付通分账账单使用 zft_merchant_split。

注意事项

  • bill_type 必须使用接口支持的固定枚举值,不要改成 split、settle 等非官方值。
  • 下载地址不是永久地址。查询成功后应立即下载,并保存原始压缩包。
  • CSV 文件可能包含汇总行、空行、BOM 或特殊字符。解析前应先识别表头和明细区域。
  • 金额应使用 BigDecimal 或等价的十进制定点类型处理,不要使用 float、double 直接累计。
  • 如果接口返回”账单不存在”,应检查账单日期、账单生成时间、应用权限,以及当前商户是否已经开通直付通分账能力。
  • 如需核查单笔交易的实时分账结果,应调用对应的分账结果查询接口。alipay.data.dataservice.bill.downloadurl.query 更适合批量离线对账。

备注:内容仅供参考。