接口调用示例流程建议参考:alipay.data.dataservice.bill.downloadurl.query(查询对账单下载地址) 集成流程
一、bill_download_url 下载账单地址参数解析
1、bizType参数是依据下载账单传入的账单类型bill_type来确定的,
如果传入的是bill_type是trade那么地址中的 bizType=trade,
如果传入的bill_type是signcustomer那么bizType=fnd
2、userId参数是下载的账单对应的用户的pid后拼接上0156(最后四个数字请忽略)。
如示例中的userId=20885016245603350156对应的商户pid=2088501624560335
3、fileType为下载账单格式。fileType=csv.zip表示账单是csv格式的压缩文件
4、bizDates为传入的下载的账单的日期,比如下载2018年01月的账单bizDates=201801
5、downloadFileName为账单下载地址下载的文件的名称
6、timestamp是账单下载地址的获取时间,token可以用来标记账单下载地址,每一次生成账单下载地址生成的时候这两个参数都不同
7、如果是使用第三方应用授权调用userId和downloadFileName中的pid参数是授权商户app_auth_token对应的pid也就是账单对应的客户的pid,不是调用接口的商户的pid
8、账单的下载格式是csv格式的表格,该表格的文字编码是ANSI编码(不同的国家和地区制定了不同的标准,由此产生了 GB2312、GBK、Big5、Shift_JIS 等各自的编码标准。这些使用 1 至 4 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。在简体中文Windows操作系统中,ANSI 编码代表 GBK 编码;在日文Windows操作系统中,ANSI 编码代表 Shift_JIS 编码。 不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI 编码的文本中。)
二 、常见接口报错
1、下载数据乱码
保存账单的文件路径结尾需改成.zip
示例代码参考:下载账单文件代码示例
2、下载超时,请重新下载
账单下载地址必须在30秒内使用,超出时间后会报错:"下载超时,请重新下载",如图:
注:出现这个错误需要调用接口重新获取账单下载地址,这里两次获取的账单下载地址timestamp和token参数就是不同的。
三、调用接口注意事项
1、账单类型bill_type参数有两种trade和signcustomer。
trade指商户基于支付宝交易收单的业务账单,即调用支付宝交易接口产生的交易信息,不包含非接口交易的账单信息。
signcustomer是指基于商户支付宝余额收入及支出等资金变动的帐务账单,即所有支付宝余额产生的变动的交易信息,包含调用接口产生的交易账单以及非接口交易的账单信息
2、账单下载日期支持下载日账单,月账单,不支持年度账单。
日账单:日账单不支持下载当日账单,只能下载前一日24点前的账单(T+1),日期格式如:2018-01-05
注:建议在第二日10:00以后下载
月账单:月账单不支持下载当月账单,只能下载上一月的账单信息,日期格式如:2018-01。
注:月账单一般会在次月 4 日或之前生成,建议次月4号或后面日期下载。
3、历史账单最久可以下载30个月之前的账单,具体的下载时间以实际可下载时间为准。
4、该接口支持沙箱测试, 但是沙箱下载的账单信息为空没有实际数据,建议以正式账号下载的账单信息为准。
四、demo分享(仅供参考)
alipay.data.dataservice.bill.downloadurl.query.zip
注:在demo中配置好自己的appid以及秘钥调用即可。
如有其它疑问,欢迎大家在帖子后面追问!