首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

开发团队如何选型支付网关

支付是电子商务的最后一英里,只有顺利完成了支付,才能产生真正的业务价值。那么,对于商家来说,需要以最低的成本和最快的速度为用户提供最安全的支付功能。

由于电子支付往往需要支持多种银行卡类型和第三方支付类型,同时需要满足较高的安全要求和技术标准,因此往往会借助支付网关来实现。但由于支付网关种类繁多,其功能复杂、安全标准参差不齐、集成方式众多,在选择时往往会给商家带来很大困扰。

本文基于在 ThoughtWorks 帮助各类客户提供不同种类支付网关的经验,以及帮助客户开发和维护月交易量在百万级别的支付网关的经验,分别从功能、安全、集成方式三方面来帮助商家了解并快速选择适合自己的支付网关。

支付网关的功能

介绍

我们将支付网关的功能分为核心功能和增值功能。核心功能包括了面向最终用户的支付功能,以及面向商家的收单服务;增值功能则包含了为支持一个完整的业务而提供的各种支撑功能。

支付功能

支付功能是支付网关的核心。支付功能包括支持的银行、卡机构、第三方支付等的种类和数量,以及支付成功率、支付处理速度、系统稳定性等技术指标。越大的支付网关,其银行和第三方支付种类覆盖范围就越广,技术更可靠,而收费也更高,且对于本地小银行的支持有限。

收单服务

由于法律监管和银行业务的要求,如果商家需要通过电子支付的方式来收款,需要在收单行开设一种特殊的银行账户:商家账户。支付网关面向商家提供收单服务,以大大降低商家与银行的谈判、申请账户、以及出问题后多方之间巨大的沟通成本。

增值功能

支付网关的差异化也体现在其增值功能的种类上:比如预授权,退款,取消支付,批量支付,定时自动支付,动态货币转换,多货币定价,报表,查询等。

我们的建议

对于核心支付功能,我们建议您根据自己的业务和用户的实际情况进行选择:

  • 如果是本地业务,最好选择一个品牌信誉好的、对本地银行业务支持更加友好的中小规模的支付网关,甚至只提供当地最流行的第三方支付就足够了。当然,如果所选的小支付网关对国际业务支持的不够好,当未来业务扩展时,支付网关可能会成为制约因素。我们在项目上经常看到客户因为此原因需要更换支付网关的例子。因此,在前期的代码设计上,应该预先做好设计与隔离,为此最好准备。
  • 如果业务或用户涉及国外,则需要了解不同国家和地区的用户支付习惯,提供用户喜爱的本地化支付方式。此时,我们建议您选择一个将各个地区主流第三方支付打包到一起的支付网关,这样可以一次集成,多次应用。我们在某项目上首先通过 Worldpay 帮助客户集成了 Paypal,并在先期的代码设计上保留了扩展接口。后来当业务扩展需要支持支付宝和微信时,只做了一些配置的改动和非常少量的开发测试工作就上线了,节省了大量商务谈判、技术调研、从零开始的集成测试等工作。 

对于收单业务,我们建议您优先选择支付网关的收单服务。这样,作为商家只需要跟支付网关一家打交道即可,从流程、技术、沟通等各方面,都省去了很多麻烦。

对于技术指标的考量,我们必须知道,任何一笔支付,中间都会涉及多个系统的集成,出问题是非常正常的。我们在帮助客户维护支付网关的过程中,7 人左右的团队往往会被各种线上问题搞得应接不暇。作为商家,以下几点可以帮助您将损失降到最低:

  • 不仅要看支付网关官网承诺的各项技术指标,还要与其签订明确的 SLA 以保护自己的权益
  • 在自己的系统中添加有效的监控和日志,出问题时可以提供足够有价值的信息协助支付网关一起排查定位问题;
  • 对支付网关的接口稳定性进行测试,以及时发现支付网关的故障,从而采取相应措施;
  • 实现一套合理的 fallback 机制,比如及时隐藏出问题的支付网关、切换到另一种支付网关或第三方支付等,以降低其对业务和用户的影响。

对于各种增值功能,建议您按需进行考察,如果不是核心业务,可作为 MVP 之外的范畴,逐步纳入交付计划。

对支付网关安全能力的考量

每年因为支付诈骗所造成的损失,对于大部分商家都是在线支付中最头疼的问题。用户支付数据泄露等安全事件还会给企业带来名誉损失和法律风险。因此,安全性应该成为我们选择支付网关时必不可少的考虑因素。

介绍

我们分别从 PCI DSS、3D Secure、信用卡反欺诈和支付标记化四方面来做进一步介绍,并给出我们的建议。

PCI DSS(Payment Card Industry Data Security Standard)

PCI DSS 是由支付卡产业安全标准委员会制定的第三方支付行业数据安全标准,从信息安全管理体系、网络安全、物理安全、数据加密等方方面面提出了一套保护持卡人数据的技术和操作的基线要求。PCI DSS 会对支付网关等提供支付服务的机构进行年审,审计结束后,会对被认证企业提供相应的安全级别资质证明。

3D Secure

3D Secure(Three-Domain Secure,以下简称 3DS)是国际卡组织为提高信用卡网上支付的安全性,向卡持卡人推出的一项安全验证服务。它规定,在使用信用卡进行支付时,必须输入支付密码、手机验证码等只有持卡人自己才知道的信息,以验证用户身份。

