接口名稱:統一收單交易退款查詢
英文名稱:alipay.trade.fastpay.refund.query
主要用于查詢退款交易詳情資訊
一、文檔位址
官方文檔位址:[url]https://docs.open.alipay.com/api_1/alipay.trade.fastpay.refund.query[/url]
二、開發前準備工作
調用步驟:[url]https://openclub.alipay.com/read.php?tid=12194&fid=69[/url]
注意事項:1、支援沙箱測試;2、需簽約并添加功能;3、支援第三方調用。
如何簽約以及簽約無法成功等相關簽約問題:[url]https://openclub.alipay.com/read.php?tid=276&fid=72[/url]
注:該接口為輔助接口,隻要簽約當面付、手機網站支付、電腦網站支付和APP支付,四個支付接口中其中一個就可以調用。
三、接口內建代碼示例
1、參數說明
(1)out_trade_no:商戶訂單号,該參數值為退款接口中設定的out_trade_no參數值;
(2)trade_no:支付寶交易号,該參數值為支付接口訂單建立後,退款接口設定的trade_no參數值;
注:out_trade_no和trade_no至少必傳其中一個參數,兩者同時設定優先取值trade_no。
(3)out_request_no:退款請求辨別,該參數值設定為退款接口中設定的out_request_no參數值;
2、JAVA版請求示例
public static void main(String[] args) throws AlipayApiException {
AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, AlipayConfig.format, AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);
AlipayTradeFastpayRefundQueryRequest request = new AlipayTradeFastpayRefundQueryRequest();
AlipayTradeFastpayRefundQueryModel model = new AlipayTradeFastpayRefundQueryModel();
//外部訂單号,與tradeNo二選一
model.setOutTradeNo("sao201881610515614516");
// model.setTradeNo("2019031922001494891000002604");
//OutTradeNo:辨別一次退款請求,同一筆交易多次退款需要保證唯一,如退款接口設定,則此參數必傳。
model.setOutRequestNo("HZ01RF001");
request.setBizModel(model);
AlipayTradeFastpayRefundQueryResponse response = alipayClient.execute(request);
if(response.isSuccess()){
System.out.println("調用成功");
} else {
System.out.println("調用失敗");
}
System.out.println(response.getBody());
}
響應參數傳回示例
{"alipay_trade_fastpay_refund_query_response":{"code":"10000","msg":"Success","out_request_no":"HZ01RF001","out_trade_no":"sao201881610515614516","refund_amount":"3.00","total_amount":"10.00","trade_no":"2019031922001494891000002604"},"sign":"QK8YhF+957fHlMxIVqwmas3ePOlNnOiN8ywjOBToKtxuewg1ocvoDAygIVwciyWc3DUDiO/zCmVyzHA7T7+ok8KB2SzO0kLCoCej8zPJEDc3Ncr4Pio8adz4+1BI4O7fLm5ePAoBON9CpCrnVSsT3Mo/b5PWafVNhkpGV2c1BnM1COEeQDdVDSV3n2GkZYNwNSFEoMag1OhkLMQ78r1fMyhVK4rPBZbsI+p6bUguIp3f+PGTKJHa9DWNrbuWce4cpVbe/QmdDx4v0l0gZ7pF56+VAG8+Cj/r6T4hLJi7yMu05d9aIfH/hWS6V5IuVV6Na2pSxUnAcBrkn54MsY1eJw=="}
3、PHP版請求示例
<?php
require_once 'AopSdk.php';
$aop = new AopClient ();
$aop->appId = '填寫您的appid';
$aop->rsaPrivateKey = '填寫您的私鑰';
$aop->alipayrsaPublicKey='填寫您的支付寶公鑰';
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->apiVersion = '1.0';
$aop->signType = 'RSA2';
$aop->postCharset='utf-8';
$aop->format='json';
$date=date("YmdHis");
$arr=range(1000,9999);
shuffle($arr);
$request = new AlipayTradeFastpayRefundQueryRequest ();
$request->setBizContent("{" .
""out_trade_no":"sao201881610515614516"," .
""out_request_no":"HZ01RF002"" .
" }");
$result = $aop->execute($request);
//第三方調用
//$result = $aop->execute($request,"","app_auth_token");
echo json_encode($result);
{"alipay_trade_fastpay_refund_query_response":{"code":"10000","msg":"Success","out_request_no":"HZ01RF002","out_trade_no":"sao201881610515614516","refund_amount":"7.00","total_amount":"10.00","trade_no":"2019031922001494891000002604"},"sign":"WsCls80gJFN3oGWXRZxYwoagt9D1myPC3B1AKOvZKDb+uOuXqrT7eQs2UnMKSEgqPnpCXXUdQPxeXWYSrNrvPSGgJGfLy0+cpoootGkAwg3O4QFLvttAEduw0NG1kQQBPbf1VN7PLb6a3cc/JLmghNoS6YpW79ABHdHKCYXD6wQvXpOZUMPA2gpYBt/E+LaIJtx1evCHC+M3+HN0GyaokOG8WHsu5MW3oBD3kmAwEkDXssE+cPneZuqVB824jjIzJkaPmyBb6NRHF9UtELqfov1iFFP4WG4Wy+rDFt6Ys2/UzMAx7aDyNObYaiJvF3riAyyoSUP++0pVdDIk0RGCgg=="}
4、.NET版請求示例
IAopClient client = new DefaultAopClient(config.gatewayUrl, config.app_id, config.private_key, "json", "1.0", "RSA2", config.alipay_public_key, config.charset, false);
AlipayTradeFastpayRefundQueryRequest request = new AlipayTradeFastpayRefundQueryRequest();
request.BizContent="{" +
// ""trade_no":"2019032222001481940568519359"," +
""out_trade_no":"20190321ygyg45447000001"," +
""out_request_no":"20190321ygyg45447000001"" +
"}";
AlipayTradeFastpayRefundQueryResponse response = client.Execute(request);
{"alipay_trade_fastpay_refund_query_response":{"code":"10000","msg":"Success","out_request_no":"20190321ygyg45447000001","out_trade_no":"20190321ygyg45447000001","refund_amount":"0.03","total_amount":"0.03","trade_no":"2019032222001481940568519359"},"sign":"i5B/cVIg6IjvbEaR6h1d7tl5wBV9s/RrNb4nV4LpWa1SGIumnHP3BUgjiAUFRL2gyMuEisbjd5SUdCyDiPl9jq9v3rQ+gNIu+jd7Az7+5jARx2wILCXTVN3PCkY0oGs64AwImQGuKvGxxbiCasVELQNZm1y3bUtOmRBuZR3Vmir+nHoJ46MmNb+7IvCOVLK/KJNcUhAikbOzKccEg5lSFk3qFsTBgXWAjOQ9T3iM6IsNqCAJvhIlZzUN9IRoeUWq3nbUnEnQAouL4g2F6Y9NDwhpdP8p5TBTrAYKXbc9gOYDbhBE5RW0+At5CXBCBM/LRkudIzWlBNrs8wOw8ENGug=="}
四、注意事項
1、接口如何判斷交易退款成功
該接口傳回1000隻表示接口調用成功,傳回具體詳細的退款參數值表示退款成功。
2、接口調用成功,但無詳細資料
退款查詢接口out_trade_no,trade_no和out_request_no參數值必須設定為退款接口設定資訊,若out_trade_no,trade_no相同,out_request_no參數值不同,接口調用成功,但無法查詢該筆退款資訊,因為無詳細退款資料傳回。
如果還是報錯,請按如下方式進行提問:
正确提問方式:使用環境(沙箱還是正式環境)+接口名稱(中文+英文)+ 請求參數 + 報錯資訊詳情