现金 FOP

概览

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

添加付款方式
1) 用户添加付款方式
选择支付地点
2) 然后,他们会选择付款方式
付款说明
3) 最后,他们会看到付款说明

概念与术语

"时-成功。

符号与惯例

本文档中的“必须”“不得”“必需”“会”“不会”“应”“不应”“建议”“可以”和“非强制”等关键字应按 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 使用两个关键流程来创建和支付这些参考号:

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

之后,所产生购买交易的对帐和结算将由汇款流程处理。

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

现金 FOP 概览

现金 FOP 简要概览

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

生成参考号

生成参考编号流程的目的是创建并交换 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,告知 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

下一步:汇款流程