对商家来说,3DS 是一把双刃剑。如果使用了 3DS,则意味着对持卡人身份更可靠的验证,如果未来发生投诉退单,其成本会由发卡行而不是商家来承担;但是由于在支付流程中需要跳转到发卡行的网站进行身份验证,从用户体验和技术上都会造成一定支付转换率的损失;同时,商家也需要为额外这一层安全保障付出成本。在某些国家或地区(比如欧洲),各大银行、支付网关和商家必须支持 3DS 已经是支付领域的法律要求。

信用卡反欺诈(Fraud Detection)

信用卡反欺诈是通过技术手段在支付发生前对可疑情况进行过滤,以降低支付诈骗率。最常见的一个场景,如果反欺诈系统检测到同一个 IP 地址在短时间内尝试使用不同卡号付款且大部分都会验证失败,则快速做出判断,认为该 IP 涉嫌诈骗,从而禁止所有该 IP 的后续请求。

支付标记化(Tokenization)

支付标记化技术是由国际芯片卡标准化组织于 2014 年正式发布的一项技术,其原理是:支付网关在第一次验证完用户身份后,针对每个银行卡号生成一个唯一的 token 并返回给商家,作为后续支付过程中代表该卡信息的凭证,这样就避免了频繁输入卡信息带来的风险。

我们的建议

对于 PCI DSS,支付网关的 PCI 安全认证资质证明可以作为证明其在技术、基础设施和流程等方面安全程度的最有力证明。我们在选择时,仔细审查其 PCI 安全级别资质证明即可

对于 3DS,我们建议您选择支持 3DS 功能的支付网关,并将其作为必选项提供给您的用户。不仅在现在和将来排除了法律风险,也是最有效的防支付诈骗的手段,同时可以为支付诈骗发生后做风险管理和转移提供有力证据。

我们在维护支付网关的项目上,处理最多的问题就是那些因为没有使用反欺诈服务而被攻击的客户,一般遇到这种情况,来自该商家所有用户的支付请求都会被临时禁止直到攻击停止,这对正常业务会产生很大影响。因此,我们建议您不要吝啬投入,务必选择一个能提供有效反欺诈能力的支付网关或专业的反欺诈服务提供商

对于支付标记化,如果您的用户主要使用信用卡进行支付,那么我们建议您选择提供支付标记化功能的支付网关,这样可以允许用户使用保存的卡信息进行支付,可以大大提高忠实用户的用户体验。对于支付标记化的考察,重点需要考察背后的卡信息是否存储在支付网关自己的数据库,如果是,则需要确定其是否满足 PCI Level 1 的标准。

支付网关常见的集成方式

介绍

从功能和安全性上确定您的需求后,下一个问题就是用户的支付体验和技术集成了。支付网关一般都会提供多种集成方式,每种集成方式在用户体验和技术要求上不尽相同。以下是几种最常见的集成方式:

Hosted Payment Page

当用户在商家网站确认订单并点击“继续支付”的按钮后,浏览器会直接从商家网站跳转到由支付网关提供的支付页面,在此页面输入卡信息并进行支付。

In-Context Popup

当用户在商家网站确认订单并点击“继续支付”的按钮后,直接在当前页面弹出一个由支付网关提供的支付模块弹出框,用户可以在不离开商家网站的情况下进行支付。最典型的例子就是 PayPal in-context checkout 。

iFrame

支付网关将包含输入卡信息和支付按钮的部分提取成一个公共组件,允许商家在渲染支付页面的时候通过 iFrame 的形式将该支付组件加载到页面中。

API

当用户在商家网站输完支付信息、点击支付按钮后,直接从商家网站的后端发送 API 请求到支付网关。 

我们的建议

不同的集成方式在用户体验、开发成本和其对商家网站 PCI 的要求程度是不同的,我们对此进行了一个对比

如何选择,完全取决于现实情况,并无好坏之分。我们有下面几点建议

  • 对于有能力满足 PCI DSS、有一定技术能力来集成 API 的商家,用户体验最佳的 API 集成方式是最佳的选择;
  • 对于希望完全在 PCI 监管之外,或者希望以最快的速度提供支付功能,而对用户体验要求不太高的商家,Popup 或 Hosted Payment Page 是不错的选择;
  • 对于大部分商家来说,iFrame 由于不仅能帮商家规避 PCI,同时具备较好的用户体验和较快的集成速度,是大部分场景的最优选择。

其他需要考虑的因素

除了以上核心的考察点之外,下面这些因素不仅可以从侧面证明支付网关的业务和技术能力,也是我们在使用支付网关的服务时很重要的方面:

  • 是否提供清晰、快速的 onboard 流程
  • 其技术文档是否足够信息、准确且包括必要的细节,是否提供设计优良的客户端 SDK
  • 是否提供沙盒环境和测试账号供我们在测试环境进行自动化和手工测试
  • 技术支持是否专业、及时且有效

希望通过本文的介绍,让您对支付网关有了一定的了解,也有足够的知识和技巧来选择一个适合自己的支付网关。

本文转载自:ThoughtWorks 洞见(ID:TW-Insights)

原文链接:开发团队如何选型支付网关

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/8uawlzbrH8TGc2koAy3r
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券