中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Thinkphp5.0支付寶在線支付下單流程怎么實現

發布時間:2021-11-30 16:10:35 來源:億速云 閱讀:202 作者:iii 欄目:開發技術

本篇內容主要講解“Thinkphp5.0支付寶在線支付下單流程怎么實現”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Thinkphp5.0支付寶在線支付下單流程怎么實現”吧!

Thinkphp5.0支付寶在線支付下單流程怎么實現

Thinkphp5.0支付寶在線支付下單整個流程實例,包括創建訂單、支付成功回調更新訂單狀態、最終跳轉到商戶訂單詳情頁

支付寶在線支付控制器代碼

public function alipay() {//發起支付寶支付 
         $order_no = date("YmdHis") . rand(100000, 999999); 
        if (request()->isPost()) { //支付表單提交,并喚起支付寶在線支付 
            //調用 application\index\model\Pay.php 
            $Pay = new Pay; 
            $result = $Pay->alipay([ 
                'notify_url' => request()->domain() . url('index/index/alipay_notify'), 
                'return_url' => request()->domain() . url('index/index/alipay_return')."?order_no=".$order_no."&", 
                'out_trade_no' => input('post.orderid/s', '', 'trim,strip_tags'), 
                'subject' => input('post.subject/s', '', 'trim,strip_tags'), 
                'total_fee' => input('post.total_fee/f'), //訂單金額,單位為元 
                'body' => input('post.body/s', '', 'trim,strip_tags'), 
            ]); 
            if (!$result['code']) { 
                return $this->error($result['msg']); 
            } 
            return $result['msg']; 
        } 
        //創建訂單 
        db('order_sucaihuo')->insert(array( 
            'order_no' => $order_no, 
            'order_money' => 0.1, //訂單金額 
            'state' => 0, //支付狀態 0 未支付, 1已支付 
            'uid' => 1, //用戶uid 
            'addtime' => time(), //下單時間 
            'update_time' => 0 //支付時間 
        )); 
        $this->view->orderid = $order_no; 
        return $this->fetch(); 
    } 
    //支付寶客戶端會每隔一段時間請求一次 
    public function alipay_notify() {//異步訂單通知 
        $Pay = new Pay; 
        $result = $Pay->notify_alipay(); 
        if ($result == 'success') { 
 
            $pay_info = $_REQUEST; 
            $order_no = $pay_info['out_trade_no']; 
            $order_info = db('order_sucaihuo')->where('order_no', $order_no)->find(); 
            //若是未付款則更新 
            if ($order_info['state'] == 0) { 
                $data['trade_no'] = $pay_info['trade_no']; 
                $data['state'] = 1; 
                $data['update_time'] = time(); 
                db('order_sucaihuo')->where("order_no", $order_no)->update($data); 
            } 
        } 
        //測試支付回調,linux記得開啟777寫入權限 
        file_put_contents("notify.txt", $result); 
        file_put_contents("request.txt", json_encode($_REQUEST)); 
   }

訂單表

CREATE TABLE IF NOT EXISTS `order_sucaihuo` ( 
  `id` int(11) unsigned NOT NULL, 
  `uid` int(11) NOT NULL, 
  `order_no` varchar(30) NOT NULL, 
  `trade_no` varchar(150) DEFAULT NULL COMMENT '交易號', 
  `order_money` decimal(10,2) DEFAULT '0.00', 
  `state` int(2) NOT NULL DEFAULT '0', 
  `addtime` int(10) NOT NULL, 
  `update_time` int(10) DEFAULT '0' 
) ENGINE=MyISAM AUTO_INCREMENT=6718 DEFAULT CHARSET=utf8;

到此,相信大家對“Thinkphp5.0支付寶在線支付下單流程怎么實現”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

衡东县| 雷州市| 闸北区| 阿瓦提县| 罗源县| 淄博市| 化州市| 丰城市| 湖州市| 寿阳县| 盘山县| 合阳县| 米泉市| 腾冲县| 芦溪县| 彩票| 大渡口区| 五莲县| 孟连| 中山市| 建平县| 驻马店市| 家居| 怀安县| 连江县| 巨野县| 防城港市| 三江| 洛浦县| 迭部县| 曲沃县| 大名县| 曲周县| 华亭县| 南充市| 虹口区| 乌鲁木齐县| 江达县| 都昌县| 昌吉市| 依兰县|