Q:翻看了微信支付的api沒發現支持h5調支付接口的情況(微信js除外),然后卻發現美團的支付成功調用了,這是怎么實現的?
A:
使用微信H5支付即可。
H5支付通過URL調起微信APP,不涉及到應用簽名,可解決一次申請給多款APP使用的問題,看看現在游戲分發行業就知道了。
現在從官網申請到的APP支付(即通過SDK調起微信APP),如果適用在公司只有幾款APP的情況,完全沒問題。但是如果一家公司有幾十幾百款APP的話,使用APP支付就不合適了。(APP支付要求申請APPID,但每家公司主體只能申請10個APPID,如果該公司有100款APP,意味着要注冊10家公司,而H5支付是不需要APPID的)
H5支付如何申請?
微信官網現在只是放了H5支付的文檔,鏈接:【微信支付】開發者文檔,但是並沒有開放H5支付的申請,所以一般的公司目前從微信官網是無法申請H5支付的,那么從哪里可以申請到呢?
1、銀行,比如中信銀行、民生銀行、興業銀行。
2、銀行受理機構,比如這家剛剛賣了20億的威富通。
此外,還可以通過一些聚合支付提供商或者第三方支付公司申請到。聚合支付比如ping++,愛貝,還有一些提供的二清的,怕題主也不敢用吧。第三方支付的話,匯元網、現在支付可申請到。
價格的話,小商戶基本在1%以上,大商戶的話1%下,T+1結算。據悉,杭州中信對大商戶可做到8%,T+1結算。
為什么通過銀行或者受理機構可申請,受理機構是個什么鬼?
這與微信官方發展策略有關,微信官網一直不開放H5支付真實原因,我也一直很想知道。微信在與支付寶競爭中,采取的與支付寶截然不同的政策,即通過銀行拓展商戶,最先找到的就是中信總行,中信總行落地在深圳分行。
微信拓展商戶,除了從官網獲客外,還通過以下三種方式:
1、普通代理,現在在官網仍可以申請到,以線下主掃和被掃居多。普通代理在開始的時候,發展了很多二清代理模式,現在差不多都被清掉了。
2、第三方支付轉接結算模式,即由第三方支付為商戶清算。嚴格來講,違規做法,第三方支付不能接第三方支付。不知道現在這種怎么樣了。
3、銀行轉接清算模式,由銀行發展商戶,銀行負責商戶的進件與審核,清算方面,財付通清算到銀行后,由銀行清算給商戶。現在是除了官網外,微信商戶進件量和交易量最大的一種,包括線下的主掃、被掃和線上的APP、H5、公眾號,PC掃碼。
受理機構是什么?
銀行的軟件服務商,具體來說,就是銀行要發展商戶,需要一套系統用來處理商戶的進件、交易轉接、商戶對賬、清結算等。銀行當然不會自己去開發,就和機構合作,由機構開發,二者共同發展商戶,兩方分潤。
銀行和受理機構分別有哪些?
1、銀行
中信銀行,分中信總行和杭州分行,中信總行的微信落地在深圳分行。
民生,最出名的廈門民生
興業,福州興業和廣州興業做的非常好。
浦發,線下的比較多,線上的很少見到
聽說還有渤海銀行,主要是天津分行,當然還有其他一些銀行也在發展。
2、受理機構
最大的就是威富通了,財付通背景,威富通為多家銀行提供系統,20億已賣。樓上那位說市面上微信都是走他們家的應該就是威富通的了。
如果不想通過H5支付,要解決應用內簽名的話,就有點走偏門了,比如我知道的有:
1、自己做一個SDK,每次支付時候通過APP調用該SDK,再由該SDK調用微信,這體驗可想而知。
2、將微信SDK做到手機應用底層去,跟1講到的SDK類似,體驗稍好。不過只有手機廠商能做到。
微信的H5支付分2種,封裝的SDK跟純H5,封裝的SDK跟APP支付類似,純H5既能用在wap網站上(非微信瀏覽器),也可以用在APP上。
H5支付用於非微信瀏覽器,在IOS上仍體驗不佳,具體來講就是無法自動回調。
微信瀏覽器內的H5支付指公眾號支付,微信已將此嚴格區分。
end
鏈接:https://www.zhihu.com/question/39182675/answer/218356841
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
如果您是使用瀏覽器的移動網頁進行支付,那就是調用微信H5支付,如果是使用APP客戶端進行支付,那就要調用微信APP支付。
H5支付是指商戶在微信客戶端外的移動端網頁展示商品或服務,用戶在前述頁面確認使用微信支付時,商戶發起本服務呼起微信客戶端進行支付。主要用於觸屏版的手機瀏覽器請求微信支付的場景。可以方便的從外部瀏覽器喚起微信支付。順便提醒一下,H5支付不建議在APP端使用,如需要在APP中使用微信支付,請接微信APP支付。
微信H5支付申請入口
登錄商戶平台-->產品中心-->我的產品-->支付產品-->H5支付
微信H5支付業務流程
商戶側
要求商戶已有H5商城網站,並且已經過ICP備案。通過微信H5支付可以實現在非微信瀏覽器(如QQ瀏覽器、谷歌瀏覽器、Safari等)中使用微信支付的場景。
用戶側
步驟(1):用戶從非微信瀏覽器的站點導航進入商戶H5網頁,用戶挑選需購買商品,選擇微信支付發起購買流程。
步驟(2):進入微信客戶端確認交易,輸入支付密碼。
步驟(3):支付成功,用戶收到支付憑證,同時商戶后台收到支付成功的通知。
微信H5支付開發步驟

