




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第微信公眾平臺開發(fā)教程④ThinkPHP框架下微信支付功能圖文詳解聲明:原文主要摘自白俊遙博客,部分內(nèi)容針對個人事例已作修改,主要用于自己的參考,歡迎指正。
注意:微信公眾號支付,強烈建議使用外網(wǎng)可訪問的鏈接測試,否則即便代碼正確也無法調(diào)出支付界面,可使用草料二維碼生成可掃描圖片,也可直接在微信中輸入網(wǎng)址。
使用框架:ThinkPHP3.2.3
一.微信公眾平臺信息配置
1).進入微信公眾平臺
由左側(cè)的“微信支付”進入配置界面,添加或修改正確的支付授權(quán)目錄,注意該目錄的要求,多建議精確到上一級目錄,并加斜線/
2).授權(quán)域名
【注意】:
域名的確定都是工信部備案過的,初次開發(fā)的很容易漏掉“www”,而截圖中不加“www”是因為我們備案的原因,記得只去掉“http://”。
二.ThinkPHP框架,相應(yīng)代碼配置
公眾號支付-場景參考
1).Weixinpay.php文件處理
導(dǎo)入Weixinpay.php文件到“/ThinkPHP/Library/Vendor/Weixinpay/”目錄下
2).配置
在項目的配置文件中,添加類此如下的代碼,,其中的值需要自己根據(jù)實際公眾號的信息進行配置【注意】:很多人會搞錯MCHID而造成不必要的時間浪費,具體開發(fā)參照官方文檔。
/Application/Common/Conf/config.php
3).支付函數(shù)的編輯
即進行點擊支付后的界面,其自動調(diào)用微信的默認支付框架。
【注意】:
進行支付邏輯的處理,一定要記住,要求使用GET方式請求此頁面,即使用get方式將總金額、訂單號提交過來進行處理,$data可以接收
4).getParameters修改
上述文件,需要修改其中的getParameters()方法,其中標記的位置,是根據(jù)實際的業(yè)務(wù)情況而從數(shù)據(jù)庫獲取的。具體代碼后面會有提供。
5).上述函數(shù),需要html的配合:/M/View/Cart/pay.html
6).回調(diào)函數(shù)的編輯
【注意】:
該路徑必須要與配置文件中的回調(diào)路徑一致,此回調(diào)函數(shù),是根據(jù)微信是否真正完成支付后的數(shù)據(jù)更新,一般此處進行訂單狀態(tài)的修改,比如,我在此處異步執(zhí)行的是將訂單號的支付狀態(tài)參數(shù)由0置為1.
[個人測試發(fā)現(xiàn),此處session和cookie的設(shè)置都失效,僅做參考]
【注意】:
先前發(fā)現(xiàn),因為微信服務(wù)的設(shè)計,會多次回調(diào)notify()以判斷是否真正的支付成功,而簡單的update操作是無法檢測的,為了同自己的平臺相關(guān)聯(lián),同理需要進行狀態(tài)的判斷,否則不可避免的會多次執(zhí)行notify_wx()中的邏輯處理
7).如果是整合到自己的項目中
需要在自己的公共函數(shù)中增加curl_get_contents
8).補充:
(1).提醒:所提供的源代碼,剝離出了微信支付的核心,注意html頁面中對jquery.js的正確引用,pay.html基本是從微信公眾號官網(wǎng)直接下載的demo頁,同時使用代碼前請配置微信支付url,且外網(wǎng)測試。
(2).此功能開發(fā)中所遇到的各種坑!強烈建議參考、批評.【重要】
三.微信掃碼支付
1).場景分析
場景參考
一般的網(wǎng)站開發(fā)中,如果是手機端,多數(shù)使用上面提到的公眾號支付方式,而掃碼支付多數(shù)出現(xiàn)在PC端,當(dāng)然也有部分手機網(wǎng)站有生成二維碼的需求,但是由于微信瀏覽器的識別限制,一種情況是直接在微信端瀏覽的購物網(wǎng)站,通過長按二維碼就可以識別;另一種情況是在另外的手機端瀏覽器,比如百度、頭條。如此一來除非用另一部手機進行掃碼支付,或者將二維碼截圖保存后,再到微信中找到圖片進行長按識別。顯然后者用法過于繁瑣,所以處分針對于微信瀏覽器開發(fā),否則不建議使用掃碼支付功能,而在PC端開發(fā)則適合使用該功能
2).功能開發(fā)
通用上文中介紹的功能開發(fā)步驟1)、2)、3)、6)、7)
3).補充函數(shù)
在common/function.php中補充函數(shù)weixinpay()和qrcode()
4).設(shè)計顯示微信掃碼的頁面
我定的頁面為M/Order/mobilepayment.html,即通過訪問Order/wechatpaymenter,同時調(diào)用微信生成二維碼,在該頁面的img標簽中顯示出來,具體代碼見后面的附錄
5).補充wechatpaymenter方法。
6).注意:
模式二生成的二維碼也是有時間限制的,同時,不能有權(quán)限攔截,并且,二維碼的生成是根據(jù)訂單號唯一確定的,如果生成一次,那么很可能第二次就不顯示,建議可用time()代替測試。
掃碼支付模式參考
7).運行結(jié)果截圖
在信息配置正確的情況下,功能結(jié)果如圖所示
1.源代碼參考
2.提醒:
注意微信配置的正確性,如果有誤,微信支付會有報錯,二維碼則會無法生成.多參考官方文檔加深理解也是不錯的選擇。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP微信開發(fā)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 黃岡師范學(xué)院《企業(yè)經(jīng)營活動沙盤模擬》2023-2024學(xué)年第二學(xué)期期末試卷
- 大連楓葉職業(yè)技術(shù)學(xué)院《會計信息化》2023-2024學(xué)年第二學(xué)期期末試卷
- 晉中信息學(xué)院《電子商務(wù)項目管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶工程學(xué)院《電磁場理論》2023-2024學(xué)年第二學(xué)期期末試卷
- 培訓(xùn)課件制作方法與實施流程
- 邯鄲職業(yè)技術(shù)學(xué)院《社會組織管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 云南工商學(xué)院《思想政治教育學(xué)方法論》2023-2024學(xué)年第二學(xué)期期末試卷
- 西安科技大學(xué)《行政與行政訴訟法》2023-2024學(xué)年第二學(xué)期期末試卷
- 西安電力高等??茖W(xué)?!督ㄖ茍D與AutoCAD》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶海聯(lián)職業(yè)技術(shù)學(xué)院《形勢政策》2023-2024學(xué)年第二學(xué)期期末試卷
- 《氫科學(xué)技術(shù)應(yīng)用》課件-3-1 氫氣的儲存
- 智能家居系統(tǒng)設(shè)計方案四篇
- 《頂崗實習(xí)答辯》課件
- 伊犁將軍府課件
- 中醫(yī)護理不良事件
- 初中常見原子團及其化合價、化學(xué)式、化學(xué)方程式
- 供應(yīng)鏈安全培訓(xùn)教材課件
- 2024年醫(yī)院考勤的管理制度
- 卡西歐手表5213(PRG-550)中文說明書
- 2024年度北京市安全員之B證(項目負責(zé)人)測試卷(含答案)
- 蘋果電腦macOS效率手冊
評論
0/150
提交評論