目前支付宝有下文两种对外常用的对账方式: - 进入 [商家平台](https://b.alipay.com/page/mbillexprod/bill/download/fundBill) 通过下载账单的方式来对账。 - 通过调用接口的方式来实现对账。 # 新企业版账单下载 商家财务人员登录新企业版  **商家平台** > [对账中心](https://b.alipay.com/page/mbillexprod/main/index),可通过账单下载页面,下载登录账号的已完成结算的对账单,并使用该数据完成财务核算。
支持下载以下两种类型账单: - **资金账单 **用于表达支付宝账号的收支变化,对应 alipay.data.dataservice.bill.downloadurl.query(查询对账单下载地址接口) 下载的`trabill_type = signcustomer`账单。 - **交易账单 **用于表达支付宝收单业务中发生的交易订单,对应 alipay.data.dataservice.bill.downloadurl.query(查询对账单下载地址接口)下载的`trabill_type = trade`账单。 ![](https://cdn.nlark.com/yuque/0/2022/png/179989/1659072216965-d6a1c2d9-060a-467d-aa89-cfca03372bc2.png#height=644&id=wcDiK&originHeight=1288&originWidth=2543&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=&width=1272) ## 日账单下载 进入日账单下载页面,默认显示最近日账单的所在月份,默认选中最近日账单所在日期。鼠标移动到已完成结算的日期,显示可下载链接。点击所在日期可进行下载。 ![1.png](https://cdn.nlark.com/yuque/0/2022/png/179989/1669621233477-382d86b4-ee9e-4f77-bf1c-555b408da02c.png#__spacing=both&height=519&id=RQ2v0&originHeight=519&originWidth=1063&originalType=binary&ratio=1&rotation=0&showTitle=false&size=32926&status=done&style=stroke&title=&width=1063) ### 特殊说明 1. 账单未生成:前一日的日账单在第二天生成,在第二天生成之前在下载区域提示**账单未生成**,不可点击下载。
![](http://mdn.alipayobjects.com/afts/img/A*jV2TToV7zZ4AAAAAAAAAAAAAAa8wAA/original?bz=openpt_doc&t=men7q-rm2QMwY6kVdyk6CQAAAABkMK8AAAAA#height=512&id=VZ8vO&originHeight=512&originWidth=738&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=stroke&title=&width=738) 2. 本日无收支:若已完成结算的某日无任何收支,则在下载区域提示**本日无收支**,不可点击下载。
![3.png](https://cdn.nlark.com/yuque/0/2022/png/179989/1669621269555-a1e6d529-7e54-4424-b319-65f1c89a0092.png#__spacing=both&height=570&id=nHhU1&originHeight=570&originWidth=929&originalType=binary&ratio=1&rotation=0&showTitle=false&size=36979&status=done&style=stroke&title=&width=929) 3. 日账单下载,支持范围从 2013 年 1 月 1 日开始。 ## 月账单下载 月账单下载功能同日账单下载。进入月账单下载页面,默认显示最近月账单的所在年份,默认选中最近月账单所在月份。鼠标移动到已完成结算的日期,显示可下载链接。点击所在月份可进行下载。 ![1.png](https://cdn.nlark.com/yuque/0/2022/png/179989/1669621297230-4e014059-422b-4225-90d0-abaf7241cb2e.png#__spacing=both&height=430&id=PblNy&originHeight=430&originWidth=929&originalType=binary&ratio=1&rotation=0&showTitle=false&size=26769&status=done&style=stroke&title=&width=929) ### 特殊说明 1. 账单未生成
![](http://mdn.alipayobjects.com/afts/img/A*_rGbTZfHHf8AAAAAAAAAAAAAAa8wAA/original?bz=openpt_doc&t=4ul1Cwfv2wrU5MvE-vUFSQAAAABkMK8AAAAA#height=304&id=YUITM&originHeight=304&originWidth=993&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=&width=993) 2. 月账单下载,支持范围从 2013 年 1 月开始。 3. 每月账单一般会在次月 4 日或之前生成。 # 接口对账方式 ## 场景介绍 商家/服务商可通过接口下载指定日期(当天除外)的业务明细账单文件,并结合自身业务系统实现自动对账。
获取账单技术实现大致分两种模式:收款账号接入模式(开通产品的账号即为收款账号)、主账号开通接入模式(此种模式包括服务商接入模式、一个主账号开通+N 个收款账号接入模式)。 ### 收款账号接入模式 下载接口中指定APPID所对应PID下所有交易记录的对账单。 ### 主账号开通接入模式 包括服务商接入模式、一个主账号开通+N 个收款账号接入模式。
第一步:该应用在开放平台上添加 [第三方应用授权](https://ideservice.alipay.com/cms/site/04h2nx) 功能。让收款账号给开通主账号授权。收款账号无需开通账单下载接口权限。
第二步:请 [获取服务端SDK](https://ideservice.alipay.com/cms/site/02np93) 进行接口开发,请在请求参数中传入授权 token。开通产品的账号即可查询收款账号的账单。包括账务账单和业务账单。 ## 调用流程 ``` sequenceDiagram participant 商户系统 participant 支付宝 商户系统->>支付宝: 1: 调用alipay.data.dataservice.bill.downloadurl.query接口 支付宝-->>商户系统: 1.1: 返回对账单下载地址 商户系统->>支付宝: 2: 通过HTTP请求对账单下载地址 支付宝-->>商户系统: 2.1: 获得对账单文件流 商户系统->>商户系统: 3: 读取文件流处理CSV文件自动对账,或保存至本地 ``` 1. 商家系统调用 alipay.data.dataservice.bill.downloadurl.query(查询对账单下载地址接口) 传入指定日期,获得该日期账单文件的下载地址。 2. 商家系统通过 HTTP 方式后台访问账单下载链接,将账单 csv 文件下载到本地后自行处理。注意该下载链接仅 30 秒,在得到链接后系统需要立刻请求下载账单文件。 ## 使用SDK快速接入 alipay.data.dataservice.bill.downloadurl.query(查询对账单下载地址接口) ```java AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");//获得初始化的AlipayClient AlipayDataDataserviceBillDownloadurlQueryRequest request = new AlipayDataDataserviceBillDownloadurlQueryRequest();//创建API对应的request类 request.setBizContent("{" + " \"bill_type\":\"trade\"," + " \"bill_date\":\"2016-04-05\"}"); //设置业务参数 AlipayDataDataserviceBillDownloadurlQueryResponse response = alipayClient.execute(request);//通过alipayClient调用API,获得对应的response类 System.out.print(response.getbody()); //根据response中的结果继续业务逻辑处理 ``` ### 关键入参 | **参数名称** | **参数说明** | | --- | --- | | bill_type | 账单类型,枚举支持:
- trade:商家基于支付宝交易收单的业务账单,对应 **对账中心** > [账单下载](https://b.alipay.com/page/mbillexprod/bill/download/fundBill) 的 交易账单。
- signcustomer:基于商家支付宝余额收入及支出等资金变动的账务账单,对应 **对账中心** > [账单下载](https://b.alipay.com/page/mbillexprod/bill/download/fundBill) 的 **资金账单**。
| | bill_date | 需要下载的账单日期,最晚是当期日期的前一天。 | ### 关键出参 | **参数名称** | **参数说明** | | --- | --- | | bill_download_url | 账单文件下载地址,30 秒有效 | #### 下载账单文件 ```java //将接口返回的对账单下载地址传入urlStr String urlStr = "下载地址"; //指定希望保存的文件路径 String filePath = "/Users/fund_bill_20160405.zip"; URL url = null; HttpURLConnection httpUrlConnection = null; InputStream fis = null; FileOutputStream fos = null; try { url = new URL(urlStr); httpUrlConnection = (HttpURLConnection) url.openConnection(); httpUrlConnection.setConnectTimeout(5 * 1000); httpUrlConnection.setDoInput(true); httpUrlConnection.setDoOutput(true); httpUrlConnection.setUseCaches(false); httpUrlConnection.setRequestMethod("GET"); httpUrlConnection.setRequestProperty("Charsert", "UTF-8"); httpUrlConnection.connect(); fis = httpUrlConnection.getInputStream(); byte[] temp = new byte[1024]; int b; fos = new FileOutputStream(new File(filePath)); while ((b = fis.read(temp)) != -1) { fos.write(temp, 0, b); fos.flush(); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if(fis!=null) fis.close(); if(fos!=null) fos.close(); if(httpUrlConnection!=null) httpUrlConnection.disconnect(); } catch (IOException e) { e.printStackTrace(); } } ``` # 附录 商家下载账单后,会得到**业务账单**或**财务账单**文件夹,各包含了**明细**和**汇总**两张表。 ## 业务账单 ### 汇总 ![](https://cdn.nlark.com/yuque/0/2022/png/179989/1643081338002-aa2848ee-7e01-4679-9064-eddcad975aff.png#height=330&id=CAEhb&originHeight=330&originWidth=1504&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=stroke&title=&width=1504) ### 业务账单明细 ![](https://cdn.nlark.com/yuque/0/2022/png/179989/1643081354320-705d63e9-d5e7-458a-a4f3-a2399189f0ba.png#height=330&id=EHnyJ&originHeight=330&originWidth=1504&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=stroke&title=&width=1504) ### 账单与支付接口字段对应关系 部分业务账单字段与支付相关接口字段对应关系如下: | **支付宝交易号** | **商户订单号** | **商品名称** | **门店编号** | **门店名称** | **终端号** | **订单金额(元)** | **商家实收(元)** | **集分宝(元)** | **商家优惠(元)** | **券核销金额(元)** | **券名称** | **退款批次号** | **服务费(元)** | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | trade_no | out_trade_no | goods_detail#goods_name | store_id | store_name | terminal_id | total_amount | receipt_amount | point_amount | mdiscount_amount | voucher_detail_list#amount | voucher_detail_list#name | batch_no | charge_amount | | 支付宝系统中全局唯一标识用户一笔交易的流水号。 | 商户系统中唯一标识一笔用户交易的流水号。 | 商品名称。 | 商户门店编号。 | 请求交易支付中的商户店铺的名称。 | 商户机具终端编号。 | 订单总金额,
单位为 元。 | 商家实收=订单金额 total_amount - 商户出资的优惠金额。 | 该笔交易过程中使用集分宝的付款金额。 | 该笔交易过程中使用的商家优惠金额。 | 该笔交易过程中使用优惠券核销的付款金额。 | 本笔交易使用的券名称。 | 该笔交易产生退款后退款批次识别号,对应退款 out_request_no 字段。 | 该笔交易收取商家服务费(手续费)金额。 | ## 账务账单 ### 汇总 ![](https://cdn.nlark.com/yuque/0/2022/png/179989/1643081371079-2292a88a-16ee-4bc4-87c7-4c214457dd15.png#height=365&id=qMmI8&originHeight=365&originWidth=1201&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=stroke&title=&width=1201) ### 账务账单明细 ![](https://cdn.nlark.com/yuque/0/2022/png/179989/1643081383512-003b49fe-6982-43bc-9c13-9d12a83ab86f.png#height=387&id=uIhbH&originHeight=387&originWidth=1911&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=stroke&title=&width=1911) ## 下载设置 商家可在 **商家平台** > **对账中心** > [账单下载](https://b.alipay.com/page/mbillexprod/bill/download/fundBill) 页面点击**下载设置**,设置下载的业务及账务账单语言、包含字段等明细信息。
![](https://cdn.nlark.com/yuque/0/2022/png/179989/1659072601364-56e953e6-a49d-442a-84e6-d9fd2674f84b.png#height=644&id=SL0qb&originHeight=1288&originWidth=2543&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=&width=1272)![](https://cdn.nlark.com/yuque/0/2022/jpeg/179989/1659072620078-ef7ec5ef-39de-4fa2-a6e1-08022e364b74.jpeg#height=620&id=DtsRB&originHeight=1240&originWidth=2543&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=stroke&title=&width=1272)