微信APP支付
接口申請
微信APP支付和其他支付接口最大的不同在于——申請方式
無論是JS支付、PC支付還是WEB支付肪虎,都是用通過微信的公眾進(jìn)行申請的劣砍,但APP支付卻是通過微信開放進(jìn)行申請的。
開放申請微信支付的流程要比公眾更復(fù)雜扇救,需要驗證的內(nèi)容更多刑枝,還需要認(rèn)證為開發(fā)者,一般來說迅腔,申請需要一個星期的時間装畅。
還有更令人頭疼的是,公眾申請微信支付時需要申請一個商戶賬號作為收款賬號沧烈,開放申請支付接口的時候又要再申請一個掠兄。也就是說,如果你的項目既有APP又有微信版或者PC版锌雀,那么一個項目里面會出現(xiàn)兩個微信的收款賬號蚂夕。
很多客戶對這個問題簡直接受無能,為此特意咨詢過騰訊客服腋逆,他們表示恩……就是這樣的
所以婿牍,如果你的項目需要開發(fā)微信APP支付,請關(guān)注下面幾點:
1. 一定要提前一周去申請接口
2. 一定要去微信開放申請
3. 一定要把整個申請流程走完
申請完之后我們需要添加一個移動應(yīng)用惩歉。
這里留意一下等脂,其實微信登錄和微信分享也是在這里申請的俏蛮。
微信APP支付需要的參數(shù)和JS支付大致相同:
1. APPID——在創(chuàng)建好的移動應(yīng)用詳情中查看
2. APPSECRET——在創(chuàng)建好的移動應(yīng)用詳情中查看
3. MCHID——商戶號的ID慎菲,注意是和微信開放關(guān)聯(lián)的那個商戶號
4. KEY——商戶號自己設(shè)置的KEY嫁蛇,注意是和微信開放關(guān)聯(lián)的那個商戶號的KEY
調(diào)試階段
APP支付的發(fā)起是在服務(wù)端完成的锨并,APP只是負(fù)責(zé)調(diào)起微信露该。服務(wù)端需要做兩件事情:
1. 組合支付參數(shù),請求統(tǒng)一下單接口第煮,生成預(yù)支付訂單
2. 把預(yù)支付訂中的信息重新組合解幼,再簽好名,傳給APP
相比JS支付少了一個獲取OPENID的過程包警,相比PC支付少了一個輪訓(xùn)支付結(jié)果的過程撵摆,是不是感覺更簡單了呢?
那當(dāng)然是不可能的害晦,APP支付最恐怖的地方在于聯(lián)調(diào)特铝,因為APP請求發(fā)起支付如果失敗,并不會返回具體的失敗原因壹瘟,往往是直接彈出服務(wù)器繁忙鲫剿,請稍后再試。
你雖然知道有錯稻轨,但你又只能一遍又一遍的去閱讀日志和代碼灵莲。要知道,只盯著代碼看就能把BUG解決的程序員殴俱,那可都是高手政冻。如果遇到了,我的解決方式是:仔細(xì)的看著官方文檔线欲,認(rèn)真的把代碼再重寫一遍
在此之前明场,我給大家的建議是——反復(fù)檢查參數(shù)是否正確
參數(shù)是大概率出錯的地方。
WEB支付
微信的四種類型的支付方式里面李丰,該注意的事情榕堰,已經(jīng)和大家分享完了。
傳送門:
PHP支付接口教程嫌套,詳解微信支付(一)
PHP支付接口教程逆屡,詳解微信支付(二)
剩下一個WEB支付,場景是在觸屏版使用微信支付踱讨。估計是用戶體驗或者安全性的問題魏蔗,能申請到這個接口的情況比較少見(我只知道美團有),所以就不單獨說它了痹筛。希望后面微信會讓更多的公司申請WEB支付接口莺治。
它的發(fā)起形式是這樣的:
https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20160916105028ff2e3214fa0906951107&package=2460852120
也是通過統(tǒng)一下單接口獲取預(yù)支付訂單號廓鞠,然后點擊鏈接就能打開微信,完成支付谣旁,是不是感覺特方便床佳。
寫在最后
不得不說,微信家的支付接口集成確實要比其他家來的難榄审,各種官方DEMO也寫得比較復(fù)雜砌们,但只要靜下心來,問題總會解決的搁进。
雖然我覺得微信都是坑浪感,其實也有可能是自己水平不夠吧。
如果有問題歡迎留言討論饼问,希望能對大家有幫助影兽!
以上內(nèi)容屬于作者原創(chuàng),特此聲明莱革,如需轉(zhuǎn)載峻堰,請取得同意