官方參考文檔:
?https://opendocs.alipay.com/open/62987723_alipay.fund.trans.uni.transfer?scene=ca56bca529e64125a2786703c6192d41&pathHash=66064890?
可以使用默認應用,也可以自建新應用,此處以默認應用來講解【默認應用默認支持該API】
一:給應用配置加簽方式
按照下面的提示,在本地電腦上安裝密鑰工具并生成密鑰文件。
二:下載SDK
https://opendocs.alipay.com/open/54/103419/
把代碼放在服務器項目目錄中【sdk/ali_transfer】
目錄請根據自己實際項目需要自定義即可。
使用命令行將壓縮包解壓? unzip 壓縮包名稱
最后調整為如下格式:
在官方文檔頁面,找到集成工具
選擇在線調試
注意:此API在線調試工具里的代碼是沙箱環境下的代碼,不能作為正常業務邏輯操作代碼。
復制右側的php代碼到自己的項目中,并把代碼加以改造。
require_once ROOT_PATH.'sdk/ali_transfer/v2/aop/AopClient.php';require_once ROOT_PATH.'sdk/ali_transfer/v2/aop/AopCertClient.php';require_once ROOT_PATH.'sdk/ali_transfer/v2/aop/AopCertification.php';require_once ROOT_PATH.'sdk/ali_transfer/v2/aop/AlipayConfig.php';require_once ROOT_PATH.'sdk/ali_transfer/v2/aop/request/AlipayFundTransUniTransferRequest.php';$privateKey = "MIIEvQIBADANBgkqhki*********************EFAgiCdrM61I=";//支付寶密鑰工具生成的應用私鑰$alipayConfig = new \AlipayConfig();$alipayConfig->setPrivateKey($privateKey);$alipayConfig->setServerUrl("https://openapi.alipay.com/gateway.do");$alipayConfig->setAppId("2021********2401"); //支付寶后臺應用appID$alipayConfig->setCharset("UTF-8");$alipayConfig->setSignType("RSA2");$alipayConfig->setEncryptKey(""); //為空即可$alipayConfig->setFormat("json");$appCertPublicKey = file_get_contents(ROOT_PATH.'addons/epay/certs/appCertPublicKey.crt'); //證書路徑自行修改$alipayConfig->setAppCertContent($appCertPublicKey); //應用公鑰$alipayCertPublicKey = file_get_contents(ROOT_PATH.'addons/epay/certs/alipayCertPublicKey.crt');//證書路徑自行修改$alipayConfig->setAlipayPublicCertContent($alipayCertPublicKey); //支付寶公鑰證書$alipayRootCert = file_get_contents(ROOT_PATH.'addons/epay/certs/alipayRootCert.crt');//證書路徑自行修改$alipayConfig->setRootCertContent($alipayRootCert); //支付寶根證書$alipayClient = new \AopCertClient($alipayConfig);$alipayClient->isCheckAlipayPublicCert = true;$request = new \AlipayFundTransUniTransferRequest();$out_biz_no = "ybjz".date('YmdHis',time()).rand(10000000,99999999);$data=['out_biz_no'=>$out_biz_no,'trans_amount'=>0.1, //轉賬金額(單位為元)'biz_scene'=>'DIRECT_TRANSFER','product_code'=>'TRANS_ACCOUNT_NO_PWD','order_title'=>'提現','payee_info'=>['identity'=>'138********', //支付寶手機號'identity_type'=>'ALIPAY_LOGON_ID','name'=>'張某某', //支付寶姓名]];$request->setBizContent(json_encode($data));$responseResult = $alipayClient->execute($request);$responseApiName = str_replace(".","_",$request->getApiMethodName())."_response";$response = $responseResult->$responseApiName;if(!empty($response->code)&&$response->code==10000){//業務處理邏輯,如記錄訂單號,改變訂單狀態等//**********echo("調用成功");}else{echo("調用失敗");}
調用成功后返回的信息如下: