摘要:微信已經官方支持微信外部瀏覽器的微信支付。但是如果是從中調用微信支付的話。就需要我們在服務端模擬請求微信支付的中間環節,直接拿到支付地址。這樣能避免內微信支付成功后跳外部瀏覽器。然后端攔截這個吊起微信支付即可。
微信已經官方支持微信外部瀏覽器的H5微信支付。但是如果是從webview中調用H5微信支付的話。 ios平臺上支付完成后會跳到外部的瀏覽器,而不是停留在app里面。
關于這個問題。 就需要我們在服務端模擬請求H5微信支付的中間環節,直接拿到支付地址。這樣能避免ios webivew內微信支付成功后跳外部瀏覽器。
下面是服務端核心代碼:
$input = new WxPayUnifiedOrder(); $input->SetBody($i["product_name"]); //商品描述 $input->SetAttach("abc"); //附加數據,在查詢API和支付通知中原樣返回 $input->SetOut_trade_no($i["qqes_order"]); //要求32個字符內,只能是數字、大小寫字母_-|*@ $input->SetTotal_fee($i["fee"] * 100); //訂單總金額,單位為分 $input->SetNotify_url($this->notifyUrl); $input->SetTrade_type("MWEB"); //網頁版 $order = WxPayApi::unifiedOrder($input); if( ! isset($order["mweb_url"]) ){ throw new SdkException("微信統一下單失敗"); } $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 ); //構造IP curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); // 連接超時(秒) //微信那邊填的微信授權域 curl_setopt ($ch, CURLOPT_REFERER, "http://www.example.com" ); curl_setopt($ch, CURLOPT_TIMEOUT, 5); // 執行超時(秒) $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("無法獲取支付鏈接:" . $outPut); } $clientPayUrl = "weixin" . $match[1]; header("Location:" . $clientPayUrl);
服務端處理完成后,直接跳轉從定向到支付最終url。 然后app端攔截這個url吊起微信支付即可。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26247.html
摘要:中國互聯網絡信息中心發布的中國互聯網絡發展狀況統計報告顯示,截至年月,我國網民規模達億人,微信月活億支付寶月活億百度月活億另一方面,中國手機占智能手機整體的比例超過,月活約億。在年末正式發布了面向未來的跨端的。 開源中國專訪:Chameleon原理首發,其它跨多端統一框架都是假的? 原創: 嘉賓-張楠 開源中國 以往我們說某一功能跨多端,往往是指在諸如 PC、移動等不同類型的設備之...
摘要:開源庫隨著支持功能的增多,音頻轉碼處理效率漸漸的跟不上需求了,近期抽時間對音頻轉碼部分進行了升級優化,以支持更多實用的功能?;谝陨蟽牲c問題,似乎只有多線程能夠解決。 Recorder H5 GitHub開源庫隨著支持功能的增多,音頻轉碼處理效率漸漸的跟不上需求了,近期抽時間對音頻轉碼部分進行了升級優化,以支持更多實用的功能。另外IOS的Hybrid App也完成了移植,Android...
摘要:微信登錄用戶可使用微信帳號快速登錄你的網站,同一用戶使用微信登錄你的不同應用和公眾帳號,會對應同一個,以便進行不同業務間的帳號統一微信授權登錄可分為掃碼登錄一般用于網頁微信開放平臺跳轉授權登錄第三方使用微信開放平臺微信內置瀏覽器內登錄一 微信登錄: 用戶可使用微信帳號快速登錄你的網站,同一用戶使用微信登錄你的不同應用和公眾帳號,會對應同一個UnionID,以便進行不同業務間的帳號統一 ...
摘要:相關參考中與之間相互調用的實現實現了與相同的機制的對象注入漏洞解決方案存在的意義 前期調研 調研對象:支付寶,微信,云之家 調研文檔:Android中JS與Java的極簡交互庫 SimpleJavaJsBridge 設計需求 閱讀類型的業務功能頁面需要由前端H5實現,需要做到服務端可控; 頁面界面更改減少重新發布新版本的頻率; 功能頁面部分原型需求無法實現,需要原生功能支持; 對未來...
閱讀 2107·2021-11-05 09:42
閱讀 2851·2021-09-23 11:21
閱讀 2841·2019-08-30 14:00
閱讀 3314·2019-08-30 13:15
閱讀 465·2019-08-29 17:18
閱讀 3547·2019-08-29 16:29
閱讀 2749·2019-08-29 14:06
閱讀 2794·2019-08-23 14:41