PHP接入支付寶支付
阿新 • • 發佈:2018-12-07
建立應用
使用支付寶賬號登入開放平臺建立應用,應用建立成功之後可以得到APPID等相關資訊
接著需要設定RSA金鑰,可以使用螞蟻金服開放平臺提供的生成工具,生成完金鑰需在開放平臺中填寫。
程式碼接入
引用服務端SDK
為了方便開發者的接入,支付寶提供了幾種常用開發語言的服務端SDK。
本人專案中使用的是PHP Laravel框架,下載SDK後,在app
目錄下新建libs
目錄,將SDK包解壓放入資料夾下。
接著需要將SDK的程式碼加上名稱空間,以我的專案目錄結構為例,需要在程式碼的頂部加上如下一行程式碼
確保引入的程式碼都加入了正確的名稱空間。
請求下單介面
public function requestAliOrder() { // 商戶訂單號 $orderSn = $_POST['orderSn']; // 商品價格 $price = $_POST['price']; // 支付應用的APPID $appId = $_POST['appId']; // 私鑰 可使用支付寶提供的工具生成 $rsaPrivateKey = $_POST['privateKey']; // 公鑰 可使用支付寶提供的工具生成 $rsaPublicKey = $_POST['publicKey']; // 使用支付寶下單sdk $ali = new AopClient(); $ali->gatewayUrl = 'https://openapi.alipay.com/gateway.do'; $ali->appId = $appId; $ali->format = 'json'; $ali->postCharset = 'UTF-8'; $ali->signType = 'RSA2'; $ali->apiVersion = '1.0'; $ali->rsaPrivateKey = $rsaPrivateKey; $ali->rsaPublicKey = $rsaPublicKey; $bizContent = [ 'body' => 'test..', 'subject' => '商品', 'out_trade_no' => $order_id, 'total_amount' => $price, 'product_code' => 'QUICK_WAP_WAY', ]; // 支付結果非同步通知地址 $request->setNotifyUrl('http://pay.alipay.cn/alipayResult'); $request->setBizContent(json_encode($bizContent)); // 生成html表單 由支付寶SDK生成 $response = $ali->pageExecute($request); return $response; }
由SDK生成的html表單,也可以自己手動組裝而成,有興趣的可以嘗試一下。
將此表單返回給客戶端之後,便可調起手機上的支付寶APP進行支付