支付宝支付下载对账单bug反馈整理

支付宝官方给广大开发朋友们,留了一个下载账单的API接口,供大家下载指定日期的账单数据。先来看下这个页面:

点我前往官方说明文档

 

 

 

 

$aop = new AopClient ();
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->appId = 'your app_id';
$aop->rsaPrivateKey = '请填写开发者私钥去头去尾去回车,一行字符串';
$aop->alipayrsaPublicKey='请填写支付宝公钥,一行字符串';
$aop->apiVersion = '1.0';
$aop->signType = 'RSA2';
$aop->postCharset='UTF-8';
$aop->format='json';
$request = new AlipayDataDataserviceBillDownloadurlQueryRequest ();
$bizcontent = json_encode(['bill_type'=>'trade','bill_date'=>'2019-03-05']);
$request->setBizContent($bizcontent);
$result = $aop->execute ( $request); $responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response"; $resultCode = $result->$responseNode->code; if(!empty($resultCode)&&$resultCode == 10000){ echo "成功"; } else { echo "失败"; }

 返回结果如下:(请求正常的情况下)

{ "alipay_data_dataservice_bill_downloadurl_query_response": { "code": "10000", "msg": "Success", "bill_download_url": "http://dwbillcenter.alipay.com/downloadBillFile.resource?bizType=X&userId=X&fileType=X&bizDates=X&downloadFileName=X&fileId=X" }, "sign": "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE" }

 

 理论上,只要把billDownloadUrl的值拿到跳转就可以下载。就算完成了账单下载接口的一次请求。

可是,对于很多人(包括我)来说,似乎没那么简单。请求接口后,跳转页面显示ERROR。打印数据返回code,确实是10000(成功)啊!在官方社区查了半天,终于找到了原因:

由于url解析出错,把其中的&times解析为x这样子,导致了链接请求失效,非常高兴的用php 的字符串替换函数将x替换为&times后,再次请求,还是ERROR!!!

惊讶的发现,根本没有替换成功,不管复制url中的x还是手打,怎么都是替换不掉。崩溃啊,哪位大神有办法,希望告知下!不胜感激!!!

posted @ 2019-04-03 13:21  知风阁  阅读(1458)  评论(0编辑  收藏  举报