# 接口下载交易账单与资金账单
接口应在服务器端调用,不可在前端(小程序、网页、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_token | string | 是 | ACCESS_TOKEN | 接口调用凭证,可使用 access_token、authorizer_access_token |
# 请求体 Request Payload
| 参数名 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
| mchid | string | 是 | - | 商户号 |
| bill_date | string | 是 | 20231102 | 账单日期,格式:yyyymmdd |
# 3. 返回参数
# 返回体 Response Payload
| 参数名 | 类型 | 说明 |
|---|---|---|
| errcode | number | 错误码 |
| errmsg | string | 错误信息 |
| success_bill_url | string | 微信支付渠道支付成功订单下载链接,包括支付成功时间在当天的订单 |
| refund_bill_url | string | 微信支付渠道退款单下载链接,发起退款成功在当天的退款单 |
| all_bill_url | string | 包括微信支付渠道支付成功和退款单的下载链接 |
| fund_bill_url | string | 微信支付渠道的资金账单下载链接 |
| ended_day_avail_amt | number | 日终账户可提现金额 |
| ended_day_frozen_amt | number | 日终账户待结算金额 |
| ended_day_total_amt | number | 日终账户总金额,等于日终账户可提现金额+日终账户待结算金额 |
| profit_sharing_bill_url | string | 分账成功订单下载链接,包括分账成功时间在当天的订单 |
| profit_refund_bill_url | string | 分账回退单下载链接,发起分账回退成功在当天的退款单 |
| bankpay_fund_bill_url | string | 银行转账渠道资金帐单下载链接 |
# 4. 注意事项
# 说明
下载链接是https的接口,获取后30min有效
下载后的交易账单文件内容说明:
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 |
下载后的资金账单文件内容说明: a. 资金账单是针对账户整体(包括可提现部分与待结算部分之和)的资金流入流出变动情况
b. 文件中的内容是以csv文件格式返回,第一行为表头
c. 从第二行起,为数据记录,各参数值以逗号分隔,参数值前增加`符号,为标准键盘1左边键的字符
d. 表头字段顺序与说明:
| 字段名 | 说明 | 示例 |
|---|---|---|
| 记账时间 | 格式为yyyy-MM-DD HH:MM:SS | 2023-10-23 09:00:00 |
| B2b支付业务单号 | 展示该笔资金变动来自的业务。交易业务:展示支付单号;退款业务:展示退款单号;提现业务:展示提现单号 | |
| 资金流水单号 | 该笔资金变动的系统单号 | |
| 业务名称 | ||
| 业务类型 | ||
| 收支类型 | ||
| 收支金额(元) | 该笔资金变动的金额 | |
| 账户结余(元) | 展示该笔资金变动后,剩余的账户总金额 |
其中,业务名称、业务类型、收支类型有这几种情况:
| 业务名称 | 业务类型 | 收支类型 |
|---|---|---|
| 交易 | 交易 | 收入 |
| 退款 | 退款 | 支出 |
| 交易 | 交易结算扣除手续费 | 支出 |
| 退款 | 已结算退款返还手续费 | 收入 |
| 提现 | 提现 | 支出 |
# 账单说明
1)技术服务费说明
每笔交易收取的技术服务费=订单金额x技术服务费费率,保留到单位分,最后一位小数按四舍五入。
2)退款返还技术服务费说明
对于退款,平台将根据退款金额返还相关技术服务费。
退款的返还技术服务费规则:
- 如果为全额退款,则全部返还原来收取的技术服务费;
- 如果为部分退款,按0.22%计算后保留到单位分,最后一位小数按向下取整(如计算出来返还0.238,实际只返还0.23)
- 如果经过多笔部分退款后,最后一笔变成全额退款,则最终返还技术服务费的总金额=原来收取的技术服务费
# 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 诊断工具 辅助定位和分析问题。
| 错误码 | 错误描述 | 解决方案 |
|---|---|---|
| 61004 | access clientip is not registered requestIP: XXX | 若是第三方平台代调用接口,将IP添加到第三方平台的白名单列表,查看排错指南 |
| 9403200 | 参数为空或非法 detail:[支付签名[pay_sig]校验失败] | |
| 9403201 | 数据不存在。订单不存在,请检查入参 | |
| 9403203 | 商户未完成建档 detail:[获取商户号信息失败,请确认商户号是否开通成功] |
# 7. 适用范围
本接口暂未明确可调用账号类型,或在业务中根据调用传参自行确定是否可调用,请以实际调用情况为准。