1. 程式人生 > >如何使用沙箱測試單筆轉賬到支付寶賬號(php版) https://openclub.alipay.com/read.php?tid=1770&fid=28

如何使用沙箱測試單筆轉賬到支付寶賬號(php版) https://openclub.alipay.com/read.php?tid=1770&fid=28

cin docs 官方 functions cell content 余額 ons border

說明:
本帖是利用支付寶沙箱測試電腦網站支付接口
測試環境:Apache2.4.23 +php 5.6.25
沙箱環境測試正式環境請修改網關為下方值

復制代碼

1 正式環境網關:https://openapi.alipay.com/gateway.do


註意事項:
1.目前僅支持賬戶余額渠道付款。
2.轉賬額度
1)單日轉出累計額度為100萬元。
2)轉賬給個人支付寶賬戶,單筆最高5萬元;轉賬給企業支付寶賬戶,單筆最高10萬元。

特殊邏輯註意點:
1)如果商戶重復請求轉賬,支付寶會冪等返回成功結果,商戶必須對重復轉賬的業務做好冪等處理;如果不判斷,
存在潛在的風險,商戶自行承擔因此而產生的所有損失。
2)如果調用alipay.fund.trans.toaccount.transfer掉單時,或返回結果code=20000時,或返回結果code=40004,
sub_code= SYSTEM_ERROR時,請調用alipay.fund.trans.order.query發起查詢,如果未查詢到結果,
請保持原請求不變再次請求alipay.fund.trans.toaccount.transfer接口。
3)商戶處理轉賬結果時,對於錯誤碼的處理,只能使用sub_code作為後續處理的判斷依據,
不可使用sub_msg作為後續處理的判斷依據。

參數解讀:


1.amount 轉賬金額,只支持2位小數,小數點前最大支持13位,金額必須大於等於0.1元。
2.payer_show_name付款方姓名(最長支持100個英文/50個漢字)。顯示在收款方的賬單詳情頁。如果該字段不傳
則默認顯示付款方的支付寶認證姓名或單位名稱。
3.payee_real_name收款方真實姓名(最長支持100個英文/50個漢字),如果本參數不為空,則會校驗該賬戶在支付寶
登記的實名是否與收款方真實姓名一致。
4.remark轉賬備註(支持200個英文/100個漢字)。當付款方為企業賬戶,且轉賬金額達到(大於等於)50000元,
remark不能為空。收款方可見,會展示在收款用戶的收支詳情中。

測試流程(
聲明:demo僅做參考使用):
1.下載官方【服務端sdk】放到項目中,註意:官方sdk php環境要求php5.5以上
2.看下方代碼
1)收款方賬戶類型為:ALIPAY_LOGONID

復制代碼

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <?php require_once ‘AopSdk.php‘; $aop = new AopClient (); $aop->appId = ‘填寫您的沙箱appid‘; $aop->rsaPrivateKey =
‘填寫您的私鑰‘; $aop->alipayrsaPublicKey=‘填寫您的支付寶公鑰‘; $aop->gatewayUrl = ‘https://openapi.alipaydev.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 AlipayFundTransToaccountTransferRequest (); //收款方賬戶類型為:ALIPAY_LOGONID:支付寶登錄號,支持郵箱和手機號格式。 $request->setBizContent("{" . "\"out_biz_no\":\"".$date.$arr[0]."\"," . "\"payee_type\":\"ALIPAY_LOGONID\"," . "\"payee_account\":\"請填寫您轉賬的賬號\"," . "\"amount\":\"0.1\"," . "\"remark\":\"單筆轉賬測試\"" . "}"); $result = $aop->execute ($request); var_dump($result);


2)收款方賬戶類型為:ALIPAY_USERID

復制代碼

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <?php require_once ‘AopSdk.php‘; $aop = new AopClient (); $aop->appId = ‘填寫您的appid‘; $aop->rsaPrivateKey = ‘填寫您的私鑰‘; $aop->alipayrsaPublicKey=‘填寫您的支付寶公鑰‘; $aop->gatewayUrl = ‘https://openapi.alipaydev.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 AlipayFundTransToaccountTransferRequest (); // 收款方賬戶類型為:ALIPAY_USERID:支付寶賬號對應的支付寶唯一用戶號。以2088開頭的16位純數字組成。 $request->setBizContent("{" . "\"out_biz_no\":\"".$date.$arr[0]."\"," . "\"payee_type\":\"ALIPAY_USERID\"," . "\"payee_account\":\"填寫您要轉賬的2088\"," . "\"amount\":\"0.1\"," . "\"remark\":\"單筆轉賬測試\"" . "}"); $result = $aop->execute ($request); var_dump($result);


3)alipay.fund.trans.order.query(查詢轉賬訂單接口)
說明:商戶可通過該接口查詢轉賬訂單的狀態、支付時間等相關信息,主要應用於B2C轉賬訂單查詢的場景

復制代碼

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 <?php /** * 2017-08-01 * by 我是個導演 * 歡迎訪問支付寶論壇:https://openclub.alipay.com/index.php */ require_once ‘AopSdk.php‘; $aop = new AopClient (); $aop->appId = ‘填寫您的appid‘; $aop->rsaPrivateKey = ‘填寫您的私鑰‘; $aop->alipayrsaPublicKey=‘填寫您的支付寶公鑰‘; $aop->gatewayUrl = ‘https://openapi.alipaydev.com/gateway.do‘; $aop->apiVersion = ‘1.0‘; $aop->signType = ‘RSA2‘; $aop->postCharset=‘utf-8‘; $aop->format=‘json‘; $request = new AlipayFundTransOrderQueryRequest (); //商戶轉賬唯一訂單號: 和支付寶轉賬單據號不能同時為空。當和支付寶轉賬單據號同時提供時,將用支付寶轉賬單據號進行查詢,忽略本參數。 $request->setBizContent("{" . "\"out_biz_no\":\"填寫商戶轉賬唯一訂單號\"," . "\"order_id\":\"填寫支付寶轉賬單據號\"" . "}"); $result = $aop->execute ( $request); var_dump($result);

如何使用沙箱測試單筆轉賬到支付寶賬號(php版) https://openclub.alipay.com/read.php?tid=1770&fid=28