免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
總結下我在微信支付中趟的那些坑。

前言

最近在研究微信支付,結果微信支付H5頁面文檔就有兩套,下載PHP(最新的v3)源代碼測試官方代碼也有錯誤(能對上算怪了),我性子比較急,官方文檔寫的又比較精煉,經(jīng)??绰┳掷志偷艨永锪恕T诒酒恼轮形覍懸粚懳也焕斫獾牡胤皆趯游⑿胖Ц稌r我走的一些彎路。順便也讓大家少走些彎路。

兩套文檔

微信H5支付有兩份文檔,在微信公眾平臺有一份,在商戶平臺又有另外一份,而且內(nèi)容還不一樣。下載下來官方DEMO該把該把可以使用了。官方DEMO精簡的代碼可以看我這一篇文章  200行代碼學會微信H5支付 做完后我有在想微信公眾平臺那一份是做什么的?這是另一份文檔的傳送門 jssdk微信支付 后來在網(wǎng)上查有人說這個是新版的。微信商戶給的DEMO是舊版的。我把jssdk(新版)的代碼替換到官方DEMO的js代碼。成功了。也就是說兩份代碼都可以支付。選擇那種代碼看自己愛好了。下面是新版的前端代碼。(后端太多了,貼上前端把思路理順就可以了)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<!DOCTYPE html>  
 <html>  
 <head>  
     <meta charset="UTF-8">  
     <title>王文曉-微信支付頁面</title>  
     <meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no">    
     <script type="text/javascript" src="Public/js/jquery.min.js"></script>  
     <script src=">貢獻一下</a>  

這里的$da數(shù)組是在后臺使用微信支付的DEMO里面提供的。兩份支付文檔的區(qū)別在于前端。就是拿到預支付標識prepay_id后選擇哪套前端都能走得通。

何時商戶訂單號重復

看到官方文檔有在調(diào)用統(tǒng)一下單接口時有一個錯誤是商戶訂單號重復。但是我拿著官方的php DEMO 點擊支付(不支付)又返回,來回十幾次也沒見提示重復啊(訂單號一直是同一個)?什么場景會重復官方文檔也沒有。我就在網(wǎng)上找答案并且來回試。終于知道了:簡單來說,要想重復提交不出現(xiàn)錯誤,就商品描述、商品金額商戶訂單號這三個必須跟創(chuàng)建訂單時候一樣。也就是說調(diào)用統(tǒng)一訂單API時,這三個參數(shù)提交的相同就不會提示重復。任何一個變了就會提示重復。

關于簽名

簽名這個地方也挺容易出錯誤。不管用微信jssdk支付還是微信DEMO那種方法,都是兩次簽名。簽名方法一樣:

1、將要POST到微信服務器的參數(shù)除sign外的參數(shù)賦值,放到一個數(shù)組array里面,按照字典順序排序,其實在PHP中就是用ksort排序。

2、將數(shù)組轉(zhuǎn)換成字符串string,格式為 k1=v1&k2=v2&...kN=vN

3、在此string后加上KEY值(在微信支付商戶后臺用戶自己設定的)現(xiàn)在string = k1=v1&k2=v2&...kN=vN&key=KEY。

4、string = md5(string)

5、sign = strtoupper(string)
簽名方式都是這樣
簽名還有一個坑就是看上面的代碼25行。在js中時間戳這樣寫timestamp,后端(php端)中就要求
timeStamp這樣寫。
對此我只想對騰訊說



其他還有一堆問題比如官方注釋寫錯等我就不一一列舉了,畢竟跟上面那些坑比比這都不是問題。

支付授權目錄問題

最后還是有個問題是我想問問大家有沒有碰到的,我是在是想不通啥子邏輯。我覺得是微信支付授權目錄有問題。我的情況是這樣的:
前一天下午我發(fā)起支付的頁面是域名/abc/def/pay.php。測試目錄我寫的是
域名/abc/
下午好用,晚上給老板測試支付就不好用了,提示的大體意思就是支付授權目錄不對,我仔細一檢查還真不對,應該是域名/abc/def/
但是把測試目錄改正確后再把真正的支付授權目錄改成注目禮后并且把微信號加入白名單還是不行。正當我納悶中半小時后又支付可以了
第二天我再測試官方DEMO。竟然放在域名下任何一個文件夾都能正常支付。不管目錄有沒有授權。我從白名單把我刪除在我的測試目錄下的支付中也是成功的。直到我取消關注公眾號再關注這時提示不在白名單。
其實上面可以匯成一個句話的問題:為什么支付授權目錄一會管用一會不管用呢?求高手回復討論。
補充:

最后一個問題已經(jīng)解決,今天狠狠心,跟老板用了三個微信挨個測試。得到的答案是:微信端或者換支付目錄或者白名單時騰訊服務器有緩存。會過一會生效。我測試都是三分鐘后生效。幾分鐘不生效可以:重登微信、重新關注公眾號。基本可以解決。
還有就是,千萬不要在別的公眾號測試自己的支付代碼。


我測試自己的支付代碼對錯一直是把地址發(fā)送到微信支付的官方服務號,然后點進去測試。就出現(xiàn)支付授權目錄設不設置都可以支付。而且我TM用內(nèi)網(wǎng)訪問竟然也能支付成功。。。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
「ITins」200行代碼實現(xiàn)微信支付-公眾號支付,不再踩坑,附:demo
phpstorm快速查看PHP函數(shù)的中文文檔
微信公眾平臺接口開發(fā)
微信支付終于成功了(安卓、iOS)在此分享
php搭建微信后臺服務器
微信公眾平臺開發(fā) 隱者黑鷹
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服