微信和支付寶的支付流程,以及開發中遇到的坑?
凡是和錢打交道的事,沒有一樣是容易的。
來來來,我們開始從支付流程走起。
支付流程圖
微信的支付流程
非微信環境的支付流程
開發的前提
支付目錄需要到後臺公眾號配置:
產品中心-開發配置-支付配置-公眾號支付 配置到支付目錄的最後一級。
支付開發中哪些坑
交易號(trade_no)和訂單號(order_no)的區別?
最初的支付設計初衷是支援購物車模式,比如說聯合支付,雖然是支援專案和互助加入或者互助充值一起下單支付的,但是實際上是一次交易兩筆訂單。那麼就產生了一個交易號對應多個訂單號的關係。
後臺給我們提供了通過交易號來獲取到整條交易資訊,以及通過交易號來查詢這筆交易是否完成的介面?
trade_no > order_no
n 1
支付寶支付成功的回撥地址可自定義?
移動端不指定回撥地址也可以正常回撥?設定這個回撥地址的目的是用於支付寶網頁收銀臺的回撥。如果不設定的話後臺回指定跳到一個地址,實際上這個地址好像已經啟用了。
非微信環境下的微信支付地址後面不可以加tzUrl;否則會出現,支付成功後的回撥頁面回不來。
如何進行二維碼支付測試
二維碼的支付測試 我們可以在微信開發者工具上進行測試。或者是被微信禁用的公眾號裡測試。效果圖如下:
微信分享和微信支付的衝突問題?
一個頁面不能配置兩個簽名串,微信分享的簽名串不支援支付,所以在呼叫支付介面時就無法開啟微信app,被分享SDK給覆蓋了,
支付的簽名串是後端返回的,經常會切支付,用的是別的微信公眾號的簽名串,但是分享功能用的是本公眾號的簽名串。
一個頁面不能配置兩個簽名串 。
引入公用的微信分享測試
iphone6s, 可以正常的分享,和支付
1+, 分享正常 支付正常?
自動獲取焦點的坑?
input 有自動獲取焦點的屬性autofocus="autofocus", 但是這個屬性在移動端存在很嚴重的相容性問題,移動裝置的可用率在64%;安卓還好,大多數ios系統禁用了自動獲取焦點。caniuse上的統計如圖:
除此之外了,還嘗試了讓金額輸入框獲取焦點,但是ios系統上的展示,還是沒有藍色的游標閃爍。後來查詢資料瞭解到,ios中input沒辦法自動獲取,只能手動點選的。
$("#money-input").trigger("focus");
$("#money-input").trigger("click").focus();
當我們把這些自動獲取焦點的程式碼新增上之後,在測試的工程中,發現安卓可以正常自動獲取焦點藍色游標閃爍;ios系統上實際上已經獲取了焦點,但是沒有藍色游標閃爍,這其實沒什麼,出現嚴重的問題是,input金額輸入框很難手動獲取焦點
,有時候需要點選輸入框三次,才可以獲取到焦點。很影響使用者體驗,後來在排查問題的過程中就把自動獲取焦點的程式碼都去掉了。
聯合支付的聯動的坑?
我們的支援在初始設計的時候是支援購物車模式的,一筆交易可能會產生多個訂單。聯合支付就符合這樣的模式。從使用者體驗考慮聯合支付方框和單選按鈕做成聯動,更方便使用者加入互助和進行互助充值。
我在做聯動的時候。希望點選方框的時候,讓單選按鈕也處於選中的狀態。於是我通過jquery的 .attr('checked', 'checked')
給單選按鈕新增選中狀態。發現單選按鈕的check屬性新增上了,但是選中的樣式狀態沒有顯示。查詢資料瞭解到。需要.prop("checked", true)
,單選按鈕也會被選中。
其實在在jquery中應該使用prop方法來獲取和設定checked屬性,不應該使用attr。這裡是混合使用了。
總結:凡是和錢打交道的事,沒有一樣是容易的。
相關文章
- 關於支付寶以及微信支付的整合
- 記錄--uniapp相容微信小程式和支付寶小程式遇到的坑APP微信小程式
- 微信支付,支付寶支付
- PHP-Laravel支付寶支付和微信支付PHPLaravel
- 支付寶、微信支付(.NET)
- 微信支付開發避坑指南
- 關於微信支付,支付寶支付
- Laravel 搞定支付寶和微信掃碼支付Laravel
- 支付寶微信合單支付
- IDEA支付寶小程式開發流程——支付Idea
- 支付寶,微信,充值遇到的到賬延遲
- Python提取支付寶和微信支付二維碼Python
- 微信、支付寶支付那點事
- pay-spring-boot 開箱即用的Java支付模組,整合支付寶支付、微信支付SpringbootJava
- 微信小程式的支付流程微信小程式
- android 整合微信支付和支付寶支付其實很簡單Android
- java實現沙箱測試環境支付寶支付(demo)和整合微信支付和支付寶支付到springmvc+spring+mybatis環境全過程(支付寶和微信支付、附原始碼)JavaSpringMVCMyBatis原始碼
- 在App中對接微信和支付寶APP
- 親身經歷之微信支付沙箱環境掃碼支付遇到的那些坑
- 使用 yansongda/pay 進行支付寶和微信 App 支付APP
- XorPay 個人支付平臺【支援個人微信支付和支付寶支付介面】
- 關於建行龍支付的聚合支付微信,支付寶 對接PC和H5H5
- PHP微信支付開發PHP
- android微信分享、微信支付的一些坑Android
- 個人開發者福音,輕鬆接入個人簽約微信支付、支付寶支付妙招
- 微信發支付寶紅包(花唄)
- 對iOS端支付寶和微信支付程式碼進行整合iOS
- 前端呼叫微信小程式的支付流程前端微信小程式
- 移動支付新時代——低程式碼如何對接支付寶和微信支付
- Epic港服開通支付寶、微信支付 更方便買遊戲遊戲
- 微信開發超市全反系統,微信支付刷卡支付,微信介面簡單配置!
- 支付寶“手機網站支付”開發的相關文件和工具網站
- Android 接入微信支付寶支付Android
- 網際網路新貴向支付寶、微信支付發起挑戰
- 微信小程式開發遇到的那些坑微信小程式
- 微信支付開發文件連結
- [微信小程式]開發中遇到的一些“坑”微信小程式
- 支付寶、微信支付收款碼禁止商用系誤讀NL