# 接口下载交易账单与资金账单

接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南

接口英文名:downLoadBill

该接口支持查询近 90 天内的账单。

# 后台页面下载交易账单

平台后台页面,提供交易查询、退款查询、以及下载账单能力。

# 1. 调用方式

# HTTPS 调用

POST https://api.weixin.qq.com/retail/B2b/downloadbill?access_token=ACCESS_TOKEN

# 云调用

  • 本接口不支持云调用。

# 第三方调用

  • 本接口支持第三方平台代商家调用。

  • 该接口所属的权限集 id 为:158

  • 服务商获得其中之一权限集授权后,可通过使用 authorizer_access_token 代商家进行调用,具体可查看 第三方调用 说明文档。

# 2. 请求参数

# 查询参数 Query String Parameters

参数名类型必填示例说明
access_tokenstringACCESS_TOKEN接口调用凭证,可使用 access_tokenauthorizer_access_token

# 请求体 Request Payload

参数名类型必填示例说明
mchidstring-商户号
bill_datestring20231102账单日期,格式:yyyymmdd

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明
errcodenumber错误码
errmsgstring错误信息
success_bill_urlstring微信支付渠道支付成功订单下载链接,包括支付成功时间在当天的订单
refund_bill_urlstring微信支付渠道退款单下载链接,发起退款成功在当天的退款单
all_bill_urlstring包括微信支付渠道支付成功和退款单的下载链接
fund_bill_urlstring微信支付渠道的资金账单下载链接
ended_day_avail_amtnumber日终账户可提现金额
ended_day_frozen_amtnumber日终账户待结算金额
ended_day_total_amtnumber日终账户总金额,等于日终账户可提现金额+日终账户待结算金额
profit_sharing_bill_urlstring分账成功订单下载链接,包括分账成功时间在当天的订单
profit_refund_bill_urlstring分账回退单下载链接,发起分账回退成功在当天的退款单
bankpay_fund_bill_urlstring银行转账渠道资金帐单下载链接

# 4. 注意事项

# 说明

  1. 下载链接是https的接口,获取后30min有效

  2. 下载后的交易账单文件内容说明:

    a. 文件中的内容是以csv文件格式返回,第一行为表头

    b. 从第二行起,为数据记录,各参数值以逗号分隔,参数值前增加`符号,为标准键盘1左边键的字符

    c. 表头字段顺序与说明:

字段名 说明 示例
交易时间 指该笔交易的支付成功时间或发起退款成功时间(注:不是退款成功时间),格式为yyyy-MM-DD HH:MM:SS 2023-10-23 09:00:00
公众账号ID 发起该笔交易时使用的小程序appid wxab8acb865bb11234
交易商户号 进行交易收款的微信支付子商户号,8~10位数字 1234567890
微信订单号 微信小程序平台为该笔订单分配的订单号
商户订单号 商户传入的该笔订单商户订单号,对应下单接口里的out_trade_no字段
用户标识 微信为支付用户在公众账号ID(appid)下分配的唯一标识(openid)
交易状态 识该笔明细数据的类型:SUCCESS,支付成功,说明该行数据为一笔支付成功的订单;REFUND,转入退款,说明该行数据为一笔发起退款成功的退款单 SUCCESS
微信退款单号 微信小程序平台为该笔退款分配的退款单号,如果该行数据为订单(交易状态SUCCESS)则展示0
商户退款单号 商户发起退款时填入的商户退款单号,如果该行数据为订单(交易状态SUCCESS)则展示0
退款金额 该笔退款单参与计费的应结算金额(申请退款金额-免充值券退款金额),如果该行数据为订单则展示为0.00,非负数、单位元,保留到小数点后2位 6.66
退款状态 生成账单文件时该笔退款的状态、出账后不会更新,如果该行数据为订单(交易状态SUCCESS),则留空 。SUCCESS:退款成功;PROCESSING:退款处理中
商品名称 商户传入的该笔订单(或该笔退款对应的订单)的商品名称,对应下单接口里的body字段,目前都为空
商户数据包 商户传入的该笔订单(或该笔退款对应的订单)的商户数据包,对应下单接口里的attach字段,不传时留空
技术服务费 该笔订单/退款对应的技术服务费费金额,订单对应正数、退款对应负数,单位元,保留小数点后2位 0.01
技术服务费费率 该笔交易收取技术服务费所使用的费率,百分数 0.22%
订单金额 该笔订单的支付金额,如果该行数据为退款或撤销则填0.00,单位元,保留到小数点后2位 2.33
申请退款金额 商户发起退款的金额,包括退给用户的金额、充值券退款金额、免充值券退款金额,如果该行数据订单则填0.00,单位元,保留到小数点后2位 2.22
结算状态 生成账单文件时该笔订单的结算状态、出账后不会更新。该笔订单的结算状态:SUCCESS:已结算;NO_SETTLE:未结算;SETTLING:结算中
结算时间 结算的时间,在结算状态为"已结算"的时候展示,格式为yyyy-MM-DD HH:MM:SS 2023-10-23 02:00:00
交易渠道类型 订单的支付方式,仅当前商户号开通了银行转账时携带此字段。1:微信支付;2:银行转账 1
  1. 下载后的资金账单文件内容说明: ​ a. 资金账单是针对账户整体(包括可提现部分与待结算部分之和)的资金流入流出变动情况

    ​ b. 文件中的内容是以csv文件格式返回,第一行为表头

    ​ c. 从第二行起,为数据记录,各参数值以逗号分隔,参数值前增加`符号,为标准键盘1左边键的字符

    ​ d. 表头字段顺序与说明:

