成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

分享一下這兩周爬微信支付的坑~希望有借鑒作用(PHP)

Tangpj / 2884人閱讀

摘要:這個坑就是要注意回調(diào)結(jié)束要返回成功的響應(yīng)這幾天做微信支付暫時遇到的問題就這么多,只能說注意細節(jié)吧,爬過的坑記錄下來以后遇到就懂處理了。

前言

其實任何接口開發(fā)只要按照給出來的接口文檔和例子開發(fā)基本上不會有太大問題的,一些問題都是出在雜七雜八的小細節(jié)上,現(xiàn)在分享一下微信支付開發(fā)中自己遇到的小細節(jié)。
按照文檔做完開發(fā)前配置,比如JS安全域名配置、網(wǎng)頁授權(quán)域名、公眾號授權(quán)目錄等等...

坑一: 配置

看完微信支付的文檔,了解接口的規(guī)則,微信支付的流程基本是:獲取openid -> 生成統(tǒng)一下單參數(shù) -> 用戶支付 -> 回調(diào) ,其實沒有太復(fù)雜
在配置上面說的東西的時候也會有一些小問題

支付授權(quán)目錄需要配置到接口的上一級目錄,斜杠(/)結(jié)尾,必須是斜杠結(jié)尾,而且是你寫的后端接口的請求路徑,不管是否做了路由跳轉(zhuǎn)之類的
坑二: openid的獲取

下載微信支付DEMO 鏈接

文檔中也有給出了例子,在example文件夾,當(dāng)時在第一步獲取openid就卡住了。
先講一下我這邊代碼框架是前端vue + 后端thinkphp給出api接口實現(xiàn)數(shù)據(jù)交互這樣的。
在第一步獲取openid中,需要做header("Location:....")重定向獲取到code然后跳轉(zhuǎn)回來Curl訪問access_token接口獲取到用戶openid。
如果前端下單本身就是一個頁面跳轉(zhuǎn)那可以按照demo的寫法直接用,但是如果是前端post請求是沒法做重定向操作,所以獲取openid和生成統(tǒng)一訂單參數(shù)不能放在同一個方法內(nèi)實現(xiàn)。
在前端異步的請求中會報Access-Control-Allow-Origin的跨域問題,而且是報api.weixin.qq.com不能跨域到api.weixin.qq.com。
所以如果遇到以上跨域問題~那就是你的前端異步請求和獲取openid寫到一起了,但是異步請求無法響應(yīng)header重定向的原因。
如果你的項目中在其他地方已經(jīng)獲取到openid那這部分就不存在問題了

第一個坑的結(jié)果:如果前端是異步請求數(shù)據(jù)的話,openid不能和統(tǒng)一下單寫在一起~openid需要做一次重定向來獲取。
坑二: 生成統(tǒng)一訂單

生成統(tǒng)一訂單參數(shù)要嚴格對照 參數(shù)文檔的參數(shù)寫,example文件夾的例子中有寫好的組裝參數(shù)方法,可以直接調(diào)用沒有太大問題,但是要注意的有以下幾點

嚴格 大小寫

參數(shù)必須是 字符串

附加參數(shù)attach值的最大長度是127

前端接收到參數(shù)后,必須組成對象寫到WeixinJSBridge.invokegetBrandWCPayRequest請求中,注意是對象?。?!對象!?。ο螅。?! 我跟前端開發(fā)溝通的過程中前端就把參數(shù)轉(zhuǎn)成字符串寫到getBrandWCPayRequest里面了,我加班好久查資料最后才發(fā)現(xiàn)是這里的問題

在這一步會遇到以下報錯:

支付缺少參數(shù):appId (因為整個參數(shù)組不是一個對象所以報錯)

chooseWXPay:fail (不能在開發(fā)者工具上調(diào)試微信支付,在工具上會報這個錯誤。其實去網(wǎng)上查的一大堆資料都說的解決都是在說這個原因)

這個坑的問題就在于:各種參數(shù)要對照文檔寫好而且格式正確。
坑三:支付成功回調(diào)

支付回調(diào)的例子里面有重寫NotifyProcess的方法,如果你要另外寫業(yè)務(wù)可以吧notify.php寫成一個文件然后再寫另外的回調(diào)接口來請求這個類。
我這邊的話就重寫了一下方法返回回調(diào)數(shù)據(jù)。
回調(diào)的坑在于你回調(diào)業(yè)務(wù)處理完了之后要在最后加上以下:

return "";

