yii2.0 app上集成支付寶支付

1.首先從支付寶官網下載支付寶app支付sdk 地址 : https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.hLEa5O&treeId=54&articleId=106370&docType=1php

2.解壓下載文件會獲得幾個文件夾html

用到的文件有AopClient.php/AopEncrypt.php/AlipayTradeAppPayRequest.php 這幾個文件json

3.將解壓好的文件放到yii/frontend下新建文件alipay下瀏覽器

4.修改要用到的文件的命名空間:app

AopClient.phpfrontend

AopEncrypt.phpyii

AlipayTradeAppPayRequest.php異步

5.新建本身要用到支付控制器個人是orderController.php工具

注意:必定要引入修改的支付寶sdk學習

$aop = new AopClient;
        $aop->gatewayUrl = Yii::$app->params['gatewayUrl'];
        $aop->appId = Yii::$app->params['appId'];
        $aop->rsaPrivateKey = Yii::$app->params['rsaPrivateKey'];
        $aop->format = Yii::$app->params['format'];
        // $aop->charset = Yii::$app->params['charset'];
        $aop->signType = Yii::$app->params['signType'];
        $aop->alipayrsaPublicKey = Yii::$app->params['alipayrsaPublicKey'];
        //實例化具體API對應的request類,類名稱和接口名稱對應,當前調用接口名稱:alipay.trade.app.pay
        $request = new AlipayTradeAppPayRequest();
        //SDK已經封裝掉了公共參數,這裏只須要傳入業務參數
        $bizcontent = json_encode([  
            'body'=>$order['order_sn'],  
            'subject'=>'App支付測試',  
            'out_trade_no'=>$order['order_sn'],//此訂單號爲商戶惟一訂單號  
            'total_amount'=> $order['order_amount'],//保留兩位小數  
            'product_code'=>'QUICK_MSECURITY_PAY'  
        ]);
        $request->setNotifyUrl("商戶外網能夠訪問的異步地址");
        $request->setBizContent($bizcontent);
        //這裏和普通的接口調用不一樣,使用的是sdkExecute
        $response = $aop->sdkExecute($request);
        //htmlspecialchars是爲了輸出到頁面時防止被瀏覽器將關鍵參數html轉義,實際打印到日誌以及http傳輸不會有這個問題echo htmlspecialchars($response);
        echo $response;//就是orderString 能夠直接給客戶端請求,無需再作處理。

上面這些信息裏面的配置能夠放到Params.php方便調用

使用Yii::$app->params方法調用

到這基本上都能獲取orderString 能夠直接給客戶端請求,無需再作處理。剩下就是本身作一些邏輯處理訂單信息了;

注:生成一些私鑰到官方下載https://docs.open.alipay.com/291/106097 下載密鑰生成工具

我只是個菜鳥,有問題請在下方評論,共同窗習進步

相關文章
相關標籤/搜索