thinkphp6.0 集成Alipay 手機和電腦端支付的方法


本文由 BI8EJM 原創,轉載請注明出處!

第一步

  下載 Alipay 的PHP SDK  :https://docs.open.alipay.com/54/103419/

第二步

  解壓下載都到的壓縮包:

  解壓后得到的文件內容如圖

   

 

 

第三步、上傳得到的目錄中的 aop 文件夾到 thinkphp 6.0 的 extend 目錄,如下圖:

  

 

 

 第四步、修改 AopClient.php 文件,加入命名空間 aop 具體修改如下圖

 

  在第二行位置,也就是最開始的位置,加入代碼:

namespace aop;

 

 

  

 

 

 第五步、修改 PC 支付文件 AlipayTradePagePayRequest.php 同樣是加入命名空間 namespace aop\request ,具體如下:

 

  在第二行位置,也就是最開始的位置,加入代碼:

namespace aop\request;

 

  

 

 

 

 第六步、使用PC支付接口,生成支付鏈接

  PS:接口方法這不是統一定義、而是在購買控制器中直接定義的,如要統一可以創建公共控制器或其他方法統一。

  1.在 確認訂單的控制器 ,我這里是 Buy 中引入支付方法。

  

use aop\AopClient;
use aop\request\AlipayTradePagePayRequest;

  

  

 

 

  2.創建私有方法 $alipay_config ,替換下面紅色的內容部分,為你的信息,具體信息在你的支付寶開發者平台獲取,地址:https://openhome.alipay.com/platform/appManage.htm#/apps

    private $alipay_config = array(
        'app_id' => '你的app_id',
        'notify_url'=>"https://xxx.com/xxx/ 這是你的異步通知地址",
        'merchant_private_key' => '你的私鑰',
        'gatewayUrl' => "https://openapi.alipay.com/gateway.do",
        'public_key' => "你的公鑰",
    );

  

   3.配置、引入 aop

        $aop = new AopClient();
        $aop->gatewayUrl = "https://openapi.alipay.com/gateway.do";
        $aop->appId = $this->alipay_config['appid'];
        $aop->method = 'alipayTradePagePay';
        $aop->charset = 'utf-8';
        $aop->signType = 'RSA2';

        $aop->alipayrsaPublicKey = $this->alipay_config['public_key'];
        $aop->rsaPrivateKey      = $this->alipay_config['private_key'];

  4.生成  biz_content 內容,具體內容可根據自己需求增刪,具體文檔參考:https://docs.open.alipay.com/api_1/alipay.trade.page.pay/ 

    參數解釋:

      out_trade_no :訂單號,阿里要求是唯一的。

      product_code :銷售產品碼,與支付寶簽約的產品碼名稱。注:目前僅支持 FAST_INSTANT_TRADE_PAY

      total_amount :支付金額

      subject :訂單名稱

      timeout_express : 支付過期時間,訂單創建后多久過期,這里 設置 30m 意思是,訂單創建后 30 分鍾后過期,過期了這個就不能支付了,這里只是alipay這里不能支付,不要搞暈了。

        $biz_content = json_encode([
            'out_trade_no'=> rand(11111111,99999999),
            'product_code'=> 'FAST_INSTANT_TRADE_PAY',
            'total_amount'=> 99.9,
            'subject'=> 'BI8EJM Alipay 測試',
            'timeout_express'=>'30m',
        ]);

  

  5. 引入 PC 支付 並顯示 支付鏈接

  

        $payRequest= new AlipayTradePagePayRequest();

        $payRequest->setReturnUrl(url('index/index'));
        $payRequest->setNotifyUrl($this->alipay_config['notify_url']);
        $payRequest->setBizContent($biz_content);
        $response = $aop->sdkExecute($payRequest);
echo '<a href="'.'https://openapi.alipay.com/gateway.do?'.$response.'">

  

  至此,支付鏈接生成就完畢了。

 

第七步、測試打開支付鏈接

  

 

  點擊:立即支付 成功跳轉到支付頁面

 

 

 

 

第八步、異曲同工。

  這里僅僅展示了 PC 的支付,說好的手機支付呢?手機支付一樣,你只需要在手機支付接口文件中,指定命名空間,然后引入手機支付方法即可,希望你能順利完成。

  


免責聲明!

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



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