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=1

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

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

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

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

AopClient.php

AopEncrypt.php

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 下載密鑰生成工具

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM