2016 年 9 月 15 日, Web 支付工作组发布了 Web 支付 HTTP API 1.0 和 Web 支付 HTTP 消息 1.0 的工作草案。该工作组希望得到大家对于这些早期草案的反馈。
Web 支付工作组致力于对 Web 支付的高层流程、API 和消息架构进行规范化。这些规范化工作的好处在其章程目标里做了阐述:
- 为用户提供更好的结算体验,尤其是移动端用户。这些标准应当能够促成一种可以提升用户体验的自动化方式。
- 简化支付流程,这有望降低未完成交易(“放弃购物车结算”)的放弃比例。
- 更容易采用支付工具的改进(比如跟安全性有关的)版本或新的支付工具。
- 通过机器可读的数字支付请求和响应增加价值。
工作组建议我们先从 Web 支付 API 草案开始,然后再研究 Web 支付消息草案。在该草案中,API 是 CRUD 风格的 Web API,消息是可以用任何模式语言表示的数据模型。示例中的消息所用的 JSON 格式仅仅是为了阐明问题。
下图是目前文档中描述的高层 Web 支付流程,它描述了一个拉动支付流程,但规范也支持推送支付。该流程主要有三个阶段:支付应用程序【1】注册,发起支付请求,生成支付响应。
支付中介 (payment mediator) 是个新概念,原来并不存在。从其名称可以看出,它会协调收款方、付款方和选定的支付应用程序之间的消息流。这个组件会对支付进行判断,根据其类型是拉动支付还是推送支付来智能地路由支付请求。它还会根据收款方所接受的支付方式选择付款方的支付应用程序。
很明显这个草案中有一些很有趣的困难要解决:
- HTTP 状态码 402 还未定义。
- 与错误响应的 HTTP 状态码相关的问题。除了目前已有的诸如 ACH、信用卡和密码货币等数字支付系统所引发的各种可能性之外,它还需要支持未来的数字支付方式。
- 风险矩阵。一些新引入的敏感操作包括:
- 为了注册支付应用程序,支付方的 HTTP 客户端要到支付服务提供方的网站上验证自己。
- 支付中介的动作。
译者注:
【1】按照工作草案的定义,支付 App 是指能接收支付请求并返回支付响应的组件。
查看英文原文: W3C Web Payments HTTP Specification Working Drafts Released
感谢夏雪对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论