摘要:這個坑就是要注意回調結束要返回成功的響應這幾天做微信支付暫時遇到的問題就這么多,只能說注意細節吧,爬過的坑記錄下來以后遇到就懂處理了。
前言
其實任何接口開發只要按照給出來的接口文檔和例子開發基本上不會有太大問題的,一些問題都是出在雜七雜八的小細節上,現在分享一下微信支付開發中自己遇到的小細節。
按照文檔做完開發前配置,比如JS安全域名配置、網頁授權域名、公眾號授權目錄等等...
看完微信支付的文檔,了解接口的規則,微信支付的流程基本是:獲取openid -> 生成統一下單參數 -> 用戶支付 -> 回調 ,其實沒有太復雜
在配置上面說的東西的時候也會有一些小問題
支付授權目錄需要配置到接口的上一級目錄,斜杠(/)結尾,必須是斜杠結尾,而且是你寫的后端接口的請求路徑,不管是否做了路由跳轉之類的坑二: openid的獲取
下載微信支付DEMO 鏈接
文檔中也有給出了例子,在example文件夾,當時在第一步獲取openid就卡住了。
先講一下我這邊代碼框架是前端vue + 后端thinkphp給出api接口實現數據交互這樣的。
在第一步獲取openid中,需要做header("Location:....")重定向獲取到code然后跳轉回來Curl訪問access_token接口獲取到用戶openid。
如果前端下單本身就是一個頁面跳轉那可以按照demo的寫法直接用,但是如果是前端post請求是沒法做重定向操作,所以獲取openid和生成統一訂單參數不能放在同一個方法內實現。
在前端異步的請求中會報Access-Control-Allow-Origin的跨域問題,而且是報api.weixin.qq.com不能跨域到api.weixin.qq.com。
所以如果遇到以上跨域問題~那就是你的前端異步請求和獲取openid寫到一起了,但是異步請求無法響應header重定向的原因。
如果你的項目中在其他地方已經獲取到openid那這部分就不存在問題了
第一個坑的結果:如果前端是異步請求數據的話,openid不能和統一下單寫在一起~openid需要做一次重定向來獲取。坑二: 生成統一訂單
生成統一訂單參數要嚴格對照 參數文檔的參數寫,example文件夾的例子中有寫好的組裝參數方法,可以直接調用沒有太大問題,但是要注意的有以下幾點
嚴格 大小寫
參數必須是 字符串
附加參數attach值的最大長度是127
前端接收到參數后,必須組成對象寫到WeixinJSBridge.invoke的getBrandWCPayRequest請求中,注意是對象!!!對象!!!對象!!! 我跟前端開發溝通的過程中前端就把參數轉成字符串寫到getBrandWCPayRequest里面了,我加班好久查資料最后才發現是這里的問題
在這一步會遇到以下報錯:
支付缺少參數:appId (因為整個參數組不是一個對象所以報錯)
chooseWXPay:fail (不能在開發者工具上調試微信支付,在工具上會報這個錯誤。其實去網上查的一大堆資料都說的解決都是在說這個原因)
這個坑的問題就在于:各種參數要對照文檔寫好而且格式正確。坑三:支付成功回調
支付回調的例子里面有重寫NotifyProcess的方法,如果你要另外寫業務可以吧notify.php寫成一個文件然后再寫另外的回調接口來請求這個類。
我這邊的話就重寫了一下方法返回回調數據。
回調的坑在于你回調業務處理完了之后要在最后加上以下:
return "
否則的話微信沒有收到你的回調成功返回,會不斷重復回調5次然后停止,如果回調中寫了業務那就會重復操作了。
這個坑就是:要注意回調結束要返回成功的xml響應END
這幾天做微信支付暫時遇到的問題就這么多,只能說注意細節吧,爬過的坑記錄下來以后遇到就懂處理了。
哦,還有微信支付的相關問題網上能搜到很多...但是不一定跟自己遇到的能匹配上,而且大部分都是很久的了....
這個略坑
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26320.html
摘要:背景最近項目需要上線支付寶小程序,同時需要走用戶的授權流程完成用戶信息的存儲,以前做過微信小程序的開發,本以為實現授權的過程是很簡單的事情,但是再實現的過程中還是遇到了不少的坑,因此記錄一下實現的過程學到的知識支付寶開放接口的調用模式以及實 背景 最近項目需要上線支付寶小程序,同時需要走用戶的授權流程完成用戶信息的存儲,以前做過微信小程序的開發,本以為實現授權的過程是很簡單的事情,但是...
摘要:原文見我的博客,點擊進入使用開發微信公眾號下站點的填坑之旅本文為我創業過程中,開發項目的填坑之旅。作為一個技術宅男,我的項目是做一個微信公眾號,前后端全部自己搞定,不浪費國家一分錢。 原文見我的博客,點擊進入使用vue開發微信公眾號下SPA站點的填坑之旅 本文為我創業過程中,開發項目的填坑之旅。作為一個技術宅男,我的項目是做一個微信公眾號,前后端全部自己搞定,不浪費國家一分錢^_^。 ...
摘要:由于初版需求及開發工作都沒有參與,在接手項目后過了遍前端結構發現所有交互及組件都是現擼,并未使用市面上已有的優秀前端框架從我個人角度理解上出發,后續需求變更中當需要實現某些常用組件樣式或交互時,基本上都需要現擼或者尋找合適的組件。 2016悄無聲息的過去了,再過不久便是農歷新年 這幾天相對清閑梳理了一下去年所做的工作,希望在新的一年能發展的更好 今年一共研發或升級了五款產品:合伙人、奪...
摘要:發布應用市場的平臺搶紅包工具紅包精靈開源啦掘金紅包精靈,如果喜歡,點個開源不易。作者將原素材文章進行了新內容的添加和重新排列,但是因為文章高效的代碼編寫技巧總結前端掘金本文總結了代碼編寫技巧,來提升你的和代碼。 收藏安卓開發中非常實用優秀的庫! 有圖有真相! - Android - 掘金本來是打算收藏工具類的,但轉念一想,已經有這么多優秀的庫了,就沒必要再去重復造輪子了,便歸納工作中比...
摘要:所以在小程序出現之后,一股框架之風也很快的出現,微信小程序剛推出之后,就出現了兩個比較出名的小程序開發框架,。 原文地址:https://ant-move.github.io/we... 這里說的去除小程序框架其實并不嚴謹,因為小程序本身也算是一個框架,而且是一個功能更加完善的框架系統。在前端的概念中,我們一般說一個框架是指一個用來幫助開發者構建用戶界面的框架,而小程序框架本身不僅僅包...
閱讀 785·2023-04-26 00:30
閱讀 2689·2021-11-23 09:51
閱讀 1045·2021-11-02 14:38
閱讀 2560·2021-09-07 10:23
閱讀 2243·2021-08-21 14:09
閱讀 1362·2019-08-30 10:57
閱讀 1603·2019-08-29 11:20
閱讀 1149·2019-08-26 13:53