首頁 > php教程 > php手册 > ThinkPHP5.0整合支付寶行動支付介面類

ThinkPHP5.0整合支付寶行動支付介面類

PHP中文网
發布: 2016-12-05 13:27:46
原創
2104 人瀏覽過

thinkphp5.0整合支付寶支付,thinkphp5.0整合微信支付,行動app支付
thinkphp5.0整合支付寶行動支付代碼功能實作

app接入支付寶支付時,如果用戶手機沒有安裝支付寶客戶端,則會呼叫支付寶的行動支付h5頁。
如果安裝了支付寶支付,則會喚醒支付寶客戶端進行支付,用戶提現最佳。

支付寶文檔地址:
https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7386797.0.0.Y4jDIe&treeId=59&articleId=103563&docType=1
🎟服務端進行組合,最後傳回給客戶端一個處理後的字串。
產生的標準的字串有提供:

partner="2088101568358171"&seller_id="xxx@alipay.com"&out_trade_no="0819145412-6177"&subject="A&body="測試測試測試檢測測試ify_url="http://notify.msp.hk/notify.htm"&service="mobile.securitypay.pay"&payment_type="1"&_input_charset="utf-8"&it_b_pay="30m"&sign="lBBK%2F0w5LOajrMrr74EI30m dw% 2Ba3JnfHXoXuet6XNNHtn7VE%2BeCoRO1O%2BR1KugLrQEZMtG5jmJIe2pbjm%2F3kb%2FuGkpG%2BwYQYI51%2BhA3YBbvZ2FuGkpG%2BwYQYI51%2BhA3YBbvZZ134KbvZ17





ThinkPHP5.0整合支付寶行動支付介面類ThinkPHP5.0整合支付寶行動支付介面類代碼部分:ThinkPHP5.0整合支付寶行動支付介面類    //支付寶支付ThinkPHP5.0整合支付寶行動支付介面類    function  this->is_login();
        require_once EXTEND_PATH.'Alipay/alipaycore.php';
       $order_id = input("request.order_id");        if($order_id = = 0){<br>            ajaxmsg('非法資料',0);<br>        }<br> ")->find();<br> //建立請求<br>        $out_trade_no = $order_info['order_sn'];<br>        $ <br>        $body = '訂單付款';  / /商品詳情<br>        $alipay_config = Config::get('alipay_config');<br>        //請求項,          'partner'=>$alipay_config['partner'],/ /合作者身分ID<br>            'seller_id'=>$alipay_config['seller_id'],<br>               'subject'=>'訂單支付',//商品名稱<br>            'body'=>$body,//商品詳情<br>            ) $alipay_config['notify_url'],//伺服器非同步通知頁路徑<br>            'service'=>$ alipay_config['service'],//介面名稱<br>            'payment_type'=>$alipay_config['payment_type'],//付款類型],//參數編碼字元集<br> );<br>        //將post接收到的陣列所有元素,依照「參數=參數值」的模式以「&」字元拼接成字串。 <br>        $data = createLinkstring($parameter);<br><br>        //列印待簽章字串。工程目錄下的log資料夾中的log.txt。 <br>        logResult($data);<br><br>        //將待簽章字串使用aSign($data, $alipay_config[ 'private_key']));<br><br>        //將簽章所得到的sign及簽章型別sign_type拼接在待簽章字串後方。 <br>        $data = $data.'&sign='.'"'.$rsa_sign.'"'.'&sign_type='.'"'.$alipay  客戶端,建議在客戶端使用私鑰對應的公鑰做一次驗簽,保證不是他人傳輸。 <br>        //echo $data;<br>        $list['form'] = $data;<br>   <br>    //支付寶支付通知<br>    public function alipay_notify_url ()<br>    {<br>        $alipay_config = Config::get('alipay_config');      notify($alipay_config);        if($alipayNotify->getResponse($_POST[ 'notify_id']))//判斷成功之後使用getResponse方法判斷是否是支付寶發來的非同步通知。 <br>        {<br>            if($alipayNotify->getSignVeryfy           //-請依照您的業務邏輯來編寫程式(以下程式碼僅供參考)-<br>                         $out_trade_no = $_POST['out_trade_no'];<br><br>                        號碼<br>                $trade_no = $_POST['trade_no'];<br>         $trade_status = $_POST['trade_status'];<br><br>           //判斷該筆訂單是否已在商家網站中已處理過處理<br>                   //如上所處理,並依訂單編號(out_trade_no)在商家網站的訂單中程序<br>                    //若有使用,並未執行商家的業務程序<br>      //退款日期超過退款期限後(如三個月可退款),支付寶系統發送此交易狀態通知<br>                    //請務必中使用的<br>                }<br>                                 $order_info = Db::name("order")->where("order_sn='{$out_trade_no}'")- >find();<br>                    if($order_info['status'] == 0){  //更新付款狀態及付款時間<br>                        ['id']}")->save(<br>                            array(<br>                                'pay_ways'=>2,<br>                                "pay_sn"=>$trade_no,<br>                                'pay_time'=>time(),<br>                                'stauts'=>1<br> ));<br>                        $this->fenxiao_account($out_trade <br>                }<br>                    echo "success";        //請不要修改或刪除<br>            }<br>            else //驗證簽名失敗<br>            {<br>                echo "sign fail";<br>            }<br>        }<br>        else //驗證是否來自支付寶的通知失敗<br>        {<br>            echo "response fail";<br>        }<br>    } <br>我寫的就是一個標準的下訂單的流程,主要是<br>要能喚醒支付寶客戶端,喚醒支付寶是第一步,說明協議,帳號,密鑰方式都一致。 <br>第二步是要支付成功後接受支付寶的通知,更細自己服務端的資料庫。 <br>防止重複更新訂單和用戶資金帳戶。 <br>程式碼我已經貼上去了,把我整合好的原始碼包直接放到extend目錄即可,在controller裡面直接呼叫即可。
注意設定檔要寫對,尤其是公鑰和私鑰的產生方式,注意上傳到支付寶平台中心。

技術交流群:495654168

ThinkPHP5.0整合支付寶行動支付介面類 Alipay.zip ( 140.02 KB 下載:24 次 )

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板