轉(zhuǎn)載---iOS微信H5支付無(wú)法返回APP解決方案

本文只討論已成功調(diào)起微信支付后,無(wú)法返回自己的APP的問(wèn)題,iOS微信H5支付不在討論范圍內(nèi)。提供下列參考:
微信H5支付官方文檔
微信H5支付官方Demo

知道你們都喜歡看結(jié)論,先放結(jié)論吧!此方案支付多APP

解決方案:

  1. 在微信支付管理后臺(tái)注冊(cè)一級(jí)域名,比如 company.com
  2. 在APP工程配置中設(shè)置URL Scheme,比如 A.company.com(A你可以隨便寫,后面的域名得和1.中一致)
  3. webView攔截微信下單請(qǐng)求,前綴https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb,追加或修改參數(shù) redirect_url=URLEncode(A.company.com://)
  4. (可選)微信支付結(jié)束(可能不是真正結(jié)束后面會(huì)細(xì)說(shuō))會(huì)發(fā)起redirect_url的重定向,webView攔截 request.URL.scheme 包含 company.com:// 的請(qǐng)求,在這里可以做一些后續(xù)操作,比如 刷新頁(yè)面,通知前端支付完成等。

需要注意的問(wèn)題:

  1. 微信H5下單接口(https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb)請(qǐng)求header中有個(gè)Referer字段,如果這個(gè)請(qǐng)求中沒有redirect_url參數(shù),微信支付結(jié)束后默認(rèn)回調(diào)Referer字段中地址
  2. Referer頭和redirect_url中的域名,都必須在微信后臺(tái)注冊(cè)過(guò)
  3. redirect_url回調(diào)并不可靠,可能微信支付還沒結(jié)束就回調(diào)了。

微信官方文檔對(duì)redirect_url的描述:
由于設(shè)置redirect_url后,回跳指定頁(yè)面的操作可能發(fā)生在:1,微信支付中間頁(yè)調(diào)起微信收銀臺(tái)后超過(guò)5秒 2,用戶點(diǎn)擊“取消支付“或支付完成后點(diǎn)“完成”按鈕。因此無(wú)法保證頁(yè)面回跳時(shí),支付流程已結(jié)束,所以商戶設(shè)置的redirect_url地址不能自動(dòng)執(zhí)行查單操作,應(yīng)讓用戶去點(diǎn)擊按鈕觸發(fā)查單操作

另附,iOS支付寶H5無(wú)法返回APP解決方案

作者:CocoaKier
鏈接:http://www.itdecent.cn/p/c1973aacc774
來(lái)源:簡(jiǎn)書
簡(jiǎn)書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容