概览
Google Standard Payments 支持在便利店购物(如 7-Eleven 购物)等现金 FOP(付款方式)。概括来讲,要为商品付款的用户会通过付款集成商生成参考号。然后,用户带着此参考号前往便利店、自助服务终端或银行,并支付该参考号。
<ph type="x-smartling-placeholder"> | <ph type="x-smartling-placeholder"> | <ph type="x-smartling-placeholder"> |
概念与术语
符号和惯例
关键字“必须”“不得”“必需”“会”“不会”,“应该”“不应”“推荐”“可以”和“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 使用两个关键流程来创建和支付这些参考号:
- 生成参考号流程。
- 付款参考号流程。
之后,最终购买交易产生的对账和结算由汇款流程处理。
下图展示了其中的每个流程。
现金付款方式概览
以下部分更详细地介绍了前两个流。如果您想详细了解汇款流程,请参阅汇款流程页面。
生成参考号
生成参考号流程的目的在于创建并交换一个标识符(参考号),供 Google 和集成商用于识别购买交易。用户随后便可在便利店、自助服务终端或银行使用该参考号来完成购买交易。此标识符由集成商应 Google 的请求调用 generateReferenceNumber
方法来生成。生成参考号的请求包括金额和交易说明。
下图说明了系统如何生成参考编号并将其连同说明发送给客户。
生成参考号流程
下面列出了这些对象及其所代表的含义:
- 用户:想要使用此付款方式付款的人。
- Google 界面:这是用户进行购买的界面。他们可能是通过网络,也可能是通过应用。
- Google 服务器:Google 的后端服务器,用于请求生成参考号并为用户创建付款说明。
- 付款集成商服务器:付款集成商的后端服务器,负责跟踪付款明细并生成参考号。
此流程从想要使用此现金付款方式的用户开始。
- 用户访问 Google 界面,该界面会发送参考编号请求。
- Google 界面会向 Google 服务器发送消息,告知服务器需要参考编号 (
getReferenceNumber
)。 - Google 服务器要求付款集成商服务器生成参考号 (
generateReferenceNumber
)。 - 付款集成商服务器会生成参考号并将其发送给 Google 服务器。
- Google 服务器会创建付款说明以及参考号。然后,它会将这些信息发送到 Google 界面。
- Google 界面将这些说明和参考编号发送给用户。
参考编号备注
参考号只能支付一次,并且可以通过取消参考号流程将其取消。此外,参考号必须是字母数字,且必须支持多种显示格式。
除了显示参考编号外,Google 界面还可以选择以 Code 128 格式(条形码格式)表示参考编号。其他条形码格式可应要求支持。
付款参考号
用户可以在便利店、自助服务终端或银行使用该参考号,以标识用户想要付款的购买交易。集成商应在付款前让用户确认购买交易的金额、日期和交易说明。
用户选择付款后,必须全额付款,且只需支付一次。此 API 不支持对单个参考号进行超额付款或付款不足。系统也不支持向同一参考号进行多次付款。
用户付款后,集成商必须立即通知 Google 此参考号已通过 referenceNumberPaidNotification
方法付款。通过在用户实际付款几秒内调用此方法,集成商可让用户快速收到商品。(如果网络出现故障,可以将此调用添加到队列中。)
付款后,参考号和金额将包含在 T+2 天发送的汇款对账单中。
以下序列图说明了参考号的支付。
付款参考号流程
图中的对象表示以下内容:
- 用户:想要使用此付款方式付款的人。
- 便利店:用户使用提供的参考号和说明进行付款的地点,如便利店。
- 付款集成商服务器:付款集成商跟踪付款明细的后端服务器。
- Google 服务器:Google 的后端服务器,用于请求生成参考号并为用户创建付款说明。
该流程从用户前往便利店,根据提供的说明进行付款开始。
- 用户前往便利店进行付款。
- 交易完成后,便利店会通知付款集成商付款。
- 付款集成商服务器向便利店发送成功消息。
- 便利店为用户表明交易成功,商品很快就会送达用户手中。
- 付款集成商服务器向 Google 服务器发送消息,指明参考号已支付 (
referenceNumberPaidNotification
)。此步骤不得阻止第 4 步。 - Google 服务器向支付集成商服务器返回一条成功消息。
取消参考号
Google 可以取消参考号。如果 Google 取消参考号,将调用 cancelReferenceNumber
方法。成功退回此通话后,支付该参考号就无效,集成商必须拒绝为此号码付款。此调用成功后,对 referenceNumberPaidNotification
的所有后续调用都将失败。
如果付款流程已经开始(例如,如果用户在自助服务终端中输入了参考号但尚未付款,集成商应返回 HTTP 423 响应代码,ErrorResponse 中包含 USER_ACTION_IN_PROGRESS
)。
下一页:汇款流程