用php實現支付寶支付的方法:1、掃碼登錄支付寶開放平臺注冊;2、找到開發信息,并開啟RSA2密鑰模式;3、查看支付寶私鑰公鑰等信息;4、下載支付寶支付的sdk;5、通過創建demo來實現支付寶支付即可。
怎么用php實現支付寶支付?
PHP實現支付寶支付:
提示:這里的demo使用的時沙箱支付 需要先注冊沙箱賬號等
注冊沙箱賬號:
首先掃碼登錄支付寶開放平臺注冊
地址:https://open.alipay.com/
掃碼登錄注冊后進入控制臺,滑到頁面中間找到研發服務
點擊研發服務可以看到自己的沙箱服務的相關信息
找到下面的開發信息,開啟RSA2密鑰模式
點擊查看可以看到自己的支付寶私鑰公鑰等信息 要保存下來,之后要用到!!!
關于應用網關和授權回調地址的設置可查看文檔
地址:https://developer.aliyun.com/article/707583
到這里我們的沙箱環境已經注冊完成,下面我們開始完成一個支付的小demo!
下載支付寶支付的sdk:
根據編程語言下載支付寶的SDK
地址:https://render.alipay.com/p/f/fdjwq8nu2a/pages/home/index.html (這里以PHP語言為例)
解壓目錄如下:demo.php是我自己創建的
下面我們寫一個簡單的demo來實現支付寶支付
<?php require "alipay/aop/AopClient.php"; //引入alipay文件 require "alipay/aop/request/AlipayTradeWapPayRequest.php"; //引入alipay文件 //配置支付寶相關參數 $config = [ 'alipay_appid' = 2021xxxx, //appid 'alipay_rsaprivateKey'=>'xxxx', //開發者私鑰 'alipay_alipayrsapublicKey'=>'xxxx', //支付寶公鑰 'alipay_notify'=>'http://www.xxx.com/xxx/xxx', //支付寶回調地址 支付成功后支付寶會把消息發送給此接口,在此接口中完成支付成功后的相關操作即可 ]; $aop = new AopClient(); // $aop->gatewayUrl = "https://openapi.alipaydev.com/gateway.do"; //網關地址要使用沙箱網關alipaydev $aop->gatewayUrl = "https://openapi.alipaydev.com/gateway.do"; //網關地址要使用沙箱網關alipaydev //支付寶分配給開發者的應用ID $aop->appId = $config['alipay_appid']; //請填寫開發者私鑰去頭去尾去回車,一行字符串 $aop->rsaPrivateKey = $config['alipay_rsaprivateKey']; //請填寫支付寶公鑰,一行字符串 $aop->alipayrsaPublicKey = $config['alipay_alipayrsapublicKey']; 返回數據格式 $aop->format = "json"; // 表單提交字符集編碼 $aop->postCharset = "utf-8"; //簽名類型 $aop->signType = "RSA2"; //api版本 $aop->apiVersion = '1.0'; //實例化具體API對應的request類,類名稱和接口名稱對應,當前調用接口名稱:alipay.trade.app.pay $request = new AlipayTradeWapPayRequest(); //SDK已經封裝掉了公共參數,這里只需要傳入業務參數,沙箱環境的product_code只能是FAST_INSTANT_TRADE_PAY $info = [ 'body' => 'xxx', 'subject' => '標題', //訂單標題。 'out_trade_no' => time().rand(1111,9999), //商戶網站唯一訂單號 自定義的訂單號 'total_amount' => 1, //訂單總金額。單位為元,精確到小數點后兩位,取值范圍:[0.01,100000000] 。 ]; $info = json_encode($info, JSON_UNESCAPED_UNICODE); //支付寶服務器主動通知商戶服務器里指定的頁面http/https路徑。 支付回調 $request->setNotifyUrl($config['alipay_notify']); $request->setBizContent($info); //這里和普通的接口調用不同,使用的是sdkExecute $result = $aop->pageExecute($request); return $result; //$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response"; //$resultCode = $result->$responseNode->code; //if(!empty($resultCode)&&$resultCode == 10000){ // echo "成功"; //} else { // echo "失敗"; //}
詳細參數可查看文檔 https://opendocs.alipay.com/apis/api_1/alipay.trade.wap.pay?scene=21
下面我們來測試一下
此時訪問我們的demo.php文件 已經成功喚起支付寶支付 下面我們登錄沙箱支付的買家賬號完成支付即可