接口名称:查询对账单下载地址接口
英文名称:alipay.data.dataservice.bill.downloadurl.query
用于查询订单是否存在以及订单的详细信息;
一、文档地址
官方文档地址:[url]https://docs.open.alipay.com/api_1/alipay.trade.query/[/url]
二、开发前准备工作
调用步骤:[url]https://openclub.alipay.com/read.php?tid=12194&fid=69[/url]
注意事项:1、支持沙箱测试;2、需签约并添加功能;3、支持第三方调用。
如何签约以及签约无法成功等相关签约问题:[url]https://openclub.alipay.com/read.php?tid=276&fid=72[/url]
注:该接口为辅助接口,只要签约当面付、手机网站支付、电脑网站支付和APP支付,四个支付接口中其中一个就可以调用。
三、接口集成代码示例
1、参数说明
(1)bill_type:账单类型,可设置参数类型:trade、signcustomer;
trade指商户基于支付宝交易收单的业务账单;
signcustomer是指基于商户支付宝余额收入及支出等资金变动的帐务账单;
(2)bill_date:账单时间:日账单格式为yyyy-MM-dd,月账单格式为yyyy-MM;
2、JAVA版请求示例
public static void main(String[] args) throws AlipayApiException { AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, AlipayConfig.format, AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type); AlipayDataDataserviceBillDownloadurlQueryRequest request = new AlipayDataDataserviceBillDownloadurlQueryRequest(); AlipayDataDataserviceBillDownloadurlQueryModel model = new AlipayDataDataserviceBillDownloadurlQueryModel(); //账单时间:日账单格式为yyyy-MM-dd,月账单格式为yyyy-MM。 model.setBillDate("2018-01"); //账单类型,trade指商户基于支付宝交易收单的业务账单;signcustomer是指基于商户支付宝余额收入及支出等资金变动的帐务账单; // trade用于当面付,signcustomer用于其他支付接口 // 只签约当面付的情况下,trade数据是只能查询签约之后的数据,但是signcustomer是之前也可以查询 model.setBillType("signcustomer"); request.setBizModel(model); AlipayDataDataserviceBillDownloadurlQueryResponse response = alipayClient.execute(request); System.out.println(response.getBody()); }
返回的响应参数示例:
{"alipay_data_dataservice_bill_downloadurl_query_response":{"code":"10000","msg":"Success","bill_download_url":"http://dwbillcenter.alipay.com/downloadBillFile.resource?bizType=fnd&userId=20885016245603350156&fileType=csv.zip&bizDates=201801&downloadFileName=20885016245603350156_201801.csv.zip&fileId=%2Ffnd%2F20885016245603350156%2F201801.csv.zip×tamp=1517903886&token=2c2bb5ad14b313d9b0959cd2006d6251"},"sign":"Fmz5F1hg9oqjB5qKAK9g9VOcL0hTQ4UIfdnEJ5HRaUtYWKWH01q9ngMpQ4EpGQ2Lg7gh/YKynKe4Pyxs/OeFZtgbOZgKlXcxZGAk2oRjidytv2fbaxEvUZ7OyjVPeltGTiaTtTXhOdtH7zm37IJ2FqMkDGZTOzibb/nsWbr03WIjt6tRSX4M2ohJi/GcmsTL0YIaPJn4sjnaZCn17hr9lBSRaM1P8mE/v7SxungalibODmX/raxittip9BqcUESH5hUIuDBdIO15/CqVG/r3wLuiTZGit52txGfl777dPa5AEjmjHxzgcd1T4PI84ZgmpM+5raKV9a4a2X8R5xuEaw=="}
3、PHP版请求示例
<?php require_once 'AopSdk.php'; $aop = new AopClient (); $aop->appId = '填写您的appid'; $aop->rsaPrivateKey = '填写您的私钥'; $aop->alipayrsaPublicKey='填写您的支付宝公钥'; $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do'; $aop->apiVersion = '1.0'; $aop->signType = 'RSA2'; $aop->postCharset='utf-8'; $aop->format='json'; $date=date("YmdHis"); $arr=range(1000,9999); shuffle($arr); $request = new AlipayDataDataserviceBillDownloadurlQueryRequest (); $request->setBizContent("{" . ""bill_type":"signcustomer"," . ""bill_date":"2018-01"" . " }"); $result = $aop->execute($request); //第三方调用 //$result = $aop->execute($request,"","app_auth_token"); echo json_encode($result);
返回的响应参数示例
{"alipay_data_dataservice_bill_downloadurl_query_response":{"code":"10000","msg":"Success","bill_download_url":"http://dwbillcenter.alipaydev.com/downloadBillFile.resource?bizType=signcustomer&userId=20881021801985850156&fileType=csv.zip&bizDates=201801&downloadFileName=20881021801985850156_201801.csv.zip&fileId=%2Fsigncustomer%2F20881021801985850156%2F201801.csv.zip×tamp=1553248966&token=82bf804e4576d0a5ce566b26b5b54d14"},"sign":"hpStCjmmKUmiyuJGHJ7d+YUBetnqpNcn2x8z4GDNETyV5LYnFSj1FHakmJ/wkETinXJD0cS0HQHbE3/rCj4UOTBJvrHOwlBIIE79jz0WcX3aw50xCwGt9aJF2fbBKv21cYRoX94/j3YN2gZbe25hr9yToNN+kaIpU1AZRkqtXNn/bU08e7g8pF1Sfn12E72JkDwQ1PYr9XS9dBZdKWcMKSTAG4C8oCWP0ani1JrEHEZxOWnrDyz0Pawo6IY5yajgmjkbpp4Y1Nu5Uw3510GuOFMNwNaCnW82h3osOBF7luDhwLSi+F8AnJxZoyFOUhEP0KzdFlI3MmMPLNcz7A6ROA=="}
4、.NET版请求示例
IAopClient client = new DefaultAopClient(config.gatewayUrl, config.app_id, config.private_key, "json", "1.0", "RSA2", config.alipay_public_key, config.charset, false); AlipayDataDataserviceBillDownloadurlQueryRequest request = new AlipayDataDataserviceBillDownloadurlQueryRequest(); request.BizContent="{" + ""bill_type":"trade"," + ""bill_date":"2018-06"" + "}"; AlipayDataDataserviceBillDownloadurlQueryResponse response = client.Execute(request);
返回的响应参数示例
{"alipay_data_dataservice_bill_downloadurl_query_response":{"code":"10000","msg":"Success","bill_download_url":"http://dwbillcenter.alipaydev.com/downloadBillFile.resource?bizType=trade&userId=20881021701192600156&fileType=csv.zip&bizDates=201806&downloadFileName=20881021701192600156_201806.csv.zip&fileId=%2Ftrade%2F20881021701192600156%2F201806.csv.zip×tamp=1553589447&token=14bffc878e152701b10b98b0127cc332"},"sign":"Q91rvMbo4agL95YPZVp0UgEPlzLdPXGN5dJBibEWNF41RSTJGajTSHjDeNp9m3vHlwaYQy8f7pyeGfdoIRSZL0/xP+qcEAwBlqzzN36xCcQyRqOLaeTvCRtZMMV6W3pnGqxR/hwoKDgjU6F472IS2CPNWlmqgDM3UZNQfKAwU6oCmZoUvIJ7TcZhCeiVcpslc80wGzaAHl1IwLI/ZejV/YbUgmWdi0eu2PmV3+iTla2dtesQusHorDcNJAdUxmOc5wfhy2hK5hawIvAP7DQIa39Ban8DS32Tt4q+FbYlbp0fbO+fpqmCumke6zj6WJWowjDhawA008nRaA64Upw4hw=="}
三、注意事项
1、 如何下载对账单
直接将响应参数生成的bill_download_url进行浏览器访问下载。
2、对账单bill_type类型解析
trade:商户基于支付宝交易收单的业务账单,即调用支付宝交易接口产生的交易信息,不包含非接口交易的账单信息
signcustomer:基于商户支付宝余额收入及支出等资金变动的帐务账单,即所有支付宝余额产生的变动的交易信息,包含调用接口产生的交易账单以及非接口交易的账单信息
3、bill_download_ur有效期
bill_download_ur参数自接口调用生成,有效期为30s。
4、对账下载日期
账单下载日期支持下载日账单,月账单,不支持年度账单。
日账单:日账单不支持下载当日账单,只能下载前一日24点前的账单(T+1),日期格式如:2018-01-05
注:建议在第二日10:00以后下载
月账单:月账单不支持下载当月账单,只能下载上一月的账单信息,日期格式如:2018-01。
注:月账单一般会在次月 4 日或之前生成,建议次月4号或后面日期下载。
历史账单最久可以下载30个月之前的账单,具体的下载时间以实际可下载时间为准。
5、账单表格数据详解
具体账单表格数据建议咨询商户客服:在线咨询请点击以下链接:[url]https://cschannel.alipay.com/newPortal.htm?scene=kfpt&token=&pointId=&enterurl=https%3A%2F%2Fopen.alipay.com%2Fplatform%2Fhome.htm[/url]。商户服务电话:0571-88158090
四、常见接口报错
账单数据乱码、下载超时等接口报错和对账单地址参数解析详解:[url]https://openclub.alipay.com/read.php?tid=4637&fid=72[/url]
如果还是报错,请按如下方式进行提问:
正确提问方式:使用环境(沙箱还是正式环境)+接口名称(中文+英文)+ 请求参数 + 报错信息详情