摘要:微信已經(jīng)官方支持微信外部瀏覽器的微信支付。但是如果是從中調(diào)用微信支付的話。就需要我們?cè)诜?wù)端模擬請(qǐng)求微信支付的中間環(huán)節(jié),直接拿到支付地址。這樣能避免內(nèi)微信支付成功后跳外部瀏覽器。然后端攔截這個(gè)吊起微信支付即可。
微信已經(jīng)官方支持微信外部瀏覽器的H5微信支付。但是如果是從webview中調(diào)用H5微信支付的話。 ios平臺(tái)上支付完成后會(huì)跳到外部的瀏覽器,而不是停留在app里面。
關(guān)于這個(gè)問(wèn)題。 就需要我們?cè)诜?wù)端模擬請(qǐng)求H5微信支付的中間環(huán)節(jié),直接拿到支付地址。這樣能避免ios webivew內(nèi)微信支付成功后跳外部瀏覽器。
下面是服務(wù)端核心代碼:
$input = new WxPayUnifiedOrder(); $input->SetBody($i["product_name"]); //商品描述 $input->SetAttach("abc"); //附加數(shù)據(jù),在查詢API和支付通知中原樣返回 $input->SetOut_trade_no($i["qqes_order"]); //要求32個(gè)字符內(nèi),只能是數(shù)字、大小寫字母_-|*@ $input->SetTotal_fee($i["fee"] * 100); //訂單總金額,單位為分 $input->SetNotify_url($this->notifyUrl); $input->SetTrade_type("MWEB"); //網(wǎng)頁(yè)版 $order = WxPayApi::unifiedOrder($input); if( ! isset($order["mweb_url"]) ){ throw new SdkException("微信統(tǒng)一下單失敗"); } $payUrl = $order["mweb_url"]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $payUrl); if (strpos($payUrl, "https") === 0) { curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); } $headers["CLIENT-IP"] = $_SERVER["REMOTE_ADDR"]; $headers["X-FORWARDED-FOR"] = $_SERVER["REMOTE_ADDR"]; $headerArr = array(); foreach( $headers as $n => $v ) { $headerArr[] = $n . ":" . $v; } curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_HTTPHEADER , $headerArr ); //構(gòu)造IP curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); // 連接超時(shí)(秒) //微信那邊填的微信授權(quán)域 curl_setopt ($ch, CURLOPT_REFERER, "http://www.example.com" ); curl_setopt($ch, CURLOPT_TIMEOUT, 5); // 執(zhí)行超時(shí)(秒) $outPut = curl_exec($ch); if($outPut === false){ echo curl_error($ch);die; } curl_close($ch); //匹配出支付鏈接 preg_match("/weixin(.*)"/", $outPut, $match); if( ! isset($match[1]) ){ throw new SdkException("無(wú)法獲取支付鏈接:" . $outPut); } $clientPayUrl = "weixin" . $match[1]; header("Location:" . $clientPayUrl);
服務(wù)端處理完成后,直接跳轉(zhuǎn)從定向到支付最終url。 然后app端攔截這個(gè)url吊起微信支付即可。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/26247.html
摘要:中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心發(fā)布的中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告顯示,截至年月,我國(guó)網(wǎng)民規(guī)模達(dá)億人,微信月活億支付寶月活億百度月活億另一方面,中國(guó)手機(jī)占智能手機(jī)整體的比例超過(guò),月活約億。在年末正式發(fā)布了面向未來(lái)的跨端的。 開(kāi)源中國(guó)專訪:Chameleon原理首發(fā),其它跨多端統(tǒng)一框架都是假的? 原創(chuàng): 嘉賓-張楠 開(kāi)源中國(guó) 以往我們說(shuō)某一功能跨多端,往往是指在諸如 PC、移動(dòng)等不同類型的設(shè)備之...
摘要:開(kāi)源庫(kù)隨著支持功能的增多,音頻轉(zhuǎn)碼處理效率漸漸的跟不上需求了,近期抽時(shí)間對(duì)音頻轉(zhuǎn)碼部分進(jìn)行了升級(jí)優(yōu)化,以支持更多實(shí)用的功能。基于以上兩點(diǎn)問(wèn)題,似乎只有多線程能夠解決。 Recorder H5 GitHub開(kāi)源庫(kù)隨著支持功能的增多,音頻轉(zhuǎn)碼處理效率漸漸的跟不上需求了,近期抽時(shí)間對(duì)音頻轉(zhuǎn)碼部分進(jìn)行了升級(jí)優(yōu)化,以支持更多實(shí)用的功能。另外IOS的Hybrid App也完成了移植,Android...
摘要:微信登錄用戶可使用微信帳號(hào)快速登錄你的網(wǎng)站,同一用戶使用微信登錄你的不同應(yīng)用和公眾帳號(hào),會(huì)對(duì)應(yīng)同一個(gè),以便進(jìn)行不同業(yè)務(wù)間的帳號(hào)統(tǒng)一微信授權(quán)登錄可分為掃碼登錄一般用于網(wǎng)頁(yè)微信開(kāi)放平臺(tái)跳轉(zhuǎn)授權(quán)登錄第三方使用微信開(kāi)放平臺(tái)微信內(nèi)置瀏覽器內(nèi)登錄一 微信登錄: 用戶可使用微信帳號(hào)快速登錄你的網(wǎng)站,同一用戶使用微信登錄你的不同應(yīng)用和公眾帳號(hào),會(huì)對(duì)應(yīng)同一個(gè)UnionID,以便進(jìn)行不同業(yè)務(wù)間的帳號(hào)統(tǒng)一 ...
摘要:相關(guān)參考中與之間相互調(diào)用的實(shí)現(xiàn)實(shí)現(xiàn)了與相同的機(jī)制的對(duì)象注入漏洞解決方案存在的意義 前期調(diào)研 調(diào)研對(duì)象:支付寶,微信,云之家 調(diào)研文檔:Android中JS與Java的極簡(jiǎn)交互庫(kù) SimpleJavaJsBridge 設(shè)計(jì)需求 閱讀類型的業(yè)務(wù)功能頁(yè)面需要由前端H5實(shí)現(xiàn),需要做到服務(wù)端可控; 頁(yè)面界面更改減少重新發(fā)布新版本的頻率; 功能頁(yè)面部分原型需求無(wú)法實(shí)現(xiàn),需要原生功能支持; 對(duì)未來(lái)...
閱讀 2120·2021-11-05 09:42
閱讀 2863·2021-09-23 11:21
閱讀 2859·2019-08-30 14:00
閱讀 3324·2019-08-30 13:15
閱讀 474·2019-08-29 17:18
閱讀 3564·2019-08-29 16:29
閱讀 2764·2019-08-29 14:06
閱讀 2803·2019-08-23 14:41