W3C Web 支付 HTTP 规范工作草案发布

阅读数:807 2016 年 10 月 8 日

话题:语言 & 开发架构

2016 年 9 月 15 日,Web 支付工作组发布了Web 支付 HTTP API 1.0Web 支付 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)关注我们。