字段名 说明 示例
记账时间 格式为yyyy-MM-DD HH:MM:SS 2023-10-23 09:00:00
B2b支付业务单号 展示该笔资金变动来自的业务。交易业务:展示支付单号;退款业务:展示退款单号;提现业务:展示提现单号
资金流水单号 该笔资金变动的系统单号
业务名称
业务类型
收支类型
收支金额(元) 该笔资金变动的金额
账户结余(元) 展示该笔资金变动后,剩余的账户总金额

其中,业务名称、业务类型、收支类型有这几种情况:

业务名称 业务类型 收支类型
交易 交易 收入
退款 退款 支出
交易 交易结算扣除手续费 支出
退款 已结算退款返还手续费 收入
提现 提现 支出

# 账单说明

1)技术服务费说明

每笔交易收取的技术服务费=订单金额x技术服务费费率,保留到单位分,最后一位小数按四舍五入。

2)退款返还技术服务费说明

对于退款,平台将根据退款金额返还相关技术服务费。

退款的返还技术服务费规则:

  1. 如果为全额退款,则全部返还原来收取的技术服务费;
  2. 如果为部分退款,按0.22%计算后保留到单位分,最后一位小数按向下取整(如计算出来返还0.238,实际只返还0.23)
  3. 如果经过多笔部分退款后,最后一笔变成全额退款,则最终返还技术服务费的总金额=原来收取的技术服务费

# 5. 代码示例

请求示例

{
    "mchid": "",
    "bill_date": "20231102"
}

返回示例

{
    "errcode": 0,
    "errmsg": "",
    "success_bill_url": "",
    "refund_bill_url": "",
    "all_bill_url": "",
    "fund_bill_url": "",
    "ended_day_avail_amt": 0,
    "ended_day_frozen_amt": 0,
    "ended_day_total_amt": 0,
    "profit_sharing_bill_url": "",
    "profit_refund_bill_url": "",
    "bankpay_fund_bill_url": ""
}

# 6. 错误码

以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。

错误码错误描述解决方案
61004access clientip is not registered requestIP: XXX若是第三方平台代调用接口,将IP添加到第三方平台的白名单列表,查看排错指南
9403200参数为空或非法 detail:[支付签名[pay_sig]校验失败]
9403201数据不存在。订单不存在,请检查入参
9403203商户未完成建档 detail:[获取商户号信息失败,请确认商户号是否开通成功]

# 7. 适用范围

本接口暂未明确可调用账号类型,或在业务中根据调用传参自行确定是否可调用,请以实际调用情况为准。