国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

ThinkPHP框架整合微信支付之刷卡模式圖文詳解

2024-05-05 00:08:13
字體:
供稿:網(wǎng)友

本文實(shí)例講述了ThinkPHP框架整合微信支付之刷卡模式。分享給大家供大家參考,具體如下:

大家好,這篇文章是繼微信支付之Native 掃碼支付 模式二之后的微信支付系列教程第四篇:微信刷卡支付

本教程跟前三篇教程不一樣,所需要的類庫也不一樣,所以做刷卡支付的時候,與之前的方法沒多少關(guān)系,大家注意一下。

下面開始介紹詳細(xì)步驟!

step1:下載微信刷卡支付demo,如下圖:

ThinkPHP,微信支付,刷卡模式

WxPayMicropayHelper:這個文件夾下就是刷卡支付微信提供的類庫

demo:這個文件夾下是關(guān)于刷卡支付的詳細(xì)demo

我們來看一下demo文件夾: ThinkPHP,微信支付,刷卡模式

這里我們要用到

micropay_call.php:這個就是刷卡支付的具體demo

我們可以把里面內(nèi)容復(fù)制下來,放到TP的控制器中(稍后介紹)

step2:把下載下來的微信刷卡支付的類庫同樣放到Vendor目錄下:

ThinkPHP,微信支付,刷卡模式

step3:上面的類庫放好后我們可以來寫控制器里面的內(nèi)容了首先還是引入類庫:

/**     * 初始化     */    public function _initialize()    {        //引入WxPayPubHelper        vendor('WxPayMicropayHelper.WxPayMicropayHelper');    }

接下來把micropay_call.php下的代碼提取出來復(fù)制到控制器下,并給個名字:

public function micropay()    {        //自定義訂單號,此處僅作舉例        $timeStamp = time();        $out_trade_no = /WxPayConf_micropay::APPID."$timeStamp";                //獲取用戶一維碼        if (isset($_POST["auth_code"]))        {            $auth_code = $_POST["auth_code"];                    //使用被掃支付接口            $micropayCall = new /MicropayCall();                    //設(shè)置被掃支付接口參數(shù)            //設(shè)置必填參數(shù)            //appid已填,商戶無需重復(fù)填寫            //mch_id已填,商戶無需重復(fù)填寫            //noncestr已填,商戶無需重復(fù)填寫            //spbill_create_ip已填,商戶無需重復(fù)填寫            //sign已填,商戶無需重復(fù)填寫            $micropayCall->setParameter("body","貢獻(xiàn)一分錢");//商品描述            $micropayCall->setParameter("out_trade_no","$out_trade_no");//商戶訂單號            $micropayCall->setParameter("total_fee","1");//總金額            $micropayCall->setParameter("auth_code","$auth_code");//交易類型            //非必填參數(shù),商戶可根據(jù)實(shí)際情況選填            //$micropayCall->setParameter("sub_mch_id","XXXX");//子商戶號            //$micropayCall->setParameter("device_info","XXXX");//設(shè)備號            //$micropayCall->setParameter("attach","XXXX");//附加數(shù)據(jù)            //$micropayCall->setParameter("time_start","XXXX");//交易起始時間            //$micropayCall->setParameter("time_expire","XXXX");//交易結(jié)束時間            //$micropayCall->setParameter("goods_tag","XXXX");//商品標(biāo)記            //$micropayCall->setParameter("openid","XXXX");//用戶標(biāo)識            //$micropayCall->setParameter("product_id","XXXX");//商品ID                    //提交訂單            $micropayCallResult = $micropayCall->getResult();                    //商戶根據(jù)實(shí)際情況設(shè)置相應(yīng)的處理流程,此處僅作舉例            if ($micropayCallResult["return_code"] == "FAIL")             {                echo "通信出錯:".$micropayCallResult['return_msg']."<br>";            }            elseif($micropayCallResult["result_code"] == "FAIL")            {                echo "出錯"."<br>";                echo "錯誤代碼:".$micropayCallResult['err_code']."<br>";                echo "錯誤代碼描述:".$micropayCallResult['err_code_des']."<br>";            }            else            {                echo "用戶標(biāo)識:".$micropayCallResult['openid']."<br>";                echo "是否關(guān)注公眾賬號:".$micropayCallResult['is_subscribe']."<br>";                echo "交易類型:".$micropayCallResult['trade_type']."<br>";                echo "付款銀行:".$micropayCallResult['bank_type']."<br>";                echo "總金額:".$micropayCallResult['total_fee']."<br>";                echo "現(xiàn)金券金額:".$micropayCallResult['coupon_fee']."<br>";                echo "貨幣種類:".$micropayCallResult['fee_type']."<br>";                echo "微信支付訂單號:".$micropayCallResult['transaction_id']."<br>";                echo "商戶訂單號:".$micropayCallResult['out_trade_no']."<br>";                echo "商家數(shù)據(jù)包:".$micropayCallResult['attach']."<br>";                echo "支付完成時間:".$micropayCallResult['time_end']."<br>";            }        }        else        {            $this->assign('out_trade_no',$out_trade_no);            $this->display();        }    }

這是我寫的控制器方法內(nèi)容,對應(yīng)micropay.html頁面:

<!DOCTYPE HTML><html><head>    <meta charset="UTF-8">    <title>微信安全支付</title></head><body>    </br></br>    <div align="center">        <form  action="__SELF__" method="post">            <p>請輸入微信刷卡界面的一維碼:</p>            <p><input type="text" name="auth_code" value=""></p>            <button type="submit">提交</button>        </form>    </div>            <div align="center">        <p>訂單號:<?php echo $out_trade_no; ?></p>    </div>        <div align="center">    <table>        <td>        <form action="./order_query.php" method="post">            <input name="out_trade_no" type='hidden' value="<?php echo $out_trade_no; ?>">            <button type="submit" >查詢訂單狀態(tài)</button>        </form>        </td>                        <td>        <form  action="./refund.php" method="post">            <input name="out_trade_no" type='hidden' value="<?php echo $out_trade_no; ?>">            <input name="refund_fee" type='hidden' value="1">            <button type="submit" >申請退款</button>        </form>        </td>                <td>        <form  action="./reverse.php" method="post">            <input name="out_trade_no" type='hidden' value="<?php echo $out_trade_no; ?>">            <button type="submit" >沖正</button>        </form>        </td>    </table>    </div>            <br>    <div align="center">        <a href="../index.php" rel="external nofollow" >返回首頁</a>    </div></body></html>

到此我們就可以去測試一下了

請看頁面:

ThinkPHP,微信支付,刷卡模式 
頁面中刷卡的一維碼就是你微信里面錢包下面的刷卡功能,打開后就可以看到你的一維碼,這個一維碼是過一段時間就自己刷新的,輸入進(jìn)去點(diǎn)擊提交,請看微信頁面:

ThinkPHP,微信支付,刷卡模式

到此,刷卡支付功能也做好啦

希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計有所幫助。


注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 磐石市| 鹤峰县| 西乡县| 怀安县| 乌恰县| 右玉县| 师宗县| 遵义市| 郎溪县| 衡山县| 深泽县| 葫芦岛市| 德安县| 临湘市| 桑植县| 茶陵县| 丹巴县| 大方县| 肇庆市| 明水县| 察隅县| 连平县| 中超| 渝北区| 柳州市| 根河市| 黔南| 汾阳市| 青海省| 合肥市| 渭南市| 神农架林区| 卢氏县| 时尚| 南丰县| 靖西县| 上杭县| 高安市| 涞水县| 乌恰县| 长泰县|