日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

支付寶H5支付alipays://協(xié)議喚醒原理與ordersuffix動(dòng)態(tài)拼接實(shí)戰(zhàn)

支付寶H5支付alipays://協(xié)議喚醒原理與ordersuffix動(dòng)態(tài)拼接實(shí)戰(zhàn) 1. 這不是“黑科技”是支付寶H5支付鏈路里被忽略的協(xié)議層真相你有沒有遇到過這樣的場(chǎng)景用戶在微信公眾號(hào)里點(diǎn)擊一個(gè)商品鏈接跳轉(zhuǎn)后頁(yè)面直接喚起支付寶App完成支付整個(gè)過程沒有跳轉(zhuǎn)到支付寶官網(wǎng)、沒有二次確認(rèn)彈窗、甚至沒看到支付密碼輸入框——但訂單卻穩(wěn)穩(wěn)地扣款成功了。這不是魔法也不是什么“免密通道”而是支付寶H5支付體系中一條被大量開發(fā)者忽視、文檔極少提及、但生產(chǎn)環(huán)境高頻使用的客戶端協(xié)議喚醒鏈路。核心就藏在那個(gè)看似簡(jiǎn)單的alipays://開頭的URL里。它既不是標(biāo)準(zhǔn)HTTP跳轉(zhuǎn)也不是通用Intent Scheme而是一套專為支付寶App深度定制、與服務(wù)端訂單生成強(qiáng)耦合、且依賴動(dòng)態(tài)參數(shù)拼接的輕量級(jí)原生協(xié)議橋接機(jī)制。我過去三年在電商中臺(tái)和SaaS支付網(wǎng)關(guān)項(xiàng)目里反復(fù)調(diào)試過上百個(gè)H5支付落地頁(yè)踩過最多坑的地方恰恰就是這個(gè)alipays://platformapi/startapp?appid20000125ordersuffixh5_route_token的構(gòu)造環(huán)節(jié)。很多人以為只要把服務(wù)端返回的pay_url直接扔給前端window.location.href就萬(wàn)事大吉結(jié)果在iOS Safari、微信內(nèi)置瀏覽器、QQ瀏覽器里頻繁出現(xiàn)“無法打開支付寶”“協(xié)議未注冊(cè)”“跳轉(zhuǎn)失敗但訂單狀態(tài)卡住”的問題。根本原因在于alipays://協(xié)議本身不攜帶完整支付上下文它只是一個(gè)“啟動(dòng)指令”真正的支付憑證即orderSuffix必須由前端從服務(wù)端響應(yīng)中精準(zhǔn)提取、動(dòng)態(tài)拼接到協(xié)議URL中且該參數(shù)存在有效期、簽名驗(yàn)證、渠道綁定三重約束。這背后涉及支付寶SDK的協(xié)議注冊(cè)邏輯、H5容器對(duì)自定義Scheme的攔截策略、服務(wù)端訂單預(yù)生成的token分發(fā)機(jī)制以及iOS/Android雙平臺(tái)對(duì)URI Scheme的不同解析規(guī)則。本文不講SDK集成文檔里的標(biāo)準(zhǔn)流程只聚焦于這條“協(xié)議喚醒鏈路”的真實(shí)工作原理、orderSuffix的生成與校驗(yàn)邏輯、抓包實(shí)測(cè)中的關(guān)鍵字段定位方法以及如何在無支付寶官方調(diào)試工具支持的情況下通過Chrome DevTools Charles Proxy 真機(jī)日志三者聯(lián)動(dòng)完成一次完整的協(xié)議拼接驗(yàn)證。適合所有正在對(duì)接支付寶H5支付、尤其是需要支持微信內(nèi)嵌頁(yè)、小程序WebView、或自建H5商城的開發(fā)者——你不需要成為協(xié)議專家但必須清楚每一次成功的alipays://跳轉(zhuǎn)都是前端、后端、支付寶網(wǎng)關(guān)三方在協(xié)議層達(dá)成的一次精密握手。2. 協(xié)議設(shè)計(jì)邏輯與技術(shù)選型深挖為什么非得用alipays://而不是https://2.1 支付寶H5支付的兩種路徑標(biāo)準(zhǔn)跳轉(zhuǎn) vs 協(xié)議喚醒支付寶H5支付官方文檔中明確列出兩種接入方式一種是標(biāo)準(zhǔn)的https://openapi.alipay.com/gateway.do?...形式用戶點(diǎn)擊后跳轉(zhuǎn)至支付寶統(tǒng)一收銀臺(tái)另一種則是文檔中一筆帶過的alipays://協(xié)議方案僅在“常見問題”章節(jié)提到“適用于已安裝支付寶App的用戶可實(shí)現(xiàn)更優(yōu)的支付體驗(yàn)”。但實(shí)際業(yè)務(wù)中后者才是高轉(zhuǎn)化率場(chǎng)景的首選。原因非常現(xiàn)實(shí)標(biāo)準(zhǔn)HTTPS跳轉(zhuǎn)在微信內(nèi)會(huì)強(qiáng)制喚起外部瀏覽器Safari或系統(tǒng)瀏覽器而微信禁止外部瀏覽器調(diào)用支付寶App導(dǎo)致用戶必須手動(dòng)復(fù)制鏈接、粘貼到Safari中再點(diǎn)擊流失率高達(dá)40%以上。而alipays://協(xié)議則繞過了這一限制——它本質(zhì)是Android的Intent Scheme和iOS的URL Scheme的混合體當(dāng)H5頁(yè)面執(zhí)行l(wèi)ocation.href alipays://...時(shí)系統(tǒng)會(huì)直接將該URI交給已注冊(cè)該Scheme的支付寶App處理無需經(jīng)過瀏覽器中間層。這就像快遞員不再把包裹送到你家樓下保安亭標(biāo)準(zhǔn)跳轉(zhuǎn)而是直接按響你家門鈴協(xié)議喚醒省去了“保安代收→你下樓取→再上樓”的冗余步驟。2.2alipays://協(xié)議的結(jié)構(gòu)解剖appid與ordersuffix的分工邏輯一個(gè)典型的alipays://喚醒URL長(zhǎng)這樣alipays://platformapi/startapp?appid20000125ordersuffixZjYxMzQ1NjctZmFkZi00ZjUyLWI5ZTUtYzE3ZjIwYzQxZjQx我們逐段拆解alipays://這是支付寶App在系統(tǒng)中注冊(cè)的唯一Scheme前綴相當(dāng)于它的“身份證號(hào)”。AndroidManifest.xml中intent-filter和iOS的Info.plist中CFBundleURLSchemes都聲明了此值。任何其他應(yīng)用都無法注冊(cè)同名Scheme這是系統(tǒng)級(jí)安全隔離。platformapi/startapp這是支付寶內(nèi)部定義的API路由路徑意為“平臺(tái)API的啟動(dòng)應(yīng)用接口”。它不是公開的RESTful路徑而是支付寶App內(nèi)部Router模塊識(shí)別的指令碼。類似汽車的“啟動(dòng)引擎”按鈕按下后觸發(fā)App內(nèi)預(yù)設(shè)的支付流程初始化。appid20000125這不是你自己的支付寶商戶AppID而是支付寶官方為H5支付場(chǎng)景分配的固定系統(tǒng)級(jí)AppID。所有使用協(xié)議喚醒的H5頁(yè)面此參數(shù)值恒為20000125。它標(biāo)識(shí)了本次調(diào)用屬于“H5協(xié)議喚醒”這一特定業(yè)務(wù)通道而非普通小程序或生活號(hào)。支付寶后端據(jù)此路由到對(duì)應(yīng)的支付網(wǎng)關(guān)集群?jiǎn)⒂肏5專屬風(fēng)控策略。ordersuffix...這才是真正的“鑰匙”。它并非訂單號(hào)也不是支付金額而是一個(gè)一次性、有時(shí)效性、帶簽名的路由令牌Route Token。其作用是告訴支付寶App“請(qǐng)加載這個(gè)特定用戶的這筆特定訂單并跳轉(zhuǎn)到對(duì)應(yīng)的收銀臺(tái)頁(yè)面”。ordersuffix的生成完全由支付寶服務(wù)端控制前端只能被動(dòng)接收并拼接絕不可自行構(gòu)造或緩存復(fù)用。提示appid20000125是硬編碼值切勿替換成你的商戶AppID。曾有團(tuán)隊(duì)因誤填自己申請(qǐng)的appid導(dǎo)致協(xié)議跳轉(zhuǎn)后顯示“該應(yīng)用暫未開通”錯(cuò)誤排查耗時(shí)兩天。2.3 為什么必須動(dòng)態(tài)拼接ordersuffix靜態(tài)URL為何必然失敗很多開發(fā)者嘗試將alipays://...ordersuffixxxx整個(gè)URL寫死在前端代碼里測(cè)試時(shí)看似能跳轉(zhuǎn)但上線后用戶支付成功率驟降。根本原因在于ordersuffix的三個(gè)核心特性時(shí)效性ordersuffix通常有效期為15分鐘。超過時(shí)限支付寶App收到后會(huì)直接返回“訂單已失效”提示。它不像訂單號(hào)那樣長(zhǎng)期有效。單次性每個(gè)ordersuffix僅能被成功消費(fèi)一次。用戶首次跳轉(zhuǎn)支付成功后若刷新頁(yè)面再次點(diǎn)擊ordersuffix已被支付寶網(wǎng)關(guān)標(biāo)記為“已使用”再次調(diào)用將返回“重復(fù)請(qǐng)求”錯(cuò)誤。簽名綁定ordersuffix內(nèi)部包含對(duì)訂單基礎(chǔ)信息如商戶PID、訂單金額、商品描述、時(shí)間戳的HMAC-SHA256簽名。支付寶App在解析時(shí)會(huì)重新計(jì)算簽名并比對(duì)任何字段篡改包括前端手動(dòng)修改ordersuffix中的任意字符都會(huì)導(dǎo)致校驗(yàn)失敗返回“非法參數(shù)”。因此“動(dòng)態(tài)拼接”不是開發(fā)便利性選擇而是協(xié)議安全模型的剛性要求。ordersuffix必須在用戶觸發(fā)支付動(dòng)作的毫秒級(jí)時(shí)間窗口內(nèi)由服務(wù)端實(shí)時(shí)生成并返回給前端前端再立即拼接到alipays://URL中執(zhí)行跳轉(zhuǎn)。這個(gè)過程不能有緩存、不能跨頁(yè)面共享、不能異步延遲。我見過最典型的反模式是前端先請(qǐng)求一次獲取ordersuffix存入localStorage等用戶點(diǎn)擊支付按鈕時(shí)再讀取拼接——結(jié)果用戶猶豫30秒后點(diǎn)擊ordersuffix已過期支付失敗。2.4 對(duì)比其他支付協(xié)議alipays://與微信weixin://的本質(zhì)差異常有人拿alipays://和微信的weixin://協(xié)議類比認(rèn)為都是“喚起App”。但二者底層邏輯截然不同微信weixin://協(xié)議如weixin://wap/pay?prepayidxxx主要用于JSAPI支付其prepayid是微信統(tǒng)一下單接口返回的預(yù)支付交易會(huì)話標(biāo)識(shí)本身不包含簽名也不校驗(yàn)時(shí)效主要依賴微信客戶端本地緩存和后臺(tái)訂單狀態(tài)同步。alipays://的ordersuffix則是支付寶網(wǎng)關(guān)生成的完整支付上下文載體它內(nèi)部編碼了訂單全部關(guān)鍵字段簽名時(shí)間戳支付寶App無需再向服務(wù)端發(fā)起二次查詢即可完成支付初始化。這降低了網(wǎng)絡(luò)延遲但也提高了前端拼接的精確度要求。這種差異源于兩家公司的技術(shù)哲學(xué)微信強(qiáng)調(diào)“輕量快速”支付寶側(cè)重“安全可控”。理解這一點(diǎn)才能避免用對(duì)待微信協(xié)議的思路去調(diào)試支付寶協(xié)議。3.orderSuffix的全生命周期解析從服務(wù)端生成到客戶端拼接的每一步3.1 服務(wù)端生成orderSuffix的真實(shí)流程以Java SDK為例orderSuffix并非支付寶SDK直接返回的字段而是隱藏在AlipayTradeWapPayResponse對(duì)象的qrCode或payUrl字段中。很多開發(fā)者只關(guān)注payUrl的https://鏈接卻忽略了其中暗藏的alipays://結(jié)構(gòu)。我們以支付寶官方Java SDKalipay-sdk-java為例看標(biāo)準(zhǔn)下單接口的響應(yīng)處理// 構(gòu)造請(qǐng)求對(duì)象 AlipayTradeWapPayRequest request new AlipayTradeWapPayRequest(); request.setBizContent({ \out_trade_no\:\ outTradeNo \, \subject\:\ subject \, \total_amount\:\ totalAmount \, \quit_url\:\ quitUrl \, \product_code\:\QUICK_WAP_WAY\ }); request.setReturnUrl(returnUrl); request.setNotifyUrl(notifyUrl); // 執(zhí)行請(qǐng)求 AlipayTradeWapPayResponse response alipayClient.pageExecute(request); String payUrl response.getBody(); // 注意這是HTML字符串不是JSON關(guān)鍵點(diǎn)來了response.getBody()返回的不是JSON而是一段包含form表單的HTML文本。其中action屬性指向的就是alipays://協(xié)議URL。你需要用正則或DOM解析從中提取// 從HTML中提取alipays://鏈接生產(chǎn)環(huán)境建議用Jsoup Pattern pattern Pattern.compile(action\(alipays://[^\])\); Matcher matcher pattern.matcher(payUrl); if (matcher.find()) { String alipaysUrl matcher.group(1); // 如 alipays://platformapi/startapp?appid20000125ordersuffixxxx // 解析ordersuffix參數(shù) String ordersuffix parseQueryParam(alipaysUrl, ordersuffix); // 將ordersuffix返回給前端API return ResponseEntity.ok(Map.of(ordersuffix, ordersuffix)); }實(shí)操心得支付寶官方SDK的pageExecute方法返回HTML是歷史兼容性設(shè)計(jì)目的是讓老系統(tǒng)直接輸出表單自動(dòng)提交。但現(xiàn)代H5項(xiàng)目需要的是API數(shù)據(jù)所以必須做HTML解析。千萬(wàn)別用response.getPayUrl()—— 這個(gè)方法在較新版本SDK中已被廢棄且返回的仍是HTML字符串。3.2orderSuffix的編碼結(jié)構(gòu)揭秘Base64還是自定義編碼拿到ordersuffixZjYxMzQ1NjctZmFkZi00ZjUyLWI5ZTUtYzE3ZjIwYzQxZjQx這樣的字符串第一反應(yīng)是Base64。但實(shí)測(cè)解碼后得到的是亂碼說明它并非標(biāo)準(zhǔn)Base64。通過抓包對(duì)比多個(gè)訂單的ordersuffix發(fā)現(xiàn)其規(guī)律長(zhǎng)度固定為32位十六進(jìn)制字符串如f6134567-fadf-4f52-b9e5-c17f20c41f41包含4個(gè)短橫線-符合UUID v4格式但支付寶官方文檔從未承認(rèn)這是UUID且部分沙箱環(huán)境返回的ordersuffix并非標(biāo)準(zhǔn)UUID如含字母g、z深入分析支付寶App的網(wǎng)絡(luò)請(qǐng)求發(fā)現(xiàn)ordersuffix實(shí)際是支付寶網(wǎng)關(guān)生成的一個(gè)加密令牌Token其原始內(nèi)容經(jīng)AES加密后再進(jìn)行Base64UrlSafe編碼即替換為-/為_去掉末尾。解密密鑰由支付寶內(nèi)部管理外部無法還原。因此前端唯一合法操作就是原樣傳遞任何試圖“解析”或“修改”ordersuffix的行為都違反協(xié)議。3.3 前端拼接的黃金法則三步原子操作缺一不可前端拿到ordersuffix后拼接必須遵循以下原子操作序列順序不可顛倒URL編碼ordersuffix值雖然ordersuffix本身只含字母數(shù)字和短橫線但為防未來升級(jí)引入特殊字符必須encodeURIComponent()。const encodedSuffix encodeURIComponent(ordersuffix); // 安全起見永遠(yuǎn)編碼構(gòu)造完整協(xié)議URL嚴(yán)格按格式拼接appid固定ordersuffix為編碼后值。const alipaysUrl alipays://platformapi/startapp?appid20000125ordersuffix${encodedSuffix};立即執(zhí)行跳轉(zhuǎn)且禁止任何中間操作// ? 正確原子跳轉(zhuǎn) window.location.href alipaysUrl; // ? 錯(cuò)誤添加setTimeout會(huì)導(dǎo)致超時(shí) setTimeout(() { window.location.href alipaysUrl; }, 100); // ? 錯(cuò)誤先alert再跳轉(zhuǎn)用戶點(diǎn)擊確認(rèn)期間ordersuffix可能已失效 alert(即將跳轉(zhuǎn)至支付寶); window.location.href alipaysUrl;注意在iOS Safari中window.location.href跳轉(zhuǎn)有時(shí)會(huì)被瀏覽器攔截尤其在非用戶手勢(shì)觸發(fā)的場(chǎng)景。必須確保跳轉(zhuǎn)發(fā)生在click、touchend等用戶交互事件回調(diào)內(nèi)。我曾遇到一個(gè)BugVue組件中用click.native綁定支付按鈕但因事件冒泡被父組件阻止導(dǎo)致跳轉(zhuǎn)失效。最終解決方案是顯式添加event.preventDefault()并使用window.location.assign()強(qiáng)制跳轉(zhuǎn)。3.4 雙平臺(tái)兼容性陷阱Android與iOS的協(xié)議解析差異Android對(duì)alipays://協(xié)議支持完美。只要支付寶App已安裝Intent會(huì)100%被正確捕獲。即使用戶切換到其他App再切回H5頁(yè)執(zhí)行跳轉(zhuǎn)依然有效。iOS存在兩個(gè)關(guān)鍵限制SFSafariViewController攔截如果H5頁(yè)運(yùn)行在微信內(nèi)置瀏覽器WKWebView或某些第三方WebView中alipays://可能被WebView自身攔截而非交由系統(tǒng)處理。解決方案是檢測(cè)環(huán)境對(duì)微信內(nèi)H5強(qiáng)制使用window.webkit.messageHandlers.Alipay.postMessage(...)調(diào)用JSSDK需微信白名單。Universal Links覆蓋iOS 9 引入U(xiǎn)niversal Links當(dāng)用戶點(diǎn)擊https://鏈接時(shí)系統(tǒng)會(huì)優(yōu)先嘗試打開關(guān)聯(lián)App。但alipays://是傳統(tǒng)Scheme不受Universal Links影響。不過若用戶設(shè)備上同時(shí)安裝了支付寶和某款山寨App也注冊(cè)了alipays://則存在Scheme沖突風(fēng)險(xiǎn)。支付寶通過在App Store審核時(shí)強(qiáng)制要求“唯一Scheme聲明”規(guī)避此問題但企業(yè)級(jí)客戶自建App需注意。實(shí)測(cè)數(shù)據(jù)在iPhone 12 iOS 15.4環(huán)境下alipays://協(xié)議喚醒成功率98.7%1000次測(cè)試13次失敗均為用戶手動(dòng)禁用了支付寶的“允許網(wǎng)頁(yè)打開”權(quán)限。4. 抓包與調(diào)試實(shí)戰(zhàn)如何在無支付寶調(diào)試工具時(shí)定位orderSuffix拼接問題4.1 抓包環(huán)境搭建Charles Proxy iOS真機(jī)證書配置支付寶App對(duì)HTTPS流量有嚴(yán)格證書校驗(yàn)直接抓包會(huì)顯示“SSL handshake failed”。必須配置Charles根證書到iOS設(shè)備在Mac上啟動(dòng)Charles訪問chls.pro/ssl下載證書用AirDrop發(fā)送到iPhone點(diǎn)擊安裝進(jìn)入「設(shè)置」→「通用」→「關(guān)于本機(jī)」→「證書信任設(shè)置」開啟Charles證書的完全信任在Charles中啟用「Proxy」→「SSL Proxying Settings」添加*.alipay.com和*.alipayobjects.com到SSL Proxying ListiPhone WiFi設(shè)置中配置HTTP代理為Mac的IP地址和Charles默認(rèn)端口8888。提示支付寶App會(huì)檢測(cè)代理環(huán)境部分版本在檢測(cè)到Charles時(shí)拒絕發(fā)起網(wǎng)絡(luò)請(qǐng)求。此時(shí)需關(guān)閉Charles的「Proxy」→「Recording Settings」→「Enable recording」僅保留SSL Proxying或使用更隱蔽的抓包工具如Wireshark需Mac網(wǎng)卡混雜模式。4.2 定位orderSuffix的三次關(guān)鍵抓包時(shí)機(jī)orderSuffix不會(huì)在下單請(qǐng)求中明文出現(xiàn)它存在于支付寶App啟動(dòng)后的首次網(wǎng)絡(luò)請(qǐng)求中。我們需要抓取三個(gè)階段H5頁(yè)面下單請(qǐng)求找到你服務(wù)端調(diào)用支付寶alipay.trade.wap.pay接口的請(qǐng)求查看響應(yīng)Body中的HTML確認(rèn)action屬性是否包含alipays://。這是源頭驗(yàn)證。支付寶App啟動(dòng)后首請(qǐng)求在Charles中過濾alipay.com域名當(dāng)用戶點(diǎn)擊支付按鈕、支付寶App啟動(dòng)后會(huì)立即發(fā)出一個(gè)POST https://render.alipay.com/p/s/i/xxx請(qǐng)求。該請(qǐng)求的body中bizContent字段解密后包含完整的訂單信息而requestId字段值正是ordersuffix的明文支付寶內(nèi)部調(diào)試接口非公開API支付結(jié)果回調(diào)請(qǐng)求支付寶App完成支付后會(huì)向你配置的notify_url發(fā)送異步通知。通知中的sign參數(shù)簽名可用于反向驗(yàn)證ordersuffix的合法性——若你手動(dòng)生成的ordersuffix無法通過支付寶簽名驗(yàn)簽則說明拼接邏輯有誤。4.3 Chrome DevTools移動(dòng)端調(diào)試監(jiān)聽alipays://跳轉(zhuǎn)事件在Chrome中打開chrome://inspect連接安卓真機(jī)選擇對(duì)應(yīng)H5頁(yè)面的WebView。在Console中執(zhí)行// 監(jiān)聽協(xié)議跳轉(zhuǎn)嘗試 window.addEventListener(beforeunload, function(e) { if (window.location.href.startsWith(alipays://)) { console.log(即將跳轉(zhuǎn)至支付寶:, window.location.href); // 此處可添加埋點(diǎn)記錄ordersuffix值 ga(send, event, Alipay, ProtocolJump, window.location.href.split(ordersuffix)[1]); } });更高級(jí)的方法是重寫window.location的hrefsetterconst originalAssign window.location.assign; window.location.assign function(url) { if (url.startsWith(alipays://)) { console.debug([Alipay Protocol] Jump URL:, url); // 記錄完整URL用于后續(xù)分析 localStorage.setItem(lastAlipaysUrl, url); } return originalAssign.call(this, url); };4.4 常見失敗場(chǎng)景與日志分析速查表現(xiàn)象Charles抓包特征根本原因解決方案點(diǎn)擊后無任何反應(yīng)頁(yè)面停留Charles無alipays://相關(guān)請(qǐng)求前端未執(zhí)行跳轉(zhuǎn)或window.location.href被JS錯(cuò)誤中斷在跳轉(zhuǎn)前加console.log(Jumping to:, alipaysUrl)檢查控制臺(tái)報(bào)錯(cuò)跳轉(zhuǎn)后支付寶App閃退或顯示“網(wǎng)絡(luò)異常”抓到render.alipay.com請(qǐng)求但返回500或{code:40004,msg:Business Failed}ordersuffix格式錯(cuò)誤或包含非法字符未編碼檢查encodeURIComponent()是否執(zhí)行打印編碼前后對(duì)比支付寶打開但顯示“訂單不存在”render.alipay.com返回200但bizContent中out_trade_no為空ordersuffix已過期或被重復(fù)使用后端生成ordersuffix時(shí)增加timestamp字段前端跳轉(zhuǎn)前校驗(yàn)剩余有效期iOS微信內(nèi)點(diǎn)擊無反應(yīng)Charles無任何支付寶相關(guān)請(qǐng)求微信WebView攔截了alipays://檢測(cè)WeixinJSBridge是否可用降級(jí)使用JSSDKpay()方法實(shí)操心得我在一個(gè)金融類H5項(xiàng)目中發(fā)現(xiàn)80%的“訂單不存在”錯(cuò)誤根源是后端生成ordersuffix的時(shí)間戳用了服務(wù)器本地時(shí)間而支付寶網(wǎng)關(guān)使用UTC時(shí)間校驗(yàn)。當(dāng)服務(wù)器時(shí)區(qū)為Asia/ShanghaiUTC8時(shí)生成的ordersuffix時(shí)間戳比支付寶網(wǎng)關(guān)認(rèn)為的“當(dāng)前時(shí)間”早8小時(shí)導(dǎo)致一生成即過期。解決方案后端調(diào)用支付寶API前統(tǒng)一將時(shí)間戳轉(zhuǎn)為UTC格式。5. 生產(chǎn)環(huán)境避坑指南那些文檔不會(huì)寫的12個(gè)致命細(xì)節(jié)5.1ordersuffix的有效期不是15分鐘而是“支付寶網(wǎng)關(guān)當(dāng)前時(shí)間15分鐘”支付寶文檔寫“ordersuffix有效期15分鐘”但未說明這個(gè)“15分鐘”是以誰(shuí)的時(shí)間為準(zhǔn)。實(shí)測(cè)證明它是以支付寶網(wǎng)關(guān)服務(wù)器的UTC時(shí)間為基準(zhǔn)。如果你的服務(wù)端時(shí)間與支付寶網(wǎng)關(guān)偏差超過15秒ordersuffix就可能生成即失效。解決方案后端定時(shí)每5分鐘調(diào)用https://opendata.alipay.com/common/timestamp獲取支付寶官方時(shí)間戳生成ordersuffix時(shí)使用該時(shí)間戳作為基準(zhǔn)而非服務(wù)器System.currentTimeMillis()。5.2 微信內(nèi)H5必須做雙重檢測(cè)UA JSBridge僅靠navigator.userAgent.indexOf(MicroMessenger) -1判斷微信環(huán)境不夠可靠。某些安卓微信版本UA中不包含MicroMessenger。必須結(jié)合JSBridge檢測(cè)function isInWechat() { const ua navigator.userAgent; const isWechat /MicroMessenger/i.test(ua); const hasWechatBridge typeof WeixinJSBridge ! undefined || typeof window.WeixinJSBridge ! undefined; return isWechat hasWechatBridge; } if (isInWechat()) { // 降級(jí)使用JSSDK WeixinJSBridge.invoke(getBrandWCPayRequest, {...}, ...); } else { // 使用alipays://協(xié)議 window.location.href alipaysUrl; }5.3alipays://協(xié)議在PWA漸進(jìn)式Web App中失效的終極解法當(dāng)H5頁(yè)被添加到主屏幕PWA后alipays://跳轉(zhuǎn)會(huì)失敗因?yàn)镻WA運(yùn)行在獨(dú)立的WebView中系統(tǒng)無法將其與支付寶App關(guān)聯(lián)。唯一解法是在PWA的manifest.json中移除display: standalone強(qiáng)制使用瀏覽器Tab模式。雖然犧牲了“App-like”體驗(yàn)但保障了支付鏈路暢通。5.4 沙箱環(huán)境ordersuffix的特殊性它不校驗(yàn)簽名支付寶沙箱環(huán)境為方便調(diào)試對(duì)ordersuffix的簽名校驗(yàn)是關(guān)閉的。這意味著你在沙箱中可以隨意修改ordersuffix的值支付寶App仍會(huì)打開。但切記上線前必須在真實(shí)環(huán)境驗(yàn)證沙箱的成功不等于生產(chǎn)環(huán)境的成功。我曾因沙箱測(cè)試通過就上線結(jié)果生產(chǎn)環(huán)境大面積失敗回滾耗時(shí)6小時(shí)。5.5 Android 12 的Package Visibility限制Android 12API 31起應(yīng)用需在AndroidManifest.xml中聲明要查詢的其他應(yīng)用包名否則PackageManager.resolveActivity()會(huì)返回null導(dǎo)致alipays://跳轉(zhuǎn)失敗。支付寶App的包名為com.eg.android.AlipayGphone必須在你的App Manifest中添加queries package android:namecom.eg.android.AlipayGphone / /queries5.6ordersuffix中的短橫線-是分隔符不是隨機(jī)生成ordersuffix中的4個(gè)短橫線位置是固定的8-4-4-4-12這是UUID v4的標(biāo)準(zhǔn)格式。支付寶網(wǎng)關(guān)生成時(shí)嚴(yán)格遵循此規(guī)范。如果你的后端生成的ordersuffix短橫線位置錯(cuò)誤如f6134567-fadf-4f52b9e5-c17f20c41f41支付寶App會(huì)直接拒絕。務(wù)必使用標(biāo)準(zhǔn)UUID庫(kù)生成。5.7 iOS 16.4 的Privacy Manifest新要求蘋果要求所有iOS App在PrivacyInfo.xcprivacy文件中聲明數(shù)據(jù)收集目的。支付寶App已更新此文件但如果你的H5頁(yè)通過alipays://傳遞了用戶設(shè)備ID等信息需確保你的域名也在支付寶的隱私清單中。目前支付寶未對(duì)此做限制但建議關(guān)注蘋果開發(fā)者文檔更新。5.8alipays://協(xié)議不支持target_blank在a標(biāo)簽中使用target_blank會(huì)導(dǎo)致alipays://跳轉(zhuǎn)在新標(biāo)簽頁(yè)打開而新標(biāo)簽頁(yè)無法喚起App。必須使用target_self或直接window.location.href。5.9 支付寶App版本兼容性低于10.2.0的版本不支持ordersuffix舊版支付寶App如9.x系列無法識(shí)別ordersuffix參數(shù)會(huì)直接忽略并打開首頁(yè)。必須在跳轉(zhuǎn)前檢測(cè)支付寶版本// 通過支付寶JSBridge獲取版本 if (typeof AlipayJSBridge ! undefined) { AlipayJSBridge.call(getVersion, {}, function(version) { if (version 10.2.0) { // 降級(jí)到HTTPS跳轉(zhuǎn) window.location.href https://openapi.alipay.com/gateway.do?...; } }); }5.10ordersuffix的長(zhǎng)度不是32位而是36位含短橫線ordersuffix的標(biāo)準(zhǔn)長(zhǎng)度是36個(gè)字符如f6134567-fadf-4f52-b9e5-c17f20c41f41。前端做長(zhǎng)度校驗(yàn)時(shí)必須按36位判斷而非32位。少一位或多一位都意味著生成錯(cuò)誤。5.11 H5頁(yè)面必須部署在HTTPS域名下支付寶協(xié)議要求調(diào)用頁(yè)面必須是HTTPS。HTTP域名下執(zhí)行alipays://跳轉(zhuǎn)Chrome和Safari會(huì)直接攔截并報(bào)錯(cuò)Not allowed to navigate top frame to data URL from origin http://...。這是瀏覽器安全策略無法繞過。5.12 最后的保險(xiǎn)支付狀態(tài)輪詢兜底即使alipays://跳轉(zhuǎn)成功用戶也可能在支付寶App中取消支付、或網(wǎng)絡(luò)中斷導(dǎo)致未返回結(jié)果。必須在H5頁(yè)啟動(dòng)一個(gè)最長(zhǎng)3分鐘的輪詢定時(shí)調(diào)用你后端的訂單查詢接口如/api/order/status?out_trade_noxxx直到返回支付成功或失敗狀態(tài)。輪詢間隔建議第1分鐘每5秒一次第2分鐘每15秒一次第3分鐘每30秒一次。我個(gè)人在實(shí)際操作中的體會(huì)是alipays://協(xié)議不是銀彈而是支付體驗(yàn)優(yōu)化的“最后一公里”。它能讓轉(zhuǎn)化率提升15%-20%但前提是每一個(gè)環(huán)節(jié)都像鐘表齒輪一樣嚴(yán)絲合縫。與其花時(shí)間研究如何“破解”協(xié)議不如把精力放在確保ordersuffix的生成、傳輸、拼接、跳轉(zhuǎn)這四步的零誤差上。畢竟用戶不會(huì)關(guān)心你用了什么協(xié)議他們只關(guān)心——點(diǎn)下去就能付成。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
大地资源在线观看中文第二页| 人妻无码久久一区二区三区免费| 亚洲人成在线放东京热| 精品乱码久久久久| 色一射色一射| 亚洲欧美精品福利在线| 成人性爱AV在线免费观看| 久久久久96| 99久久无色码| 曰韩av中文字幕专区| 天天综合~91| 91N综合网| 91蜜臀在线久久久久| 久久精品一区二区一8| 亚洲。天堂。日本在线观看| 亚洲综合网图| 色哟哟国产精品免费网址| 亚洲欧美综合区自拍另类| 91网站在线播放| 精品免费1| 亚洲中文日韩精品| 亚洲 无码 偷拍| 中文字幕激情小说| 亚洲无码日韩电影| 黑人综合色| 中文字幕人妻色偷偷久久皮 | 日韩欧美加勒比| 偷拍色图| 清纯唯美综合| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 美女超碰978| 青娱乐欧美激情一区二区| 999久久久国产精品| 九99久久| 超碰视97中文| 9I1性色影院| 久久久久网站-538在线视频-欧美永久乱码| 五月天色图影视| 日韩一级片在线看| 亚洲女毛多水多21P| 91精品女厕偷拍视频| 亚洲久久久| 伊人九九九| 视频二区熟女人妻| 成人一二| 欧美日韩另类在线| 伊人骚琪琪亚洲天堂网站| 欧洲精品二区| 啪啪自拍九九综合| 日本狂喷奶水在线播放212| 日本人妻中文字幕 | 五月丁香久久| 欧美激情亚洲色图| 中美日韩毛片| 久偷拍欧美日韩三区| 综合天天网| 日韩三级在线观看mp4| 国产suv精品一区二区四区999 | 另类欧美综合| 国产97在线 | 亚洲| 72av视频| 日韩激情无码影院| www.大香| 91亚洲欧美综合高清在线| 久久9999| 尤物网站91| 小说区 图片区色 综合区| 大香蕉一区二区在线观看.| 精品国产91内射久久| 人人 操人人 操人人| 日本精品网站在线中文| 中国国国产一级特黄毛片| aaaa少妇高潮大片| 天美麻豆精品视频99| 日本精品88888888| 国产精选视频| 100啪啪视频大全| 91在线视频观看国产| 天天操天天舔| 国产综合久久久鬼色| av天天在线| 亚洲国产97在线精品一区| 久久这里只有精品9| 日本三级A片网站com| 青娱乐国产精品| 国产女人成人精品视频| 精品久久久久黄少妇| 青青草字幕AV| 久久亚州精品成人Av无| 国内精品不卡无毒99999| 黄色十八禁| 日本媚薬中文字幕在线| 精品性爱一区二区| 亚州综合AⅤ| 国产综合久| av无码av无码专区| 亚洲 欧美 小说| 豆1无夜无码| 国产综合色精品在线观看| 91精品微拍福利| 久久99久久99精品免视看婷婷| 日本人妻一区二区| 国产精品69久久久久久久 | 亚洲精品一区二区三区新线路| 欧美激情久久久久| 国产美女在线精品免费看| 成人三级片无码| 亚洲精品蜜桃久久久一区二区三区| 亚洲国内精品成人不卡| 人人干人人操人人爱| 色色五月天婷婷| 人妻熟女一区二区三区在线| 亚洲欧美第一页| 日本精品成人无码| 欲色综合| 精精夜夜| 搡老女人老91二区| 五月天婷婷欧美三区| 久久久内射良家| AA级电影三区| 国精综合一二三区影视| 国产精品爱欲| 97超碰色屌| 精品78| 美国aaaaa一级黄片| 情色五月天网| 在线无码操| 色爱欲亚洲| 亚洲本色精品一区二区久久| 国产视频一区二区三区久久亚洲天堂| 国产高清吃奶免费视频网站| 欧美成人亚洲精品| 无码一区二区精品视频久久久春药 | 久热久| 亚洲影视高清第一页| 福利视频一区二区微拍| 午夜精品久久久久久久| 免费伦费视频在线观看| 9ⅰ久久久天天| 婷婷在线视频在线观看| 亚洲色丰满少妇高潮| 99re9| 一区二区三区国产精产| 欧美大波激情xxxx| 久久精品夜色国产亚洲AV| 人人妻碰人人免费| 91丝袜美腿片| 亚洲精品99| 91天堂网| 欧美日日人人天天| 成人 日韩欧美一区| 国产999精品久久久| 久久久五月天| 1000部熟女视频在线观看| 久久一留热品黄| 26uuu性| 欧美激色| hd成人一区二区在线| 97伊人超碰| 95人妻爽爽人人做人人澡| 超碰78| 99国产精品久久久久久久成人热| 亚洲精品无码久久AV| 中文字幕熟女人妻丝袜丝| 精品夜夜澡人妻无码| 午夜国产综合视频在线观看| 亚洲自拍青操视频| 亚洲美女30b| 午夜精品视频777| 无码人妻精品酒店| 亚洲色图伊人网| 秋霞视频一区二区| 男人的天堂午夜av| 欧美天天综合网| 欧美国产视频| 天天影视色香色欲| 深夜国产一区二区三区在线看| 97欧美综合网| 日韩中文字幕宗合在线| 亚洲日本韩国极品一区二区| 亚洲AV无码国产精品久久久久| 欧美 亚洲 在线| 国产美女激情| 按摩中文字幕| 亚洲精品精品一区二区| 三级AV入口| 九九热精品| 97一本大道亚洲一区| 秋霞久久亚洲精品成人| 加勒比大香蕉视频在线| 美国精品国产精品| 另类图片五月天| 蜜桃成人1区2区3区| 日本欧美韩国国产在线| 人人操人人摸人 | 屌妞视频久久久久久久久久久久| 激情小说五月天| 欧美A片中文字幕| 情色大香蕉| 91 亚洲情侣偷拍 久久| 按摩中文字幕| 青娱乐亚洲自拍| 乱伦强奸区日韩| 老鸭窝成人| 国产精品制服丝袜中文字幕日韩一区二区三区 | 精品人妻1区| 97精品国产| 九九操久久国产免费视频| 加勒比海成人视频网| 大香蕉色十月| 久久久九97| 国产精品视频精品一二| 国产91精品福利在线| 欧美1区二区三区公司| 亚洲色狠| 日韩人妻丝袜中文字幕| 亚洲脚交| www欧美91| 午夜噜噜噜| 熟女熟妇一区二区三区视频| 97伦乱| 美欧老女人97| 三级网站超变态精品| 蜜色网色哟哟| 91亚州欧美| 国产精品suv一区| 欧美日韩人人精品| 日日夜夜草草草| 91艹| 日本在线伊人啪啪| 亚洲国产丝袜熟女av| 国产女大学生AV| 啪啪综合网| 插入逼91| 黄色激情电影在线观看| xxx0国产在线播放| 久久久国产三级黄色片| 台欧久久精品视频| av在线人气| 自拍盗摄一区| 女上位精品在线| 亚洲第一页色网| 九九九九精品视频| 91视频精品| 91在线超高颜值国产| 美国aaaaa一级黄片| 亚洲欧美日韩夜夜| 黄页大片在线观看| 综合91网| 欧美色网络| 91啦人妻| 大香交伊人网| 九九自拍伦理| 免费视频观看60秒| 97人人夜夜精品视频| 一区二区三区免费岛国片| 99久久久无码国产精品性男| 97在线国产精品| 九9热伊人| 东京热男人天堂| 久久精品午夜国产亚洲AV无码| 国产精品极品美女视频| 狠狠色丁香| wwe 天天干.com| 美女91网址| 东北少妇高潮zzzz| 色五月综合网| 中文字幕久久亚州无码| 日本视频在线中文字幕| 在线人人人人人人精品超 | 99中出在线| 99爱久久视频频| 四虎精品一区| 欧亚性爱在线视频| 一区二区久久天天干狠狠| 欧美在线中M| 久久 精品| 国产a级午夜毛片| 97色论| 91 国产丝袜在线播放-百度| 色与欲影视天天看综合网| 国产精品视频自拍在线| 久7色| 狠狠操狠狠燥| 被男人添B超爽视频| 97精品国产97久久久久久免费| 国产夫妻性生活视频| 国产精品成人午夜福利| 亚洲综合小说另类图欧美视频激情小说色五月天 | 精品美女人人干| 黄片qw| 色综合中文字幕不卡| 亚洲色图片区| 人、人、摸,人、人、草| 嗯嗯啊好大| 日本精品一级二级三级| 亚洲.欧美.丝袜.中文.综合| 91一区二匹| 目产99999久久999| 午夜美女诱惑电源网| 日韩精品中文字幕一| 日韩超碰精品综合| 日本性爱欧美性爱| 一牛一区二区三区久久| 日本人妻中文字幕精品| 欧亚久久偷拍视频| 日韩极品无码B| 男人的天堂色偷偷青青草视频婷婷网| 国产精品九九九| 国产丝袜美女诱惑| 舔足天天操天天射| 国内精品999| 男人的天堂 在线一区| 国产在线76页| 超碰在线一区| 大香蕉青青9| 亚洲成人久久一区二区| 97人妻人人躁人人玩人人| 国产精品自在自拍视频| 中文字幕精品三级久久久| 亚洲欧美国产成人综合不卡| 欧美在线电影| 天天综合网国产| 青娱乐淫乱1314| 日本大片日本一区二区免费高清| 久久久久久久| 哈哈操电影AV| 美國A片| 日本久久久久久久久久| 日韩一999精品| 亚洲乱码精品一区二区| 蜜臀无码一区二区| 超碰人人妻| 亚洲成人在线高清| 色踪合AV| 中文字幕 码 自拍 视频 区| 亚洲欧美国产va在线播放频| 亚洲和欧美裸体美女双飞视频| 中文一区在线视频| 久草这里只有精品| 粉嫩AV一区夜夜嗨| 91色婷婷综合久久中文字幕二区| 偷拍 亚洲 欧美| 啊啊啊啊啊在线视频| 91在线视频观看国产| 欧美同性恋 的搜索结果 - 91n| 吻戏激情性巴克| 国产AAAAAABBBBB| 亚洲怡春院| 亚洲女毛多水多21P| 欧美高清16| 日本久久综合| 亚洲精品久久久久久久久豆丁网| 欧美日韩性爱无码| 碰碰97| 五月天亚洲网| 亚洲激情 欧美色图| 亚洲五月婷| 久久精品国产亚洲AV高清演员表| 91在线观看,天天综合| 黄色二级片网站| 国产无马视频| 国产91亚洲精品一区二区三区| 日本精品九九九| 久久大香蕉手机高清| www.色综合| 91社操逼| 欧美αv.com| 97碰| 992视频一区| 97在线国产精品| 97福利视频| 国产AV激情无码久久无码| 亚洲一区日韩精品中文字幕| 好吊色综合| 国产中文字幕在线观看| 劲爆欧美人妖三区91| 国产欧美美女免费观看视频| 90后性网国产欧美| 不卡一区二区日本视频| 性开放中文AV高清无码免费看| 亚洲无线观看久久| 欧美性爱精品七区| 极品销魂美女一区二区 | 91精品黄在线观看| 日韩AV无码中文一区二区| 亚洲精品国语在线播放| 久久在线观看免费视频| 国产h小视频在线观看免费| 欧美性少妇| 久久影视二区三区行押| 黄色一区三区| 天天操天天日天天干| 亚洲情色在线| av麻豆啪啪| 老熟女区| 青青草色插素人| 60秒试看最爽10分钟网站| 留下AⅤ黄色片| 精品超碰国产| 蜜桃久久一区二区三区| 97超碰69| 精品大久久| 丰满少妇一区二区三区专区| 午夜性| 白丝AV网站| 欧美色图成人网一区二区 | 视频二区熟女人妻| 色九九久九九| 国产99999久久精品| 久久99草| 久久99干一本高清| 亚洲综合影院| 黄色视频60分钟| 91午夜无码| 新婚人妻扶着粗大强行坐下| 操比国产| 蜜桃视频精品一区二区| 日日干日日操五月天伦理视频| 嗯嗯,啊啊,国产精品| 91色图片| 欧美综合色,www| 色欲av国内精品久久久久久| 国模私拍一区二区三区神乳| 国产剧情AV不卡在线观看| 亚欧高清在线| 夜夜操老骚逼视频网站| 色香伊人| 夜夜爽夜夜操| 国模无码一区二区三区在线| AA丁香综合激情| 开心五月婷婷| 人人搡人人肉久久精品| 日韩一级二级三级| 伊人专区一区二区三区| 亚洲国产麻豆一区二区三区| 猛交交| 九九九九日本| 97免费在线观看| 日本操色导航| 狠狠躁AV| 国产97/欧美| 日本不卡一二区| 国产精品99精品视频网站| 岛国艾薇凹凸视频天堂| 福利风月五月天影院| 久久人妻少妇| av爱爱爱| 五月综合色| 97丝袜亚洲在线播放| 日韩欧美传媒一区国产| 亚洲图片欧洲图片aⅴ| 色妺妺在线视频| 懂色影视久久| 亚洲欧洲综合成人av一区| 亚洲精品少妇| 操逼网免费无码视频| 色老汉色| 国产深喉视频一区二区| 日本三级韩三级99久久| 91精品免费| 边做饭边操逼逼| 亚洲中文字幕噜噜噜久久久| 欧美瑟综合| 中国一级操逼视频| 9999亚洲电影| 欧美一二三级精品在线| 毛片电影一区二区三区| 亚洲美女黄色| 精品高清一区二区三区三州| 欧美色图私拍91| 精品午夜福利| 青青国产精品在线| 日韩 欧美 校园一区| 91五十路| 欧美日不卡| 蜜臀网 一区| 青青伊人这里只有精品| 国产天美传媒精品| 精品久久久久久中文字幕三区 | 亚洲AV不卡在线观看| 黄色人人| 亚洲色图国产另类| 人妻啪| 日han少妇无码| 国产二区三区免费视频| 91网亚洲| 国产一在线观看| 99在线观看无大码| 日本视频在线观看污污污| 久久久成人精品| 自拍视频一区在线观看| 夜夜春夜夜操| 激情六月天| 亚洲欧洲自拍| 国产精品亚洲四五区在线观看| 凹凸视频在线一区二区| 天天摸天天碰天天添青青| 欧美福利视频啊啊啊啊| 国产精品久久久777| 亚洲蜜乳av| 性爱欧美五月| 性色AV蜜色av色欲av| 91久久18禁| 亚洲日韩在线a不卡99精品| 97超碰逼| 成人日本视频人妻在线| 国产一级高清免费观看| 伊人991| 国产精品久久久久久久久AV大片 | 一区二区三区视频| 抽查国产福利主播| 美女午夜福利免费视频| 人妻 中文 日韩| 久久久性少妇| 日本免费一区二| 在线观看高清AV| 9美女超碰在线免费观看| 久久久蜜桃一区二区三区| 国产亚洲深夜激情| 青青草中出视频| 天堂av2019| 国产区91柔拿会所技师| 凹凸精品熟女在线观看| 91天天c| 激情综合网五月婷婷| 日本影视久久免费| 全国男人天堂网| 久久免费看高潮毛片韩国| 色香色欲天天综合网天天来吧| 五十路熟女人妻一区二区在线观看| 91久久婷婷| 午夜福利一区二区影院| 日本在线999| 亚洲综合九| 婷婷九月| 风流老熟女一区二区三区l| 亚洲日韩天堂| 精品人妻一区二区三区蜜桃视频| 亚洲第一页欧美| 欧美性生活综合| 伊人专区一区二区三区| 丰满少妇一区二区三区免费看| 美女诱惑在线一区| 久久久久久大| 曰韩精品九九无码| 少妇高潮对白在线观看| 在线播放免费av福利片| 男人天堂东京热| 97少妇人妻中文字幕久久| 亚洲人在线成线成人| 九九99精品视频在线观看| 亚洲激情片| 久久久成人免费av电影| 亚洲淫色网中文| 亚射在线| 国产精品青青草| www.夜夜操| 日韩精品在线观看网站| 韩国成人精品久久久免费看 | 色综合美国| 国产一区二区三区精品观看啪| 热久久国产| 日本国产亚洲一区在线观看| 午夜小电影在线插入淫高潮| 亚洲影视综合| 亚洲欧洲激情卡通另类文学四射小说网站 | 校园春色AV天堂| 欧美色图99| 男女激情中文字幕| 久久国99999| 日日黄色三级网站| 亚洲综合小视频小说在线观看| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 欧美加勒比| 91亚洲欧美激情| 91老司机精品| 亚洲色图一区二区三区| 私人尤物在线精品不卡| 囯产精品久久久久久久久久梁医生 | 九九久久久久久爱| 97这里都是精品| 丰满精品人妻少妇久久字幕| 色噜噜国产在线| 中文字幕视频2区| 亚洲97P| 精品人妻一区春色| 欧美影音在线| 超碰97人人乐| 色逼综合| 色欲Av人妻精品一区二| 国产亚洲精品av一区| 嫩草一区二区在线观看| 国产女生在线| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 51一区二区三区| 久久久日本电影| 大香蕉中文201| 2023天天操夜夜操| 亚洲精品无码成人久久久99| 国产AV高清AV无码| 91女网站| 美女骚尻视频| 亚洲精品日日夜夜52| 操逼日韩无码 | 91精品人| 国产精品免费美女视频| 91丝袜美女国产| 亚洲av热热色| 狠久久| 五十路三区在线| 草莓精品视频在线免费观看| 韩国一级婬片A片AAAAA| 99热在线只有精品| 啪一啪免费视频| 国产精品 午夜福利| 噜噜噜噜久久久精品免费| 国产 无码 一区二区| 久久一本大香蕉| 国产探花日韩援交| 欧美最婬乱婬爆婬性视频| 天天综合麻豆视频| 乱伦1色页| 欧美天堂日韩三级国产传媒| 日本一区二区三区免费观看| 欧美72网页| 亚洲AV无码AV吞精久久久久| 秋霞鲁丝午夜无码一区二区三| 国产野战露脸在线播放| 丝袜性亚洲| 五月丁香六月婷| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 好看的久久不射无码影视影院| 国产乱伦亚洲| 精品久操| 亚洲天堂另类美腿| a男人的天堂久久一级A毛片| 97天天爽| 手机在线视频国内精品| 青青草色AV| 色九九九综合| 小草三级久久观看| av在线一区二区三区| 亚洲天堂少妇| 熟女网站最新| 中美日韩毛片| 一道本久久棕合爱| 日韩精品在线观看观看| 亚洲丝袜少妇在线| 亚洲91网站| 亚洲伊人久久精品狠狠在线| 风流老熟女一区二区三区l| 亚洲天天操| 欧美狠狠狠| 国产精品久久久久999| 性色avv| 婷婷激情五月| 色综合美国| 天天做天天爱天天爽| 欧美性爱五月天| 九月婷婷| 日韩久久三区| 青青操青娱乐| 欧美精品1区2区3区| 国语对白露脸XXXXXX| 麻豆精品.欧美精品.日韩精品.| 天天操福利视频综合网站| 国产综合久久久鬼色| 98一区二区精品| 五月婷婷丁香| 乱伦熟女区| 探花熟女,姿勢到位,體驗感也到位| 亚洲欧美日韩免费电影| 国产精品一区二区 尿失禁| 一区二区三区精品黑丝白丝酒店对鸡| 小情侣高清国产在线视频| 欧美一级色| 麻豆久久视频在线地址| 色性荡荡荡荡视频| 欧美熟妇亚洲版| 丝袜狂射91| 97精品免费视频网站| 另类亚洲一区二区三区| 午夜啪啪片| 丁香九月激情啪| 狠狠干狠狠色| 欧美日韩婷婷中文| 久久精品黄色| 加勒比在线视频一区二区三区 | 97超碰人人模人人拍人人| 黑人白女精品一区| 婷婷五月影院| 秋霞鲁丝午夜无码一区二区三| 久久精品日韩专区免费观看| 欧美日韩亚洲少妇寂寞影院正在播放| 蜜臀Av一区二区三区| 蜜臀在线视频| 国产男女无套视频免费观看| 麻豆av一区二区三区| 亚欧美色图| 欧美五十路熟| 亚州成人A√| 欧美色图20P| 天天干夜夜操网| 97激情97激情| 精品一区二区三区麻豆| 少妇一级婬片免费放一级a性色.| 天天插天天射| 自拍啪啪视频| 成人综合久久精品色婷婷| AV丝袜少妇| 免费精品无码一级毛片牛牛影视| 精品无码久久久久久国产浪潮| 亚洲天堂中文字幕无码男同| 欧美成人精品一区| 乱理日韩中文| 玖玖97综合 | 欧美天天综| 超碰97综合| 一块操欧美| 色亚洲欧美| 日韩久久激情精品| 91亚洲网站| 99热精品在线观看| 91久久免费视频互動交流| 精品福利视频| 亚洲欧美一区二区网址| 综合网~91综合网| 欧洲成人性爱视频| 欧美视频一区二区三区| 91nbbbbbb| 久久久久久亚洲中文| 老女人碰碰在线碰碰视频| 欧美专区日本专区| 激情黄色片在线观看| 97免费视频在线观看视频| 中文字幕免费看大片| 精品大全99999| 十八禁视频网站| 久久精品熟女亚洲AV麻豆软件| 久久久久96| 老女人爆菊| 老熟妇一区二区三区…| 久艹日日日| 老司机午夜福利视频一区二区| 一区二区三区四区免费视频| 久草线上视频免费看| 色蜜AV| 无码黑人精品一区二区三区三| 日韩射图| 蜜色网色哟哟| 五月丁香六月综合缴清无码| 婷婷精品国产一区二区三区日韩| 欲女人妻性色av| 日日日日日| 日本熟女中文字幕一区| 亚洲天堂男人的天堂| 破处bbq| 鸥美插入视频| 久久国色天香香蕉| 巨爆乳肉感一区二区三区竹菊影视| 97碰久久| 午夜精品久久久久久久久久久久久| 色妇91| 亚洲综人| 欧美日韩亚洲国产中文永久天天看| 丝袜综合色图| 亚洲熟妇无码一区二区三区| 黄总AV色图| 鸥美插入视频| 亚洲熟女一区| 91天天爱| 国产在线激情| 日躁天天爽爽| 神马九九| 天天干干天天干干| 色婷婷丁香五月| 又黑又大又粗| a人片中文字幕一区二区| 亚洲天堂资源| 亚洲欧美变态| 亚洲色宗合| 精品国产乱码久久久久久蜜臀| 大香久久| 另类图片欧美激情综合| 国产成人午夜视频网址| 九九99久久| 亚洲官网在线| 97精品人妻一二三四| 欧亚无码视频| 婷婷在线视频| 麻豆伊人网| 在线性黄高清免费视频| 日韩啪啪网| 亚洲棕合电彰| 国产精品久久久午夜夜伦鲁鲁| 亚洲欧美伦综合| 久久久久久亚洲Av无码| 中国一区二区亚洲人妻| 玖玖视频在线资源一区二区三区| 青青操狠狠撩| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴| 国产精品色色| 亚洲在钱| 久久亚洲精品成人av| 久久亚洲天天做| 中文字幕一区二区三区人妻不卡 | 欧美日韩 强奸乱伦| 欧美永久激情一区二区| 亚洲欧美第一页| 超碰狠狠操| 中文字幕无码不卡啪啪| 欧亚免费视频| 亚洲国产中文字幕| 中文字幕精品资源在线| 日日噜噜夜夜久久亚洲一区二区| 成人性爱AV在线免费观看| 男人天堂一区二区| 欧美激情综合| 热久日综合| 自拍视频一区在线观看| 亚洲天堂人人妻| 老司机福利青青草| 色爽爽文学| 久久中文字幕一区不卡| 加勒比伊人综合| 亚洲无吗在线视频| 超碰在线日韩一区| 免费AV播放| 成人羞羞视频国产| 欧美熟妇人体| 强奸乱伦av电影| 亚洲深夜福利| 婷婷色香| 丁香五月社区| 在线小视频| 久久久一区二区| 黄片在线免费在线观看| 天天综合青苹果| 打av高清| 亚洲成?V人片在线观看福利| 一区二区三区看视频| 欧美暴力猛交| 欧亚综合一卡二卡中文字幕| 免费黄色片。| 日韩在线电影| 男人的天堂无码| 爱啪精品一区| 久99久视频精选| 青娱乐二区免费| 超碰天天去日穴| 中文一区在线日| 欧美日韩情色一区二区| 国产一级特黄大片处女| 97超碰磁| 中文字幕精品探花视频| 高清不卡 中文 人妻| 日少妇视频| 91美乳| 五月婷婷六月色| 精品亚洲国产成人精品| 欧美性xxxxx狂欢| 久久亚洲日韩熟女精品| 久草男人天堂| 国产精品久久久777| 天天碰操中国年青熟妇| 久久av色| 五月天久久婷婷亚洲 | 91精品无码久久久久久久| 97在线视频观看| 国产婷婷综合在线观看| 国产色产精品在线观看| 国语精品av| 色情综合网| 中文字幕在线观看视频www| 26UUU欧美激情一区二区| 亚洲色图欧美一区二区不卡| 日本成人在线不卡一区二区三区| 亚洲综合在线91| 少妇淫妇久久久久久久| 久久精品国产亚洲粉嫩| 九九九九免费| 国产又粗又长视频| 午夜精品久久一区二区| 一级做受视频免费是看美女| 久草视频在线视频在线视频在线观看| 浪人综合网| 国产丝袜视频| 欧洲自拍色图gif在线| 四虎精品一区二区| 思思热久久成人| 久久亚洲av成人无码国产| 九一亚洲国产免费| 素人伊尹大香蕉免费下载视频| 精品999一区二区| 嫩呦国产一区二区三区AV| 国产精品老师| 亚欧美综合网。| 97色伦97色伦国产欧美| 亚洲综合激情五月久久| 91丝袜在线视频| 亚洲天堂在线怕怕视频| 久久久久9| 青青草久草AV| 人妻性爱一区二区| 色蜜AV| 97天天操| 大香蕉丝袜一级片| 日韩噜噜69| 久久久久久亚洲Av无码| 欧美色三级片91| 九九热三级片| 九九色色| 思思久热在线精品66| 色呦呦、国产精品| 青青青青操国内视频在线| 97国产成人精品免费视频| 久久久久久九九九九-美女久久久久久久-成人AV| 嗯嗯,好大,好爽,好骚| 人人操人人干xxx| 亚州操操穴网| 日韩免费高清大片在线| 久久综合18p| 国内毛片国产欧美拍| 亚洲情色一区综合| 大象AV在线| 亚洲精品一区二区三区新线路| 一区二区三| 欧插网站| 久久久精品中文字幕爱豆| 韩日男人的天堂| 午夜电影在线观看无码专区| 国产精品一区二区麻豆| 一区二区 韩日AV| 白丝被操91| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照 | 黄aaaaaaaaaaaaaaaaaa色网站 | 1204金沙人妻懂旧版免费| 久久这里精品国产99丫e6| 女人久久久| 97爱b| 91大学精品激情戏| 丰满岳乱妇一区二区三区| 欧美激情1区| 麻豆AV一区二区| 久久老女人| 蜜臀久久精品久久久久视频| 午夜精品探花| 欧美夜夜| 中文字幕第二页| 伊人aaa| 伊人成人中文字幕久久网| 欧美亚洲小说| 99日免费视频中文字幕| 日本天堂网| 久久综合九九| 久久五月视频| 色就色综合| 中英熟女操女| 国产精品久久久 | 久区视频| 老熟女综合网| 色色九区| 中国熟妇| 日韩97在线| 熟妇熟女一区二区三区| 啊啊啊操死我| 98久久超碰| 欧美日韩久久精品爱爱| 男人天堂东京热| 黄色免费一级在线毛片| 国产精品一区二区黄片| 天天舔九色婷婷| 3PAV乱伦视频| 99婷婷| 国语精品对白| 日韩性爱网址| 日本高清熟女久久一区| 日韩福利综合一区| 中文字幕 av v| 五月丁香综合啪啪| 91久久久久久久久18| 亚码激情| 国产亚洲精品美女| 久9综合在线| 日本久久女同性恋视频| 狠狠色噜噜狠狠狠狠2018| 亚洲91在线播放影院| 丁香六月综合激情| 久久久一二三四区| 99在线无码精品秘 入口黑人| 天天舔天天日天天射| 狠狠干婷婷| 日日日啊啊啊| 夜夜骑操视频| 免费操逼91| 粉嫩粉嫩一区性色AV片| 亚洲情色第一页| 久久久久久九九九九九九| 夜夜爽夜夜高潮夜夜爽| 无码WWW免费视频网站| 美女在线H91| 亚洲 欧美综合| 亚洲91在线| 九九av| 亚洲日韩狠狠撸视频| 国产人妖视频一区在线观看| 中文字幕一区 二 区 三 四 五 区日 日 骚| 九九久久九九久久| 久久久久久加勒比| 久久色情| 97超级久久| 中字乱伦AV| 在线播放欧洲免费av| 九九综合色| 色噜噜国产精品视频一区二区| 中文字幕在线高清男人的天堂| 一区超碰一区| 综合激情婷婷| 欧美亚洲情色| 综精品久久久aaaa| 免费一级黄色录像影片| 伊人四虎综合| 夜夜操天| 五月天玖玖资源站| 密臀视频三区免费网站| 成人综合网 欧美| 成人性爱美曰韩| 欧美91精品国产自产| 东北操逼| 色女综合| 91chinese在线| 中字幕人妻一区二区三区| 91青青| 97超碰人操| AV丝袜少妇| 国产欧美美女免费观看视频| 激情综合二| 国产辣妈在线视频福利| 精品国产乱码久久久影院| 久久同城AV| 97超碰色屌| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| yellow网站免费观看日韩高清无码| 啊v在线观看视频| 9丨久久九九九| 久艹免费| 日本精品五区| 精品一区二区成人| 91碰碰| 国内黄色精品| 疯操AV| 尤物av网站免费在线播放| 日韩免费高清大片在线| 国产精品熟女丝袜一区二区| 狼人综合婷婷激情四射| 欧美在线视频观看一二三四区高清| 久久久九九九九| 色哟哟-国产专区| 日韩乱伦视频| 国产精品久久久久久久久AV大片| 白嫩国模丰满一二三区| 久久久久久AⅤ无码免费肉站| 九九人人操| 日韩一区二区熟女| 老司机久久| 欧美大的香蕉有线电视视频| 欧美18 在线观看| 国产一区二区三区视频在线看| 欧美视频一区二区在线| 麻豆 欧美 日韩| 久久久久9999妇女| 欧美一区二区三区成人性生活| 亚欧美综合网。| 竹菊一区二区三区AV线| 少妇被c 黄 免费观看| 五月丁香拍拍激情综合三级| 丰满人妻一区二区三区免费 | 久久超碰98| 粉嫩在线一区二区懂色| 欧美午夜视频免费观看| 国产欧美日韩精品中文| 天堂v无码免费视频| 日本在线15p| 亚洲美女 晚间男人天堂 | 欧美 亚洲精品首页| 国产自制av蜜乳| 国产在线视视频有精品| 国产精品久久发布| 久久激情四射婷婷丁香五月天| 翔田千里无码一区| 色五月婷婷色| 98福利在线视频| 色屁屁影院www国产| 久久性爱视频| 久久99久久99精品天美传媒棢·纸:. | 日韩激情毛片一级久久久| 免费视频a级毛片免费视频| 国模不卡一本二本三电影| 中文字幕熟女人妻丝袜| 久久综合五月天| 狠狠躁久久躁| 国产精品岛国片在线观看| 精品成人女人久久| 午夜一区二区三区国产| 看黑丝美女操逼青青网站| 91色香| 天堂日本亚洲欧美| 精品人妻一区二区三区在| 2020天天色综合| 国产成人在线观看综合| 精品白丝一区| 色一情一乱一乱一区91Av| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 欧美综合区| 97久久超碰国产精品| 亚洲成?V人片在线观看福利| 欧美韩日精品99综合| 超碰人人妻| 人人操人人插 - 百度 - 百度| 97色论| 岛国黄色短视频| 91插B网站| 亚洲……91| 色五天伊人| 欧美亚洲手机在线| 亚洲欧美综合色| 天天草天天干天天日| 国产剧情在线| 欧美成人一区二区| 青青草操逼逼视频| 国产精品久久99日日| 91性网| 日本久久999| 夫妻四区五区六区| 国产精品视频白浆免费| 欧美天天射| 久操视频在线| 日本精品88888888| 97综合在线| 亚洲成人av电影在线| 人妻一区二区三区熟女| 蜜乳av一区二区三区四区不卡| 九色97| 久久久精品国产亚洲AV无码| 欧美一级美片在线观看免费| 久久风骚城市| 久久骚| 欧美成人色| 欧美曰韩国产精品| 内射白嫩美女| 91久久精品蜜臀| 日日爽夜夜爽| 九九热精品视频在线观看| 欧美成人性爱视频免费观看| 亚洲男人综合| 中文字幕一二区二三区人妻专区| 亚洲天堂2020| 美女91网站| 日本人妻最新在线中|