1. 程式人生 > >如何使用支付寶沙箱測試單筆轉賬到支付寶賬號(php版)

如何使用支付寶沙箱測試單筆轉賬到支付寶賬號(php版)

 

說明: 
  本帖是利用支付寶沙箱測試電腦網站支付介面 
  測試環境: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不能為空。收款方可見,會展示在收款使用者的收支詳情中。 

測試流程(
宣告:demo僅做參考使用): 
  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