php 做支付寶電腦網站和app支付


首先支付寶的文檔真是看得頭暈眼花,摸不着北的感覺,網上百度PHP支付寶一堆都是花里胡哨的,看得一臉懵逼。所以自己整理了一下,其實也沒那么復雜直接上代碼:

 

php 電腦支付的方法:

    /**
     * 支付寶支付
     *$order_sn 單號  $total_amount 價格
     */
    public function alipay($order_sn,$total_amount)
    {
        require_once INCLUDES_PATH.'class'.DS.'Pay'.DS.'mobile'.DS.'alipaytest/'.'AopClient.php';
        $aop = new AopClient();//這個類支付寶php服務端 都要用到 (app支付服務端也要用到這個類)
        $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';//支付寶網關,也就是接口地址
        $aop->appId = '201709010........';//APPID
        $aop->rsaPrivateKey =''";//商戶的私鑰()
        $aop->format = 'json';
        $aop->apiVersion = '1.0';
        $aop->postCharset= 'utf-8';
        $aop->signType = 'RSA2';
      
        $request = new AlipayTradePagePayRequest();//支付寶電腦網站支付需要用到的類 這個類支付寶SDK可以下載
        $request->setNotifyUrl(HTTP_HOST.'pay/alipay_notify.php');//支付結果的異步通知回調地址
        $request->setReturnUrl(HTTP_HOST.'pay/alipay_return.php');//同步回調回調地址

        $bizcontent = json_encode(array(
            'subject'=>'商品訂單'.$order_sn,
            'out_trade_no'=>$order_sn,
            'body'=>'商品訂單',
            'total_amount'=>sprintf('%.2f',$total_amount),
            'product_code'=>'FAST_INSTANT_TRADE_PAY',//支付類型,APP和電腦支付 手機支付是不一樣的 所以這個類型也是不一樣的
        ), JSON_UNESCAPED_UNICODE);



        $request->setBizContent($bizcontent);
        $test = $aop->pageExecute($request,'post');//支付寶返回來的地址,直接是可以跳轉的
        echo $test;


    }

 

附上所需要用到的類:

 

 
        

 


只需要這三個類就好了,支付寶的sdk 滿滿的一堆 ,但是我們不需要那么多,需要用到類再把它摳出來就好了
 

app 支付 我們PHP 服務端的代碼,其實就是生成一堆支付的參數 直接上代碼了,其實和上面的電腦支付沒什么區別 只不過是參數有所變動:
    /**
     * 生成支付寶app支付參數
     * @param string $title
     * @param string $order_sn
     * @param float $amount
     * @return string
     */
    public function alipay_app($title, $order_sn, $amount)
    {
        require_once BASE_DATA_PATH.'/vendors/alipay/AopClient.php';
        $aop = new AopClient();
        $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
        $aop->appId = '20170901。。。';
       
        $aop->rsaPrivateKey = ''; //商戶私鑰 
        $aop->format = 'json';
        $aop->charset = 'UTF-8';
        $aop->signType = 'RSA2';
       
        $aop->alipayrsaPublicKey   = '';//支付寶公鑰
        $request = new AlipayTradeAppPayRequest();
        $bizcontent = json_encode(array(
            'subject'=>$title,
            'out_trade_no'=>$order_sn,
            'timeout_express'=>'30m',
            'total_amount'=>sprintf('%.2f',$amount),
            'product_code'=>'QUICK_MSECURITY_PAY',
        ), JSON_UNESCAPED_UNICODE);
        $request->setNotifyUrl('http://xxx/control/alipay_notify.php');
        $request->setBizContent($bizcontent);
        $response = $aop->sdkExecute($request);

        return $response;
    }
還是三個類 

 

只不過這個類有所變動而已

 

再者多了一個應用公鑰:

電腦支付是不要這個PUBLIC key的

 

好啦 以上就是支付寶電腦網站支付和app 支付的方法  其實手機支付也是差不多的 變得就是支付類型 和支付類

 

 

 



 


免責聲明!

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



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