1. 程式人生 > >PHP接入支付寶支付

PHP接入支付寶支付

建立應用

使用支付寶賬號登入開放平臺建立應用,應用建立成功之後可以得到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進行支付