上月用得好好的支付宝获取月账单接口,月初突然返回“入参不合法”的解决方法。
【现象描述】
获取支付宝获取月账单接口的Java代码如下:
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", appid, appPrivateKey, "json", "UTF-8", alipayPublicKey, signType);//获得初始化的AlipayClient AlipayDataDataserviceBillDownloadurlQueryRequest request = new AlipayDataDataserviceBillDownloadurlQueryRequest();//创建API对应的request类 request.setBizContent("{" + " \"bill_type\":\"trade\"," + " \"bill_date\":\"2019-05\"}"); //设置业务参数 AlipayDataDataserviceBillDownloadurlQueryResponse response = null;//通过alipayClient调用API,获得对应的response类 try { response = alipayClient.execute(request); } catch (AlipayApiException e) { e.printStackTrace(); } System.out.println(response.getBillDownloadUrl());
2019-06-01获取5月账单时,返回如下错误信息:
2019-06-01 07:51:50,698 [main] ERROR [sdk.biz.err] - ErrorScene^_^40004^_^isv.invalid_arguments^_^null^_^Windows 8.1^_^2019-06-01 07:51:50^_^ProtocalMustParams:sign=ISL0oAZbF0RZznh4/xH***=×tamp=2019-06-01 07:51:48&sign_type=RSA&charset=UTF-8&app_id=2016***&method=alipay.data.dataservice.bill.downloadurl.query&version=1.0^_^ProtocalOptParams:alipay_sdk=alipay-sdk-java-dynamicVersionNo&format=json^_^ApplicationParams:biz_content={ ? ?"bill_type":"trade", ? ?"bill_date":"2019-06"}^_^Body:{"alipay_data_dataservice_bill_downloadurl_query_response":{"code":"40004","msg":"Business Failed","sub_code":"isv.invalid_arguments","sub_msg":"入参不合法"},"sign":"cewSD6P+xWuoxhJsM2XTBlT/***="}
格式化后的返回结果如下:
{
"alipay_data_dataservice_bill_downloadurl_query_response": {
"code": "40004",
"msg": "Business Failed",
"sub_code": "isv.invalid_arguments",
"sub_msg": "入参不合法"
}
【解决方法】
6月1日解决了一会,突然有事,就搁在哪儿。6月2日早上再来解决时,突然好,把我的亲身体验分享给大家。
原因:需要T+1天生成账单,如果每月1号查询上月账单会返回“入参不合法”;
解决方法:每月2号凌晨以后再查上月账单,就正常了。