否則的話微信沒有收到你的回調(diào)成功返回,會不斷重復(fù)回調(diào)5次然后停止,如果回調(diào)中寫了業(yè)務(wù)那就會重復(fù)操作了。

這個坑就是:要注意回調(diào)結(jié)束要返回成功的xml響應(yīng)
END
這幾天做微信支付暫時遇到的問題就這么多,只能說注意細節(jié)吧,爬過的坑記錄下來以后遇到就懂處理了。
哦,還有微信支付的相關(guān)問題網(wǎng)上能搜到很多...但是不一定跟自己遇到的能匹配上,而且大部分都是很久的了....
這個略坑

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/26320.html

相關(guān)文章

  • PHP實現(xiàn)支付寶小程序用戶授權(quán)的工具類

    摘要:背景最近項目需要上線支付寶小程序,同時需要走用戶的授權(quán)流程完成用戶信息的存儲,以前做過微信小程序的開發(fā),本以為實現(xiàn)授權(quán)的過程是很簡單的事情,但是再實現(xiàn)的過程中還是遇到了不少的坑,因此記錄一下實現(xiàn)的過程學(xué)到的知識支付寶開放接口的調(diào)用模式以及實 背景 最近項目需要上線支付寶小程序,同時需要走用戶的授權(quán)流程完成用戶信息的存儲,以前做過微信小程序的開發(fā),本以為實現(xiàn)授權(quán)的過程是很簡單的事情,但是...

    weapon 評論0 收藏0
  • 使用vue開發(fā)微信公眾號下SPA站點的填坑之旅

    摘要:原文見我的博客,點擊進入使用開發(fā)微信公眾號下站點的填坑之旅本文為我創(chuàng)業(yè)過程中,開發(fā)項目的填坑之旅。作為一個技術(shù)宅男,我的項目是做一個微信公眾號,前后端全部自己搞定,不浪費國家一分錢。 原文見我的博客,點擊進入使用vue開發(fā)微信公眾號下SPA站點的填坑之旅 本文為我創(chuàng)業(yè)過程中,開發(fā)項目的填坑之旅。作為一個技術(shù)宅男,我的項目是做一個微信公眾號,前后端全部自己搞定,不浪費國家一分錢^_^。 ...

    yeyan1996 評論0 收藏0
  • 2016年終工作總結(jié)

    摘要:由于初版需求及開發(fā)工作都沒有參與,在接手項目后過了遍前端結(jié)構(gòu)發(fā)現(xiàn)所有交互及組件都是現(xiàn)擼,并未使用市面上已有的優(yōu)秀前端框架從我個人角度理解上出發(fā),后續(xù)需求變更中當(dāng)需要實現(xiàn)某些常用組件樣式或交互時,基本上都需要現(xiàn)擼或者尋找合適的組件。 2016悄無聲息的過去了,再過不久便是農(nóng)歷新年 這幾天相對清閑梳理了一下去年所做的工作,希望在新的一年能發(fā)展的更好 今年一共研發(fā)或升級了五款產(chǎn)品:合伙人、奪...

    hoohack 評論0 收藏0
  • 精彩文章大合集- 收藏集 - 掘金

    摘要:發(fā)布應(yīng)用市場的平臺搶紅包工具紅包精靈開源啦掘金紅包精靈,如果喜歡,點個開源不易。作者將原素材文章進行了新內(nèi)容的添加和重新排列,但是因為文章高效的代碼編寫技巧總結(jié)前端掘金本文總結(jié)了代碼編寫技巧,來提升你的和代碼。 收藏安卓開發(fā)中非常實用優(yōu)秀的庫! 有圖有真相! - Android - 掘金本來是打算收藏工具類的,但轉(zhuǎn)念一想,已經(jīng)有這么多優(yōu)秀的庫了,就沒必要再去重復(fù)造輪子了,便歸納工作中比...

    ermaoL 評論0 收藏0
  • 也許你并不需要第三方小程序框架

    摘要:所以在小程序出現(xiàn)之后,一股框架之風(fēng)也很快的出現(xiàn),微信小程序剛推出之后,就出現(xiàn)了兩個比較出名的小程序開發(fā)框架,。 原文地址:https://ant-move.github.io/we... 這里說的去除小程序框架其實并不嚴謹,因為小程序本身也算是一個框架,而且是一個功能更加完善的框架系統(tǒng)。在前端的概念中,我們一般說一個框架是指一個用來幫助開發(fā)者構(gòu)建用戶界面的框架,而小程序框架本身不僅僅包...

    red_bricks 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<