一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - 微信公眾平臺開發教程④ ThinkPHP框架下微信支付功能圖文詳解

微信公眾平臺開發教程④ ThinkPHP框架下微信支付功能圖文詳解

2021-07-31 16:26moTzxx PHP教程

這篇文章主要介紹了微信公眾平臺開發ThinkPHP框架下微信支付功能,結合圖文形式詳細分析了基于thinkPHP框架的微信支付功能實現步驟、操作技巧與相關注意事項,需要的朋友可以參考下

本文實例講述了thinkphp框架下微信支付功能。分享給大家供大家參考,具體如下:

聲明:原文主要摘自白俊遙博客 ,部分內容針對個人事例已作修改,主要用于自己的參考,歡迎指正。

注意:微信公眾號支付,強烈建議使用外網可訪問的鏈接測試,否則即便代碼正確也無法調出支付界面,可使用草料二維碼生成可掃描圖片,也可直接在微信中輸入網址。

使用框架:thinkphp 3.2.3

一.微信公眾平臺信息配置

 

1).進入微信公眾平臺

由左側的“微信支付”進入配置界面,添加或修改正確的支付授權目錄,注意該目錄的要求,多建議精確到上一級目錄,并加斜線 / 微信公眾平臺開發教程④ ThinkPHP框架下微信支付功能圖文詳解

2).授權域名

 

注意】:

    域名的確定都是工信部備案過的,初次開發的很容易漏掉“www”,而截圖中不加“www”是因為我們備案的原因,記得只去掉“http://”。

微信公眾平臺開發教程④ ThinkPHP框架下微信支付功能圖文詳解

二.thinkphp 框架,相應代碼配置

 

    公眾號支付->場景參考

1).weixinpay.php文件處理

    導入 weixinpay.php文件到“/thinkphp/library/vendor/weixinpay/”目錄下

    微信公眾平臺開發教程④ ThinkPHP框架下微信支付功能圖文詳解

    2).配置

    在項目的配置文件中,添加類此如下的代碼,,其中的值需要自己根據實際公眾號的信息進行配置【注意】:     很多人會搞錯mchid而造成不必要的時間浪費,具體開發參照官方文檔。

/application/common/conf/config.php

微信公眾平臺開發教程④ ThinkPHP框架下微信支付功能圖文詳解

    3).支付函數的編輯

     即進行點擊支付后的界面,其自動調用微信的默認支付框架。

【注意】

    進行支付邏輯的處理,一定要記住,要求使用get方式請求此頁面,即使用 get 方式將總金額、訂單號提交過來進行處理,$data 可以接收

    微信公眾平臺開發教程④ ThinkPHP框架下微信支付功能圖文詳解

4).getparameters修改

    上述文件,需要修改其中的 getparameters()方法,其中標記的位置,是根據實際的業務情況而從數據庫獲取的。具體代碼后面會有提供。

微信公眾平臺開發教程④ ThinkPHP框架下微信支付功能圖文詳解

5).上述函數,需要html的配合:/m/view/cart/pay.html

    微信公眾平臺開發教程④ ThinkPHP框架下微信支付功能圖文詳解

    6).回調函數的編輯

【注意】

    該路徑必須要與配置文件中的回調路徑一致,此回調函數,是根據微信是否真正完成支付后的數據更新,一般此處進行訂單狀態的修改,比如,我在此處異步執行的是將訂單號的支付狀態參數由0置為1.

    [個人測試發現,此處 session 和 cookie 的設置都失效,僅做參考]

微信公眾平臺開發教程④ ThinkPHP框架下微信支付功能圖文詳解
【注意】:    

先前發現,因為微信服務的設計,會多次回調 notify()以判斷是否真正的支付成功,而簡單的update 操作是無法檢測的,為了同自己的平臺相關聯,同理需要進行狀態的判斷,否則不可避免的會多次執行 notify_wx()中的邏輯處理

    7).如果是整合到自己的項目中

        需要在自己的公共函數中增加 curl_get_contents 微信公眾平臺開發教程④ ThinkPHP框架下微信支付功能圖文詳解

    8).補充:

    (1).提醒:所提供的源代碼,剝離出了微信支付的核心,注意html頁面中對jquery.js的正確引用,pay.html基本是從微信公眾號官網直接下載的demo頁,同時使用代碼前請配置微信支付url,且外網測試。

