如何使用支付寶沙箱測試單筆轉賬到支付寶賬號(php版)
阿新 • • 發佈:2018-11-13
說明:
本帖是利用支付寶沙箱測試電腦網站支付介面
測試環境:Apache2.4.23 +php 5.6.25
沙箱環境測試正式環境請修改閘道器為下方值
正式環境閘道器: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不能為空。收款方可見,會展示在收款使用者的收支詳情中。
測試流程(
1.下載官方【服務端sdk】放到專案中,注意:官方sdk php環境要求php5.5以上
2.看下方程式碼
1)收款方賬戶型別為:ALIPAY_LOGONID
<?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
<?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轉賬訂單查詢的場景
<?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版)domo下載:
藍奏雲 點選下載
百度雲:
連結: https://pan.baidu.com/s/1Uhcjms_dLuwrw6hIw5nzmA 提取碼: r4ra
參考:https://openclub.alipay.com/read.php?tid=1770&fid=28