从DoorDash安卓应用中学到的8个技巧


在移动应用程序中有效实施支付需要精确关注支付方式、用户体验和欺诈预防等因素。移动支付对企业至关重要,这意味着工程师应该采取深思熟虑的方法,预测所有可能发生的情况。在 DoorDash,我们发现了有助于创建强大且成功的移动支付系统的八个基本因素。
DoorDash 已经处理了超过 20 亿个订单,因此我们在这里介绍的因素应该有助于其他公司推出自己的移动支付。
 
移动支付的典型实施方式

在我们开始学习我们学到的课程之前,让我们首先回顾一下支付组件通常是如何在移动应用程序中实现的。在线下订单时,用户将他们的卡信息提交到支付网关,例如StripePayPal。网关对这些信息进行加密,进而促进与支付处理器的交易。支付处理商与开证行交谈并请求批准。然后批准冒泡到后端,让客户知道付款是被接受还是被拒绝。


除了需要内部和外部系统之间复杂的数据流外,移动支付之所以复杂,还有以下几个原因:

  • 多种付款方式(Paypal、Google Pay、Stripe 等):
    • 付款方式可以是设备上的数字钱包,例如 Google Pay,或通过外部支付网关,例如 Stripe 或 PayPal。我们希望为用户提供尽可能多的选项,但启用所有可用的付款选项具有挑战性。
    • 每种支付方式都需要自己复杂地集成到应用程序中。
    • 每种付款方式都需要自定义测试策略。
  • 用户体验: 
    • 移动支付需要尽可能顺畅,以实现快速结账。
    • UI 不仅需要适用于所有支付方式,而且还必须适用于新用户和现有用户。将支付方式的数量与新的和现有的用户流相乘,我们就有了一个复杂的流矩阵来实施和测试。
  • 性能: 
    • 该应用程序必须保持高性能,同时仍支持所有付款方式。
    • 我们需要确保该应用程序拥有所有必要的信息,以便尽快开始处理付款,同时仍能及时了解我们服务器上的信息。
  • 测试: 
    • 测试不能是事后的想法。我们需要设计后端和应用程序,以允许在发布之前隔离和测试每种支付方式和流程。
  • 欺诈罪: 
    • 任何包含移动支付组件的应用程序都需要实施反欺诈措施。
  • 地点: 
    • 我们需要在处理他们的付款之前考虑用户所在的地区,以遵守每个国家的法律和法规。

  
这是 DoorDash 工程师在 DoorDash Android 应用程序中实施支付时学到的一些经验教训。
 
规划和设计未来的支付方式
在较早版本的 DoorDash 应用程序中,开发人员没有正确考虑向应用程序添加新的支付方式。相反,它是围绕信用卡和 Google Pay 设计的。这导致在添加新方法(如 PayPal)时遇到挑战。
在新设计中,工程师将支付方式的概念引入了代码库。这些分为作为设备一部分的本地支付方式(如 Google Pay)和需要与支付网关交互的外部支付方式(如 Stripe)。
 
注意特定于付款方式的限制和实施指南
支付供应商可能有他们希望在应用程序中被描绘的特定方式。
例如,Google Pay 要求尽可能将其作为主要付款方式
此外,他们有严格的用户体验指南来解释如何显示他们的徽标和按钮。
 
为不同国家的消费者或旅行的消费者制定计划
支付通常不能以一种在全球范围内扩展的通用方式实施。每个国家都有自己的技术、法律和会计影响。
某些付款方式可能还需要其他国家/地区的额外验证或信息。
 
绩效计划
在处理付款时保持应用程序的性能绝对至关重要。缓存支付方式和卡可以加快速度,因为在购物车和结账屏幕上等待支付信息的时间更少。
但是,这必须小心完成,并且必须考虑后端和设备不同步的错误情况。
 
添加大量遥测
如果付款流程不能正常工作,调试起来可能会很棘手。因此,系统应该发送尽可能多的信息,而不是仅仅发送“支付失败”之类的通用信息;包括来自提供商的错误代码、设备信息或任何有助于识别应用程序失败时状态的诊断信息。
但是,请注意不要包含任何可能被攻击者破坏的个人身份信息或任何支付信息。