1、用戶在商戶側完成下單,使用微信支付進行支付;
2、由商戶后台向微信支付發起下單請求,調用統一下單接口,交易類型trade_type=MWEB;
3、統一下單接口返回支付相關參數給商戶后台,如支付跳轉url(參數名“mweb_url”),商戶通過mweb_url調起微信支付中間頁;
4、中間頁進行H5權限的校驗,安全性檢查;
5、如支付成功,商戶后台會接收到微信側的異步通知;
6、用戶在微信支付收銀台完成支付或取消支付,返回商戶頁面(默認為返回支付發起頁面);
7、商戶在展示頁面,引導用戶主動發起支付結果的查詢;
8、商戶后台判斷是否接到收微信側的支付結果通知,如沒有,后台調用我們的訂單查詢接口確認訂單狀態;
10、展示最終的訂單支付結果給用戶。
常見問題
1、回調頁面
正常流程用戶支付完成后會返回至發起支付的頁面,如需返回至指定頁面,則可以在MWEB_URL后拼接上redirect_url參數,來指定回調頁面。
如,您希望用戶支付完成后跳轉至https://www.wechatpay.com.cn,則可以做如下處理:
假設您通過統一下單接口獲到的MWEB_URL= https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096
注意事項:
(1)需對redirect_url進行urlencode處理
(2)由於設置redirect_url后,回跳指定頁面的操作可能發生在:1,微信支付中間頁調起微信收銀台后超過5秒 2,用戶點擊“取消支付“或支付完成后點“完成”按鈕。因此無法保證頁面回跳時,支付流程已結束,所以商戶設置的redirect_url地址不能自動執行查單操作,應讓用戶去點擊按鈕觸發查單操作。
2、網絡環境未能通過安全驗證,請稍后再試
(1)商戶側統一下單傳的終端IP(spbill_create_ip)與用戶實際調起支付時微信側檢測到的終端IP不一致導致的,這個問題一般是商戶在統一下單時沒有傳遞正確的終端IP到spbill_create_ip導致。
(2). 統一下單與調起支付時的網絡有變動,如統一下單時是WIFI網絡,下單成功后切換成4G網絡再調起支付,這樣可能會引發我們的正常攔截,請保持網絡環境一致的情況下重新發起支付流程。
3、商家參數格式有誤,請聯系商家解決
(1)當前調起H5支付的referer為空導致,一般是因為直接訪問頁面調起H5支付,請按正常流程進行頁面跳轉后發起支付,或自行抓包確認referer值是否為空。
(2)如果是APP里調起H5支付,需要在webview中手動設置referer。
4、商家存在未配置的參數,請聯系商家解決
(1)當前調起H5支付的域名(微信側從referer中獲取)與申請H5支付時提交的授權域名不一致,如需添加或修改授權域名,請登陸商戶號對應的商戶平台--"產品中心"--"開發配置"自行配置 。
(2)如果設置了回跳地址redirect_url,請確認設置的回跳地址的域名與申請H5支付時提交的授權域名是否一致 。
5、支付請求已失效,請重新發起支付
統一下單返回的MWEB_URL生成后,有效期為5分鍾,如超時請重新生成MWEB_URL后再發起支付。
6、請在微信外打開訂單,進行支付
H5支付不能直接在微信客戶端內調起,請在外部瀏覽器調起。