文章目录
提示:以下是本篇文章正文内容,下面案例可供参考
支付宝API对账单功能开发
一、请求API获取对账单下载链接
1.支付宝开发平台在线文档地址:查询对账单下载地址
https://opendocs.alipay.com/open/4ecbcf55_alipay.data.dataservice.bill.downloadurl.query?scene=common&pathHash=6a70ff5d
2.添加依赖
<!--支付宝jar包-->
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.39.79.ALL</version>
<exclusions>
<exclusion>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</exclusion>
</exclusions>
</dependency>
3.API调用
alipay.data.dataservice.bill.downloadurl.query(查询对账单下载地址)
package com.bessky.hrmis.test;
import com.alipay.api.AlipayClient;
import com.alipay.api.AlipayConfig;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.*;
import com.alipay.api.request.*;
import com.alipay.api.response.*;
import com.bessky.hrmis.HrmisApplication;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = HrmisApplication.class)
public class AlipayTest {
@Test
public void test() throws Exception {
//查询对账单下载地址
// 初始化SDK
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","UTF-8","alipay_public_key","RSA2");
AlipayDataDataserviceBillDownloadurlQueryRequest request = new AlipayDataDataserviceBillDownloadurlQueryRequest();
AlipayDataDataserviceBillDownloadurlQueryModel model = new AlipayDataDataserviceBillDownloadurlQueryModel();
model.setBillType("signcustomer");
model.setBillDate("2025-03-01");
request.setBizModel(model);
AlipayDataDataserviceBillDownloadurlQueryResponse response = alipayClient.execute(request);
if (response.isSuccess()) {
System.out.println("调用成功");
// 获取对账单下载链接
String billDownloadUrl = response.getBillDownloadUrl();
} else {
System.out.println("调用失败");
}
}
}
二、对账单下载链接文件解析
1.说明:
通过API调用获取下载链接,这里通过下载链接下载的是一个zip压缩包,里面有两个文件,分别是账单明细和账单汇总,那这里主要是对账单明细的csv文件不下载进行解析,获取到需要的明细数据
解析文件截图(这里前三列编号是随便填的。真实编号开头几位数字也是这样的)
2.解析测试类
package com.alipay.test;
import com.alipay.api.AlipayClient;
import com.alipay.api.AlipayConfig;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api