支付宝支付对账单java_支付宝对账单下载Java正式商户调用

packagecode;importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.net.HttpURLConnection;importjava.net.MalformedURLException;importjava.net.URL;importcom.alipay.api.AlipayApiException;importcom.alipay.api.AlipayClient;importcom.alipay.api.DefaultAlipayClient;importcom.alipay.api.request.AlipayDataDataserviceBillDownloadurlQueryRequest;importcom.alipay.api.response.AlipayDataDataserviceBillDownloadurlQueryResponse;public classAlipayBill {//初始化实例请求对象

public static String APP_ID = "2017000000000000"; //自己的商户appid

// RSA签名方式使用算法:SHA1withRSA。 注意此处是RSA 的私钥 是Java版本格式的 如果是用.NET 就要转换为.NET版本的格式public static String APP_PRIVATE_KEY = "ghjjjjffjjjjkytyyddfsgsaetertrtr..............";//RSA2签名方式使用算法:SHA256withRSA。//public static String APP_PRIVATE_KEY ="+zA3RJzhtiL4MIHks4GD++6RuQ/";

//公钥是可以公用的在公共平台配置的 .NET和Java语言的都可以共用。但是要区别 RSA或者是RSA2的公钥签名

public static String ALIPAY_PUBLIC_KEY = "/fEsraprwCtzvzQETrNRwmZkh2QhUrCmZYI";//rsa2//public static String ALIPAY_PUBLIC_KEY ="/aFKRhSS5fHChIzjpMrl";//开放平台SDK封装了签名实现,只需在创建DefaultAlipayClient对象时,设置请求网关(gateway),应用id(app_id),应用私钥(private_key),编码格式(charset),支付宝公钥(alipay_public_key),签名类型(sign_type)即可,报文请求时会自动进行签名。

public static AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", "GBK",

ALIPAY_PUBLIC_KEY,"RSA"); //注意在此处用的RSA签名类型参数 如果是RSA2的就要传RSA2参数

public static String post_bill_date="2017-06-20" ;/***@paramargs*/

public static voidmain(String[] args) {//TODO Auto-generated method stub

bill_download_url ();//下载对账单接口

}public static voidbill_download_url (){

//"  \"bill_date\":\"2017-07-26\""+      时间参数  "+post_bill_date+"

//账单时间:日账单格式为yyyy-MM-dd,月账单格式为yyyy-MM。

//账单参数类型 值 signcustomer 包含 是账务明细的 也有业务明细的 trade 只有 是业务明细的 在这里特别注意下 以免被挖坑了 看官网的容易坑

AlipayDataDataserviceBillDownloadurlQueryRequest request= newAlipayDataDataserviceBillDownloadurlQueryRequest();

request.setBizContent("{" +

" \"bill_type\":\"trade\"," +

" \"bill_date\":\"2017-07-26\""+

"}");

AlipayDataDataserviceBillDownloadurlQueryResponse response= null;try{

response=alipayClient.execute(request);

System.out.println(response.getBillDownloadUrl());

}catch(AlipayApiException e)

{

e.printStackTrace();

}//调用成功,则处理业务逻辑

if(response.isSuccess())

{//将接口返回的对账单下载地址传入urlStr

String urlStr=response.getBillDownloadUrl();//指定希望保存的文件路径

String filePath = "D:\\Users\\fund_bill_20170726.csv.zip";

URL url= null;

HttpURLConnection httpUrlConnection= null;

InputStream fis= null;

FileOutputStream fos= null;try{

url= newURL(urlStr);

httpUrlConnection=(HttpURLConnection) url.openConnection();

httpUrlConnection.setConnectTimeout(5 * 1000);

httpUrlConnection.setDoInput(true);

httpUrlConnection.setDoOutput(true);

httpUrlConnection.setUseCaches(false);

httpUrlConnection.setRequestMethod("GET");

httpUrlConnection.setRequestProperty("CHARSET", "UTF-8");

httpUrlConnection.connect();

fis=httpUrlConnection.getInputStream();byte[] temp = new byte[1024];intb;

fos= new FileOutputStream(newFile(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();

}

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值