Google Standard Payments:

重定向 FOP

概览

Google 标准付款支持基于重定向的付款方式 (FOP)。借助重定向 FOP,Google 产品或服务的用户可通过外部实体的网页界面为这些产品或服务付款。概括来讲,想要付款的用户最初会被重定向到付款集成商或付款集成商提供的发卡机构。如果用户被重定向到集成商,集成商应将用户转到发行方的网页界面来完成购买交易。付款完成后,系统应通过集成商将用户重定向回 Google。

Google 使用两种主要流程来完成重定向型 FOP 付款:

  1. 发起重定向:可通过两个不同的流程发起重定向付款。付款集成商应仅实现以下选项之一:
    • 开始重定向流程:通过将用户重定向至付款集成商来启动付款。
    • 生成重定向付款网址流程:Google 通过向付款集成商发送服务器到服务器请求来生成重定向付款网址,以启动付款。Google 会根据响应将用户直接重定向到发卡机构。
  2. 完成重定向流程:用户完成购买后,集成商会使用该流程向 Google 确认付款。

最后,集成商的银行和 Google 的银行之间的所有资金转移都是在汇款流程中完成的。

重定向 FOP 概览

下图大致展示了这些流程:

重定向 FOP 概览图

概括来讲,将您的服务作为 Google 产品的付款方式添加涉及以下流程:

  1. 启动重定向:
  2. 完成重定向流程
  3. 退款流程
  4. 汇款流程

概念与术语

"时-成功。

符号与惯例

本文档中的“必须”“不得”“必需”“会”“不会”“应”“不应”“建议”“可以”和“非强制”等关键字应按 RFC 2119 中的说明进行解释。

时间戳

所有时间戳均以自世界协调时间 (UTC) 的 Unix 纪元(1970 年 1 月 1 日)起的毫秒数表示。

例如:

  • 2019 年 4 月 23 日晚上 8:23:25 (GMT) = 1556051005000 毫秒
  • 2018 年 8 月 16 日中午 12:28:35 (GMT) = 1534422515000 毫秒

金额

此 API 中的货币值采用 Google 的一项标准“micros”格式。微单位是一种基于整数的固定精度格式。如需以微单位表示货币价值,请用标准货币价值乘以 1,000,000。

例如:

  • 1.23 美元 = 1230000 微美元
  • 0.01 美元 = 10000 微美元

幂等性

此 API 中的所有方法调用都必须具有幂等行为。Google 会不定期地重试请求,以确保事务在两端都处于相同的状态。集成商不应尝试重新处理任何已经成功处理的请求。应改为报告处理成功后的响应。所有方法都有一个包含 requestId 的通用 RequestHeader。此 requestId 是所有调用的幂等键。

任何非终端响应(非 HTTP 200 成功)都不得以幂等方式处理。因此,之前获得 400(错误请求/失败前提条件)的请求在被再次调用时,不得以幂等的方式返回 400,因此必须重新评估该请求。在重新评估时,它可能会返回 400 或得到成功处理。

如需详细了解幂等性,请参阅此详细指南

集成商

使用 Google 付款平台开展业务的公司。组织可以是内部 (1P) 企业,例如 YouTube 或 AdWords,也可以是希望集成其服务以与 Google 生态系统集成的外部 (3P) 企业。

付款方式

付款方式。这比乐器更笼统。Visa、MasterCard 和 PayPal 都是 FOP。

票据

特定客户使用某种付款方式的具体实例。例如,用户的信用卡或 PayPal 帐号。特定客户的令牌化 FOP 也是一种付款方式,因为它是该客户的一种付款方式,安全地存储在我们的系统中。

令牌

Google 系统中的表示特定用户的付款方式。代币包含进行购买交易所需的所有信息,因此也是一种付款方式。其中可能包括用户在其集成商处拥有的帐号等信息。

主要流程

开始重定向流程

重定向付款的第一步是开始重定向流程。“开始重定向”流程的目的是通过集成商将用户重定向到所选发卡机构的网页界面,以便用户可以授权付款。重定向后,Google 会向集成商提供基本交易信息,集成商再将其转发给发行商。

如需了解详情,请参阅开始重定向流程部分。

完成重定向流程

用户进入发卡机构的网页界面后,应执行完成付款的所有必要步骤(这些步骤可能会因发卡机构而异)。作为完整重定向流程的一部分,发卡机构应将用户重定向回集成商,并提供付款成功的相关信息。集成商进而会将用户重定向回 Google,并在重定向响应中提供付款信息。确认付款后,Google 将向用户提供购买的商品或服务。

如需了解详情,请参阅完成重定向流程部分。