现金 FOP

概览

Google Standard Payments 支持在便利店购物(如 7-Eleven 购物)等现金 FOP(付款方式)。概括来讲,要为商品付款的用户会通过付款集成商生成参考号。然后,用户带着此参考号前往便利店、自助服务终端或银行,并支付该参考号。

<ph type="x-smartling-placeholder">
</ph> 添加付款信息
1) 用户添加付款方式
<ph type="x-smartling-placeholder">
</ph> 选择付款地点
2) 然后,选择付款方式
<ph type="x-smartling-placeholder">
</ph> 付款说明
3) 最后,他们会获得付款说明

概念与术语

符号和惯例

关键字“必须”“不得”“必需”“会”“不会”,“应该”“不应”“推荐”“可以”和“OPTIONAL”RFC 2119 中解释这些文档。

时间戳

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

例如:

  • 2019 年 4 月 23 日晚上 8:23:25(格林尼治标准时间 = 1556051005000 毫秒)
  • 格林尼治标准时间 2018 年 8 月 16 日下午 12:28:35 = 1534422515000 毫秒

金额

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

例如:

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

幂等性

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

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

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

集成商

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

付款方式

付款方式。这比乐器更通用。Visa、MasterCard 和 PayPal 均为付款方式。

乐器

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

令牌

在 Google 系统中,表示特定用户的付款方式。令牌包含购买所需的全部信息,因此也是一种付款方式。这可能包括用户在集成商处拥有的账号等信息。

主要流程

Google 使用两个关键流程来创建和支付这些参考号:

  1. 生成参考号流程。
  2. 付款参考号流程。

之后,最终购买交易产生的对账和结算由汇款流程处理。

下图展示了其中的每个流程。

现金付款方式概览

现金付款方式简要概览

以下部分更详细地介绍了前两个流。如果您想详细了解汇款流程,请参阅汇款流程页面。

生成参考号

生成参考号流程的目的在于创建并交换一个标识符(参考号),供 Google 和集成商用于识别购买交易。用户随后便可在便利店、自助服务终端或银行使用该参考号来完成购买交易。此标识符由集成商应 Google 的请求调用 generateReferenceNumber 方法来生成。生成参考号的请求包括金额和交易说明。

下图说明了系统如何生成参考编号并将其连同说明发送给客户。

生成参考号流程

现金生成参考编号

下面列出了这些对象及其所代表的含义:

  • 用户:想要使用此付款方式付款的人。
  • Google 界面:这是用户进行购买的界面。他们可能是通过网络,也可能是通过应用。
  • Google 服务器:Google 的后端服务器,用于请求生成参考号并为用户创建付款说明。
  • 付款集成商服务器:付款集成商的后端服务器,负责跟踪付款明细并生成参考号。

此流程从想要使用此现金付款方式的用户开始。

  1. 用户访问 Google 界面,该界面会发送参考编号请求。
  2. Google 界面会向 Google 服务器发送消息,告知服务器需要参考编号 (getReferenceNumber)。
  3. Google 服务器要求付款集成商服务器生成参考号 (generateReferenceNumber)。
  4. 付款集成商服务器会生成参考号并将其发送给 Google 服务器。
  5. Google 服务器会创建付款说明以及参考号。然后,它会将这些信息发送到 Google 界面。
  6. Google 界面将这些说明和参考编号发送给用户。

参考编号备注

参考号只能支付一次,并且可以通过取消参考号流程将其取消。此外,参考号必须是字母数字,且必须支持多种显示格式。

除了显示参考编号外,Google 界面还可以选择以 Code 128 格式(条形码格式)表示参考编号。其他条形码格式可应要求支持。

付款参考号

用户可以在便利店、自助服务终端或银行使用该参考号,以标识用户想要付款的购买交易。集成商应在付款前让用户确认购买交易的金额、日期和交易说明。

用户选择付款后,必须全额付款,且只需支付一次。此 API 不支持对单个参考号进行超额付款或付款不足。系统也不支持向同一参考号进行多次付款。

用户付款后,集成商必须立即通知 Google 此参考号已通过 referenceNumberPaidNotification 方法付款。通过在用户实际付款几秒内调用此方法,集成商可让用户快速收到商品。(如果网络出现故障,可以将此调用添加到队列中。)

付款后,参考号和金额将包含在 T+2 天发送的汇款对账单中。

以下序列图说明了参考号的支付。

付款参考号流程

付款参考号流程

图中的对象表示以下内容:

  • 用户:想要使用此付款方式付款的人。
  • 便利店:用户使用提供的参考号和说明进行付款的地点,如便利店。
  • 付款集成商服务器:付款集成商跟踪付款明细的后端服务器。
  • Google 服务器:Google 的后端服务器,用于请求生成参考号并为用户创建付款说明。

该流程从用户前往便利店,根据提供的说明进行付款开始。

  1. 用户前往便利店进行付款。
  2. 交易完成后,便利店会通知付款集成商付款。
  3. 付款集成商服务器向便利店发送成功消息。
  4. 便利店为用户表明交易成功,商品很快就会送达用户手中。
  5. 付款集成商服务器向 Google 服务器发送消息,指明参考号已支付 (referenceNumberPaidNotification)。此步骤不得阻止第 4 步。
  6. Google 服务器向支付集成商服务器返回一条成功消息。

取消参考号

Google 可以取消参考号。如果 Google 取消参考号,将调用 cancelReferenceNumber 方法。成功退回此通话后,支付该参考号就无效,集成商必须拒绝为此号码付款。此调用成功后,对 referenceNumberPaidNotification 的所有后续调用都将失败。

如果付款流程已经开始(例如,如果用户在自助服务终端中输入了参考号但尚未付款,集成商应返回 HTTP 423 响应代码,ErrorResponse 中包含 USER_ACTION_IN_PROGRESS)。

下一页:汇款流程