tp5.1接入支付寶網站支付


1.登錄支付支付平台[https://opendocs.alipay.com/open/270/106291] 下載對應的sdk

 2.將對應的SDK放在對應的tp5.1框架對應的目錄 

 

 

 

 

3.因為是外部加載的類庫所以要使用composer加載下需要配置composer的配置文件composer.json

 

 4.加載后初始化composer加載下

 

 5.下載對應支付寶助手軟件

 6.生成對應的公鑰和私鑰

 

 7.項目里面代碼配置

 public function test(){
     $config = array (  
    //應用ID,您的APPID。
    'app_id' => "2016091600527108",
    //商戶私鑰
    'merchant_private_key' => "MIIEoQIBAAKCAQEAh8HP5Bji9cCWgNJUl3ttdUwOtdUS+eIFEJHWzNjbKOhjccbJxCOlMTAPlRIOnenhWhQmTd9+BsNPTt8MUL9DA3KjLnRZBH5HN+Ru/6zGO67ZM30kz6kPkrsbvpj6EtziaJSPjpXJvCrSW1hx9qZWHq8EMS6xPDHXHF5ikcevVlvn3wJK6Ey5vibyRnr1tqbD9bTT5pRPsm3bV+V9UNEkOLVrHvEdS1dgot+tSZ6iJsfDmqJvDbzvrdJMQK3GqjL6xwB5gii+mDNo4+Tb6XjqH3m3RUpz+P12nOVZGkA7SAHz1Uel8PgjzlIwBcIUc54uxQNHrrPWNWEnjTkFAWUe3wIDAQABAoH/SB6uUn7mE6g8TDNwvQjVHXtKVU7cxeNMzYCsnCaYRyMtsUPp7EkDeR4PKSJuoXWeQjxyHOyeBvm7KCtWX488CpjcF9G3eKudKhQw46LlrM82lCPnampl242LL7YVI/A0V1qU6SqqAUy+c8iIwn+bQLG5iGdFwLS5kliSBOAQRc/HJ3ox37GX3/JRoGx9BI1rVXA+I8hr9cjE5wji1ZZ3D5FiKfuOKbzcVJ90Z97WfECGeJjqaKCyNqvSI2SFA1IntIPBcVnbBS5rMClQRTley01cMCHq2mT6uAPYq5gPMIe/Ndl5jWFoNBAv3DFijGv3jlE3gs5vu4TZBSbuf9vBAoGBAMGT/Gy0yQnPV/A2EBf5F1pC0KpaKWWWRAmbQhKkklfPEUJJZ7d7StEQ6j/noL0f8YdjxvUPBty8PznioKmmIHZaNEtA0Vnotx/j2maxkeJr0+67hNukR0oslgJT+orgDgahiWxTlaGSCR8iVZ+XgVhHqDgjcVs/2YdXtghBI8S7AoGBALOIqPnGjDhGQ1l0qqZSMHj4zl8MXpA9qHJTmIVFtNK4o1LAJEdru5M00C82FegfI2RDzZJ0RtFcLVwjS+AEX2Ccel9GyafAW3V7LykciZa56UH350dqtn0qrGSLFyOjFAvO2w2Qew5QGyee8aRnxUd5Dk/eChvTuz1P3W5ZHv4tAoGAW646DEYnPPUtogAI6UG5FK+2YignmQxtFtuolGnLQbk5ZFqdu6GyEohfWXrbfxck7kmMTj4asuqZS1IRY6fhkgww3j9Jp7p3GKxyoNaS0FjfXB8F0nzgormxJlMdwy5QlkVlb5+6q3YdydgaE2bPBL+TZVsr8dqwrNAWz5wCU8cCgYBGVE2lcyLw1I2DmJFVEDNO4GCvmT/eD1lSV+8Snijkt1G7k+tiUxCq7PB03iIcyT3rBCieq5AmaY6XXnhVrEDUrte9RRSv80mgrv3dhAFeGzwGDJ/8ORB93d6kkFwjKLosmf7zxFqAU98fWUNd3QzKH+D8ZoXdOsdJkGS02pKqjQKBgQCeWRZer+m3DoLVMSKbXsv+GMWIehroniNp5X3pzIyctdS+tyQOnPnb9lpvnvD/Qag4ne7JteYhiCQGkFGXuxyyM+1OrbvLf2uy1rO7i9QFAQJghHHX3COlWFhho3n/60odmYyjD3cX64OwzaaE9ioq5J2VSaf1ay96nWgVMdqiwA==",
    
    //異步通知地址
    'notify_url' => "",
    //同步跳轉
    'return_url' => "http://www.edu.com/index/suc",

    //編碼格式
    'charset' => "UTF-8",

    //簽名方式
    'sign_type'=>"RSA2",
    //支付寶網關
    'gatewayUrl' => "https://openapi.alipaydev.com/gateway.do",

    //支付寶公鑰,查看地址:https://openhome.alipay.com/platform/keyManage.htm 對應APPID下的支付寶公鑰。
    'alipay_public_key' => "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu/QlP+m2M3bxSlQ/DOYbrBynmKiGAmpdCBrg2iLOvARvFuhYFJBb7em4MICvL8S1oj1mPIH7xPiBunc+W9Jgmm6j86tDJma4ylPucgTWTpa2Uv6y5ZW/Co2GJrQouq0wtbLV99NagLxLufFdusciXW6NqgxkptHGscW0HZajqIKk1Qv605nLWkrO4pmvlQps3ffxcds7GaUnBUpnBU7anEqkZcpY3w/B4Q8TxirXfSNRswnSLV9Tt70GQWqD01/hRPKL1wWK6uzaJ8MVbeXPUyZFuo+o8f5BHUTfxFww5cTbkelr90jA53cZgkcriGc4G5Efp1QTSjC24oqrIH10EQIDAQAB",
);

     //商戶訂單號,商戶網站訂單系統中唯一訂單號,必填
    $out_trade_no = 12321;
    //訂單名稱,必填
    $subject = trim("testdsfs");
    //付款金額,必填
    $total_amount = 30;
    //商品描述,可空
    $body = trim("sdfds");
  //構造參數
  $payRequestBuilder = new \AlipayTradePagePayContentBuilder();
  $payRequestBuilder->setBody($body);
  $payRequestBuilder->setSubject($subject);
  $payRequestBuilder->setTotalAmount($total_amount);
  $payRequestBuilder->setOutTradeNo($out_trade_no);
  $aop = new \AlipayTradeService($config);
  $response = $aop->pagePay($payRequestBuilder,$config['return_url'],$config['notify_url']);

  // //輸出表單
  // var_dump($response);

    }

8.調用結果

9.上面同步通知成功實際已異步為准代碼如下

 

public function alipay_notify()
    {
        if (request()->isPost()) {
            import('alipay.pagepay.service.AlipayTradeService');
 
            $arr = request()->param();
            $alipaySevice = new \AlipayTradeService(config('alipay'));
            $alipaySevice->writeLog(var_export(request()->param(), true));
            $result = $alipaySevice->check($arr);
            if ($result) {//驗證成功
                //商戶訂單號
                $out_trade_no = $arr['out_trade_no'];
                //支付寶交易號
                $trade_no = $arr['trade_no'];
                if ($arr['trade_status'] == 'TRADE_FINISHED' || $arr['trade_status'] == 'TRADE_SUCCESS') {
                    //查詢訂單是否真的已支付
                    import('alipay.pagepay.buildermodel.AlipayTradeQueryContentBuilder');
                    $RequestBuilder = new \AlipayTradeQueryContentBuilder();
                    $RequestBuilder->setOutTradeNo($out_trade_no);
                    $response = $alipaySevice->Query($RequestBuilder);
                    if ($response->trade_status == 'TRADE_SUCCESS' || $response->trade_status == 'TRADE_FINISHED') {
                       
                    }
                }
                echo "success";
            } else {
                //驗證失敗
                echo "fail";
            }
        }
    }

 

  

 

注意:其中有一個錯誤提示[http://www.tshinet.com/index.php/article/index/id/582.html] [https://www.fengyan.cc/1418.html]

支付平台網址[https://opendocs.alipay.com/open/54/103419/]


免責聲明!

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



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