天天看點

alipay.trade.fastpay.refund.query(統一收單交易退款查詢) 內建流程一、文檔位址二、開發前準備工作三、接口內建代碼示例四、注意事項

接口名稱:統一收單交易退款查詢

英文名稱: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參數值不同,接口調用成功,但無法查詢該筆退款資訊,因為無詳細退款資料傳回。

如果還是報錯,請按如下方式進行提問:

正确提問方式:使用環境(沙箱還是正式環境)+接口名稱(中文+英文)+ 請求參數 + 報錯資訊詳情

繼續閱讀