從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個伏筆設計技巧遊戲
- 從開發 2 個 Chrome 外掛中學到的(對新手的 4 個提示和 6 個技巧)Chrome
- 從密碼學到網路安全應用密碼學
- 每個安卓開發初學者應該瞭解的 12 個技巧安卓
- 從一個問題中瞭解數學在程式設計中的應用程式設計
- 從程式設計中學到的 6 個生活習慣程式設計
- 在安卓應用上支援從右到左(RTL)佈局安卓
- 我從Superfish事件中學到的事件
- 從SDWebImage原始碼中學到的Web原始碼
- 【深度學習】--DCGAN從入門到例項應用深度學習
- 從0到1打造一個 WebRTC 應用Web
- 【中後臺應用】從表單抽象到表單中臺抽象
- 著陸資料科學工作的8個技巧!資料科學
- 從 Java 到 Scala (三): object 的應用JavaObject
- 如何“販賣”你的故事?8個實用技巧
- 【譯】用8個 npm 技巧打動你的同事NPM
- 建立安卓應用的 30 個經驗教訓安卓
- 【強化學習篇】--強化學習從初識到應用強化學習
- 8個有用的JS技巧JS
- 8 個有用的 JS 技巧JS
- 8 個 Git 的小技巧Git
- 從應用開發到營收 10個不能忽視的細節營收
- 我在微軟8個月所學到的微軟
- 學習 MySQL 應該掌握的 6 個技巧MySql
- 扁平化設計的8個實用小技巧
- 10個用於冥想和正念的最佳免費安卓應用安卓
- 30 天的 Github 挑戰,我從中學到的 5 個經驗Github
- 快速激發靈感的7個安卓應用模板安卓
- 從青銅到王者,10個css3偽類使用技巧和運用CSSS3
- 【機器學習】--Adaboost從初始到應用機器學習
- 【機器學習篇】--SVD從初始到應用機器學習
- 安卓手機減少流量的4個技巧安卓
- 8個超實用的jQuery外掛應用jQuery
- 在安卓開發中開始應用NFC安卓
- RxJava在安卓開發中應用原始碼RxJava安卓原始碼
- 【Kafka專欄】-Kafka從初始到搭建到應用Kafka