從DoorDash安卓應用中學到的8個技巧
在移動應用程式中有效實施支付需要精確關注支付方式、使用者體驗和欺詐預防等因素。移動支付對企業至關重要,這意味著工程師應該採取深思熟慮的方法,預測所有可能發生的情況。在 DoorDash,我們發現了有助於建立強大且成功的移動支付系統的八個基本因素。
DoorDash 已經處理了超過 20 億個訂單,因此我們在這裡介紹的因素應該有助於其他公司推出自己的移動支付。
移動支付的典型實施方式
在我們開始學習我們學到的課程之前,讓我們首先回顧一下支付元件通常是如何在移動應用程式中實現的。線上下訂單時,使用者將他們的卡資訊提交到支付閘道器,例如Stripe或PayPal。閘道器對這些資訊進行加密,進而促進與支付處理器的交易。支付處理商與開證行交談並請求批准。然後批准冒泡到後端,讓客戶知道付款是被接受還是被拒絕。
除了需要內部和外部系統之間複雜的資料流外,移動支付之所以複雜,還有以下幾個原因:
- 多種付款方式(Paypal、Google Pay、Stripe 等):
- 付款方式可以是裝置上的數字錢包,例如 Google Pay,或通過外部支付閘道器,例如 Stripe 或 PayPal。我們希望為使用者提供儘可能多的選項,但啟用所有可用的付款選項具有挑戰性。
- 每種支付方式都需要自己複雜地整合到應用程式中。
- 每種付款方式都需要自定義測試策略。
- 使用者體驗:
- 移動支付需要儘可能順暢,以實現快速結賬。
- UI 不僅需要適用於所有支付方式,而且還必須適用於新使用者和現有使用者。將支付方式的數量與新的和現有的使用者流相乘,我們就有了一個複雜的流矩陣來實施和測試。
- 效能:
- 該應用程式必須保持高效能,同時仍支援所有付款方式。
- 我們需要確保該應用程式擁有所有必要的資訊,以便儘快開始處理付款,同時仍能及時瞭解我們伺服器上的資訊。
- 測試:
- 測試不能是事後的想法。我們需要設計後端和應用程式,以允許在釋出之前隔離和測試每種支付方式和流程。
- 欺詐罪:
- 任何包含移動支付元件的應用程式都需要實施反欺詐措施。
- 地點:
- 我們需要在處理他們的付款之前考慮使用者所在的地區,以遵守每個國家的法律和法規。
這是 DoorDash 工程師在 DoorDash Android 應用程式中實施支付時學到的一些經驗教訓。
規劃和設計未來的支付方式
在較早版本的 DoorDash 應用程式中,開發人員沒有正確考慮嚮應用程式新增新的支付方式。相反,它是圍繞信用卡和 Google Pay 設計的。這導致在新增新方法(如 PayPal)時遇到挑戰。
在新設計中,工程師將支付方式的概念引入了程式碼庫。這些分為作為裝置一部分的本地支付方式(如 Google Pay)和需要與支付閘道器互動的外部支付方式(如 Stripe)。
注意特定於付款方式的限制和實施指南
支付供應商可能有他們希望在應用程式中被描繪的特定方式。
例如,Google Pay 要求儘可能將其作為主要付款方式。
此外,他們有嚴格的使用者體驗指南來解釋如何顯示他們的徽標和按鈕。
為不同國家的消費者或旅行的消費者制定計劃
支付通常不能以一種在全球範圍內擴充套件的通用方式實施。每個國家都有自己的技術、法律和會計影響。
某些付款方式可能還需要其他國家/地區的額外驗證或資訊。
績效計劃
在處理付款時保持應用程式的效能絕對至關重要。快取支付方式和卡可以加快速度,因為在購物車和結賬螢幕上等待支付資訊的時間更少。
但是,這必須小心完成,並且必須考慮後端和裝置不同步的錯誤情況。
新增大量遙測
如果付款流程不能正常工作,除錯起來可能會很棘手。因此,系統應該傳送儘可能多的資訊,而不是僅僅傳送“支付失敗”之類的通用資訊;包括來自提供商的錯誤程式碼、裝置資訊或任何有助於識別應用程式失敗時狀態的診斷資訊。
但是,請注意不要包含任何可能被攻擊者破壞的個人身份資訊或任何支付資訊。
相關文章
- 從《鏡之邊緣》中學到的8個實用的關卡設計技巧
- 從經典遊戲中學到的7個伏筆設計技巧遊戲
- 10個用於冥想和正念的最佳免費安卓應用安卓
- appium 安卓應用指令碼APP安卓指令碼
- 安卓10 禁止某個應用聯網(已root)安卓
- Flutter 如何釋出安卓應用?Flutter安卓
- 【機器學習】--Adaboost從初始到應用機器學習
- 從密碼學到網路安全應用密碼學
- 50多個惡意安卓應用繞過Google Play,感染了3000萬安卓使用者安卓Go
- 華為Mate 8將升級安卓8.0:嚐遍3個安卓大版本安卓
- 安卓應用安全指南 5.6.1 密碼學 示例程式碼安卓密碼學
- 【ElasticSearch篇】--ElasticSearch從初識到安裝和應用Elasticsearch
- 7款最佳安卓日曆應用安卓
- 安卓應用安全指南翻譯完成安卓
- 從另一個思路來學習安卓事件分發機制安卓事件
- 從Windows 到安卓:多重攻擊機制的遠控的分析Windows安卓
- 從一個問題中瞭解數學在程式設計中的應用程式設計
- 【機器學習篇】--SVD從初始到應用機器學習
- 【機器學習】--xgboost從初識到應用機器學習
- 用GDX寫個安卓小遊戲安卓遊戲
- 徹底理解安卓應用無響應機制安卓
- [譯] 在 Android Instant App(安卓即時應用程式)中啟用 ProGuard (混淆)AndroidAPP安卓
- 安卓應用安全指南4.8輸出到LogCat安卓GC
- 如何“販賣”你的故事?8個實用技巧
- 三本學歷,自從接到阿里的面試電話後,五個月從 安卓轉前端阿里面試安卓前端
- 從0到1打造一個 WebRTC 應用Web
- 從 Java 到 Scala (三): object 的應用JavaObject
- 【深度學習】--DCGAN從入門到例項應用深度學習
- 【機器學習】--譜聚類從初始到應用機器學習聚類
- 著陸資料科學工作的8個技巧!資料科學
- 【安卓逆向】從逆向登入協議開始到frida rpc的初探安卓協議RPC
- 8個有用的JS技巧JS
- 8 個有用的 JS 技巧JS
- 安卓應用優化:使用反射測試安卓裝置是否使用“動態桌布”安卓優化反射
- 【中後臺應用】從表單抽象到表單中臺抽象
- [譯] 如何在安卓應用中使用 TensorFlow Mobile安卓
- 安卓版 Google Sheets 表格應用支援滑鼠操作安卓Go
- 安卓應用安全指南六、困難問題安卓