@liuhui0803
2017-11-14T16:17:39.000000Z
字数 4397
阅读 2066
开发
REST
Web服务
SOA
企业架构
摘要:
Praveen Alavilli通过本文介绍了他们是如何从可互操作性和可扩展性两方面设计支付终端系统,借此帮助开发者构建新颖购物体验的。
正文:
主要结论
- 所有支付终端都带有一个操作系统(也叫做“应用控制器”),并可通过不同程度的可编程性和访问能力让用户访问终端硬件的核心功能。
- 提供给开发者的SDK倾向于尽可能面向底层,开发者通常需要自行管理集成、安全性和认证等事宜。
- Poynt团队采用了一种集成为先的方法向外部服务提供RESTful API。
- 这些API有助于简化集成与安全性,提供了更出色的开发者体验,使得开发者可以更容易地满足具体需求或实现与新型外设的集成。
今天的商业活动已经模糊了线上和线下的界线,可以通过任何可能的渠道开展。移动商务、语音商务、对话式商务……各种不同的商务方式组成了我们所说的全渠道商务。伴随着诸如物联网等创新技术的诞生,各种实体系统和流程相互之间的交互方式与传统的互联互通方式产生了巨大的差别。跨越物理和虚拟系统的技术和交互方式,客户的购物行为,以及构建全渠道体验的能力等技术革新不仅需要构建API,而且需要在此基础上采取截然不同的方法。商务平台所用的系统和组件在设计和构建过程中必须考虑到互联性、互操作性以及可扩展性,这样才能帮助开发者打造更新颖的购物体验。这正是我们所说的“集成为先”的方法。本文我们将介绍Poynt构建这种商务平台的方法。
在开始详细介绍“集成为先”的方法前,先来看看支付终端的一些基本组件,以及这些组件所扮演的角色。传统的支付终端主要用于处理基于银行卡(信用卡/借记卡)的支付交易。
这类系统通常包括:
除了终端本身,大部分终端供应商还会提供其他服务/功能,例如:
然而大部分终端都将其视作单独的组件,只向这些物理和逻辑组件提供了非常底层的访问(大部分情况下只提供设备驱动层面的访问)。虽然对开发者来说,这样的做法听起来极为灵活,可以让开发者按照需要的任何方式使用这些组件,但却会在集成、安全性、认证等方面造成挑战。
所有支付终端都带有一个操作系统(也叫做“应用控制器”),并可通过不同程度的可编程性和访问能力让用户访问终端硬件的核心功能。通常,终端都会为应用程序开发者提供SDK,借此开发者可以构建自己的应用程序,开发好的程序需要首先提交并进行认证,随后才允许安装到商家使用的真正的支付终端上。
每个应用程序可以提供一系列截然不同的功能,通过终端上的应用程序控制器接口供给商家使用。然而能帮助这些应用程序相互配合使用的框架或接口很少,甚至完全没有,这导致商家需要运行各种相互独立的应用程序。例如当我们在商店购物时,面对不同需求,商家必须使用不同的按键组合来调用不同的应用程序(例如礼品卡或信用卡,信用卡或借记卡等)。
针对这些平台构建的应用程序通常运行在安全的环境中,因此需要满足PCI委员会、银行卡网络以及收单银行的所有安全需求。
然而尽管这些安全需求对保护敏感的客户支付卡信息来说是必不可少的,但实现起来需要付出一定的代价。
正如上文所述,每个支付终端必须获得不同监管机构与金融组织的各种严格认证,随后才能部署到商家店铺内处理交易。这些认证包括俗称的L1认证(接触式和非接触式,硬件和通信层认证)、L2认证(接触式EMVCo认证,以及不同支付网络的非接触式认证),同样重要的还有运行了支付应用程序的终端需要集成到的每个收单银行/处理银行所要求的认证。这些认证过程需要通过额外的测试工具(相当昂贵)运行并评估支付网络所定义的所有测试案例,随后才能提交并等待必要的批准。
面对这些挑战,考虑到我们的目标是促进更简单的集成和集成式体验,我们的方法首先会将硬件和软件组件拆分为多个抽象层,并根据集成方面的需求将相关功能以API的形式暴露。
这一过程中我们建立了一些核心的基本原则:
按照这些原则,我们定义了下列核心服务来抽象必要的功能:
为了从实现以及集成的角度展示这些组件的配合方式,我们将以Poynt智能终端上进行的一次端到端支付交易流程为例进行介绍。
在终端上,每次交易始于商户经营业务所用的应用程序。下列流程示意图展示了Poynt智能终端上处理交易时的所有步骤和阶段。红色高亮显示的内容代表相应服务提供的功能API。
虽然整个过程看似十分冗长,但尤其需要注意下列几个重点:
这种以API为先的方法对任何公司或产品来说都有一定的必要性,借此可以更好地专注于系统和(内部与外部的)应用程序相互集成和互操作的方法,进而推动整个平台获得更大的成功。
Praveen Alavilli是Poynt的资深创始工程师,一举促成了Poynt智能终端及其开放式商务平台的技术基础,并通过努力让该平台面向支付技术的未来做好了准备。在加入Poynt之前,Alavilli曾在PayPal、eBay、Amazon和AOL等支付、身份、身份验证和安全领域的不同公司担任架构师和技术主管职位。Alavilli长期拥护开放式标准和开放的开发者生态系统。
作者:Praveen Alavilli,阅读英文原文:An "Integration-First" Approach to Building a Commerce Platform for Payment Terminals