当前位置: 首页 > news >正文

支付宝的对账单下载

easy版:

LocalDate yesterday = LocalDate.now().minusDays(1);LocalDate selectDay = LocalDate.of(2025,9,15);String Mon = "2025-08";String billDate = yesterday.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));//获取支付宝账单String alipayBillDownloadUrl = getAlipayBillDownloadUrl(billDate);
/*** 调用支付宝接口获取对账单下载地址* @param billDate 账单日期 (格式 yyyy-MM-dd)* @return 下载地址URL*/private static String getAlipayBillDownloadUrl(String billDate) {// 1. 构造配置(可直接写死,排查配置问题)Config config = new Config();config.protocol = "https";config.gatewayHost = "openapi-sandbox.dl.alipaydev.com"; // 沙箱环境config.signType = "RSA2";config.appId = "XXXXX";config.merchantPrivateKey = "XXXXX";config.alipayPublicKey = "XXXXX";config.notifyUrl = "";config.encryptKey = "";// 2. 设置全局配置
        Factory.setOptions(config);try {AlipayDataDataserviceBillDownloadurlQueryResponse response = Factory.Payment.Common().downloadBill("trade", billDate);if ("10000".equals(response.code)) {System.out.println("调用成功");System.out.println("账单下载地址:" + response.getBillDownloadUrl());System.out.println(response.httpBody);
//                downloadAndParseBill(response.getBillDownloadUrl());} else {System.out.println("调用失败");}return response.getBillDownloadUrl();} catch (Exception e) {System.out.println(e.getMessage());return null;}}

 

V3版本:

 ApiClient defaultClient = Configuration.getDefaultApiClient();// 初始化alipay参数(全局设置一次)
        defaultClient.setAlipayConfig(getAlipayConfig());AlipayDataDataserviceBillDownloadurlApi api = new AlipayDataDataserviceBillDownloadurlApi();String billType = "trade";String billDate = "2025-09-20";String smid = "XXXXX";try {AlipayDataDataserviceBillDownloadurlQueryResponseModel response = api.query(billType, billDate, smid);System.out.println("new:"+ response.getBillDownloadUrl());} catch (ApiException e) {throw new RuntimeException(e);}

V3版对应的配置:

 /*** 支付宝支付配置* @return*/private static AlipayConfig getAlipayConfig() {AlipayConfig alipayConfig = new AlipayConfig();alipayConfig.setServerUrl("https://openapi-sandbox.dl.alipaydev.com"); //沙箱环境alipayConfig.setAppId("XXXXX");alipayConfig.setPrivateKey("XXXXX");alipayConfig.setAlipayPublicKey("XXXXX");return alipayConfig;}

 

最后我有个疑问,我没用过正式的环境,这个沙箱环境不知道是不是不会有数据下载,我返回的响应是成功的代码,但我点返回的下载链接会直接跳ERROR的页面,30秒后再点也会弹过期的页面。

有懂的欢迎讨论下。

https://opendocs.alipay.com/support/01raze

image

 

http://www.hskmm.com/?act=detail&tid=12301

相关文章:

  • 1.6μVRMS超低噪声、20V、200mA低静态电流线性稳压器IBSP3030,替代LT3042、GM1201
  • [NOIP2022] 建造军营 解题报告
  • ABC 424 D-F 题解
  • 爱锋拍照工具 - 技术支持
  • 123213123
  • 详细介绍:项目首次推送到GitHub、指令步骤(下)
  • 计算多项式的值
  • 梦游天姥吟留别
  • Ubuntu操作便捷的系统下运用mysql、mongodb、redis
  • 03_Angular的突破性优势
  • 02_Angular现代前端框架的选型逻辑
  • 01_Angular时代的前端开发变革
  • 一堆杂题混刷
  • QQ 陌生人点赞 功能存在隐私泄露风险
  • Python爬虫实战——使用NetNut网页解锁器获取亚马逊电商资料
  • 2025 CCPC 网络赛
  • 安装windows11跳过账户登录
  • TCM安全学院夏季大促与免费网络安全课程发布
  • 博客园插入bilibili视频
  • 软件工程第一次编程作业
  • WO Mic - 免费麦克风
  • AudioRelay —— 让电脑使用手机的麦克风和扬声器
  • 【小白学算法】矩阵快速幂超详细解析+例题[HDU - 2802]
  • lyms 的神秘歌单
  • 大学园区二手书交易强大的平台(代码+数据库+LW)
  • webRTC入门
  • Element UI框架中自定义input组件的placeholder样式
  • 【C++】类与结构体的区别
  • Linux云端服务器上部署Spring Boot应用
  • HTML表单验证:确认input元素输入为具有特定整数和小数位数的数值