(2).強烈建議參考、批評.【重要

三.微信掃碼支付

 

>場景參考

>一般的網站開發中,如果是手機端,多數使用上面提到的公眾號支付方式,而掃碼支付多數出現在pc端,當然也有部分手機網站有生成二維碼的需求,但是由于微信瀏覽器的識別限制,一種情況是直接在微信端瀏覽的購物網站,通過長按二維碼就可以識別;另一種情況是在另外的手機端瀏覽器,比如百度、頭條。 >如此一來除非用另一部手機進行掃碼支付,或者將二維碼截圖保存后,再到微信中找到圖片進行長按識別。顯然后者用法過于繁瑣,所以處分針對于微信瀏覽器開發,否則不建議使用掃碼支付功能,而在pc端開發則適合使用該功能

2).功能開發

通用上文中介紹的功能開發步驟 1)、2)、3)、6)、7)

3).補充函數

在 common/function.php 中補充函數 weixinpay()和 qrcode() 微信公眾平臺開發教程④ ThinkPHP框架下微信支付功能圖文詳解

4).設計顯示微信掃碼的頁面

    我定的頁面為 m/order/mobilepayment.html,即通過訪問 order/wechatpaymenter ,同時調用微信生成二維碼,在該頁面的 <img> 標簽中顯示出來,具體代碼見后面的附錄 微信公眾平臺開發教程④ ThinkPHP框架下微信支付功能圖文詳解

5).補充 wechatpaymenter 方法。

微信公眾平臺開發教程④ ThinkPHP框架下微信支付功能圖文詳解
 

6).注意:

 

    模式二生成的二維碼也是有時間限制的,同時,不能有權限攔截,并且,二維碼的生成是根據訂單號唯一確定的,如果生成一次,那么很可能第二次就不顯示,建議可用 time()代替測試。

掃碼支付模式參考

7).運行結果截圖

在信息配置正確的情況下,功能結果如圖所示

微信公眾平臺開發教程④ ThinkPHP框架下微信支付功能圖文詳解

四.附錄

 

1.源代碼參考 >>>

2.提醒:

  注意微信配置的正確性,如果有誤,微信支付會有報錯,二維碼則會無法生成.多參考官方文檔加深理解也是不錯的選擇。

希望本文所述對大家php程序設計有所幫助。

原文鏈接:https://blog.csdn.net/u011415782/article/details/53381076

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 俄罗斯伦理片 | 大桥未久一区二区 | 香蕉精品国产高清自在自线 | 国产成人精品男人的天堂538 | 欧美黑人成人免费全部 | 亚洲香蕉视频 | 石原莉奈被店长侵犯免费 | 国产欧美精品 | 天堂在线中文无弹窗全文阅读 | 久草色视频 | 天天爱综合网 | 视频在线观看入口一二三2021 | 俄罗斯美女尿尿 | 国产一区私人高清影院 | 婚前试爱全集免费观看 | 久久机热视频 这里只有精品首页 | 亚洲a视频在线观看 | 91四虎国自产在线播放线 | 国产专区一va亚洲v天堂 | 美女翘臀内疯狂进出 | 天天曰天天干 | 春宵福利网站在线观看 | 国产成人手机在线好好热 | 手机看片1024国产 | 日本人成年视频在线观看 | 国产精品一区牛牛影视 | 天美传媒影视在线免费观看 | 久久中文字幕免费高清 | 高中生喷水喷浆 | 羞羞答答免费人成黄页在线观看国产 | 丰满的闺蜜2中文字幕 | 亚洲免费视频播放 | 给我一个黄色网址 | 欧美香蕉| 色婷婷久 | 日本一区二区三区国产 | 精品久久久久免费极品大片 | 国产夜趣福利第一视频 | 国产午夜亚洲精品不卡 | 国产精品午夜性视频网站 | 日本人黄色 |