开发团队如何选型支付网关
支付是电子商务的最后一英里,只有顺利完成了支付,才能产生真正的业务价值。那么,对于商家来说,需要以最低的成本和最快的速度为用户提供最安全的支付功能。
由于电子支付往往需要支持多种银行卡类型和第三方支付类型,同时需要满足较高的安全要求和技术标准,因此往往会借助支付网关来实现。但由于支付网关种类繁多,其功能复杂、安全标准参差不齐、集成方式众多,在选择时往往会给商家带来很大困扰。
本文基于在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郑佳宁
原文链接:
https://insights.thoughtworks.cn/how-to-choose-payment-gateway/
更多精彩洞见,请关注微信公众号:Thoughtworks洞见
开发团队如何选型支付网关相关推荐
- Braintree PayPal 支付网关开发(一)
一般网上消费流程: 消费者 > 商户网站 > 消费者账户银行 > 支付网关 > 支付处理系统 > 商户收款银行 Braintree 就是一种支付方式. Braintree ...
- BCH开发团队BU为什么选择让矿工投票?
近日,BCH的开发团队之一Bitcoin Unilimited开发组发布了新版本的客户端1.5.0,并兼容了ABC客户端在11月份所有的升级特性,包括规范交易排序(CTOR).操作码OP_Checkd ...
- 再迎利好,BCH开发团队BU融合石墨烯区块传播技术
近日,BCH代币化方案Group和Tokeda以及虫洞Wormhole的推出,着实让支持BCH智能合约的开发团队nChain火了一把.而同样作为BCH的开发团队之一,Bitcoin Unlimited ...
- paypal如何支付欧元_做印度最好的第三方四方支付网关-在线业务源码服务wefreepay一网打尽...
上个月,我工作的一个新项目. 这项工作涉及实施支付网关. 因此,在实施前,显而易见的任务是找出哪些是在印度最好的支付网关 . 我做了关于这个问题的一些研究. 这里有一些答案和指针. 你需要在这方面要了 ...
- 中国电信翼支付网关接口接入
最近在做中国电信的翼支付网关接口的接入,正好拿Java练练手.到目前为止,唯一不太适应的就是自己的Java积累几乎为0,什么都要重头写起,不像C#有这么多年的沉淀,可以随手拿来用. 废话先不多说. ...
- 比特大陆裁员潮据称已波及整个BCH开发团队
点击上方"蓝色字"可关注我们! 暴走时评:日前,国内社交网络流出消息称比特大陆内部掀起了一波裁员潮,或将解雇50%现有员工.据消息,其中包括一支名为"哥白尼"的 ...
- 第三方支付网关的选择
在电子商务越来越发达的今天,第三方支付网关也越来越多,虽然第三方支付的公司很多,但在接口方面还是比较相似的,都有一定的规则在其中,比如支付,它势必会有订单生成.支付.返回成功标志.对账等功能,当然,各 ...
- 《软件研发之道:微软开发团队的经验法则》目录
目录回到顶部↑ <软件研发之道:微软开发团队的经验法则> 第一部分 1995 简介 2 有关软件的思考 3 项目的阶段 6 开局阶段 7 组织 7 质保人员是"少数 ...
- 微信支付开发教程(公众号支付)
前段时间公司电商项目需要接入微信支付,因此研究了一下如何使用微信支付.和支付宝支付相比,微信支付相对复杂一些,需要配置的东西更多,限制也更多.经过两天的研究,终于搞定微信支付,在这里对于使用微信支付的 ...
- 敏捷开发团队 项目分工_如何为您的软件开发项目建立敏捷团队
敏捷开发团队 项目分工 敏捷公司认为团队合作对于交付工作软件至关重要,而优秀的敏捷团队则关注"我们"而不是" I". 不幸的是,许多公司声称他们拥有敏捷团队,但 ...
最新文章
- 论网络营销在我国的发展
- android简化log输出方法
- SQL Server代理(11/12):维护计划作业
- 计算机算法设计与分析考试题,《计算机算法设计与分析》习题及答案
- python习题week3
- 极间电容matlab,电子仿真虚拟实验室
- 在计算机组成原理中x,计算机组成原理xu2.ppt
- 2020 年百度之星·程序设计大赛 - 测试赛1001 度度熊保护村庄
- bzoj 1016: [JSOI2008]最小生成树计数
- consul mysql 检查_MySQL在Consul服务中的健康检查逻辑
- VBA中,正则表达式的语法介绍
- 【matlab笔记】寻找极小值
- android版本内存卡,版本等级繁多 教你如何挑选手机内存卡
- Docker容器Exited(137)解决方案
- 基于帝企鹅算法优化BP神经网络实现数据预测(Matlab代码实现)
- node在linux无法连接mysql,无法连接到Node.js上的MySQL数据库
- Linux——权限|shell运行原理——外壳程序|Linux权限的概念|对人操作|角色和文件操作|文件类型访问权限|修改权限ugo+-|8进制|修改权限|更改文件的拥有
- 你在用哪种编程字体?
- 【LuoguP4233】射命丸文的笔记-多项式求逆
- [转]Android开源项目收藏分享