概览
汇款是指将资金从一方转到另一方的情况。例如,从付款集成商的银行向 Google 的银行汇出的款项。下图说明了这种情况是如何发生的。
该流程的运作方式
下图展示了汇款流程的一个示例。
向 Google 汇款付款集成商
下面列出了此图中使用的对象:
- Google 服务器:在 Google 上执行身份验证检查以及其他身份验证任务的后端服务器。
- 付款集成商:向客户提供付款方式的公司。
- 付款集成商银行:集成商用于金融交易的发卡银行。
- Google 银行:Google 在交易中使用的银行。
上述汇款流程从 Google 的服务器开始。
- 在 T+N 天,Google 会发送汇款对帐单通知 (
remittanceStatementNotification
)。 - 付款集成商通知 Google 服务器,告知其已成功收到汇款对账单通知。
- 付款集成商还会发送汇款对帐单 (
remittanceStatementDetails
) 的详细信息。 - Google 的服务器返回该语句以及 transactionDetails。
- 付款集成商对详情进行对帐。
- 付款集成商向 Google 服务器发送一条消息 (
acceptRemittanceStatement
),表示已被接受。 - 付款集成商还会发送一条消息,指出付款集成商银行应将资金汇款至 Google 银行。
- 付款集成商的银行将资金转入 Google 银行。
最佳实践和其他注意事项
计时
付款条件在合同中有规定,通常以 T+N 表示。T 是汇款对账单的生成频率和每张对账单涵盖的期限长度。在以下示例中,T 表示一个交易日。N 是指汇款对账单在交易期过后的天数。
如果 N 配置为 2,且某笔交易在周二结算时区的 23:59:59.999 进行统计,则该交易会显示在周四的对账单中。
净负或零语句
如果结算周期内没有交易,则系统不会发送汇款对账单通知。此外,如果结算周期内的退款导致账单金额为净负,则也不会发送汇款对账单。不过,这些交易会计入下一张净正账单,针对该账单发送汇款对账单通知。如果特定结算周期的交易净额为 0,系统会发送汇款对账单通知。
边界
以下是一些包含不同边界的示例。事务边界是指事务开始或提交的时间。请注意,计算时间戳是指 Google 对相应交易进行核算的时间。汇款对账单的边界从 00:00:00.000 开始,到 23:59:59.000 结束。
边界内的交易
事件 | |
---|---|
拍摄 | requestHeader.requestId
001 requestHeader.requestTimestamp 01/01/2017 23:26:32.253 responseHeader.responseTimestamp 01/01/2017 23:26:34.248 accounting:71/2016 时间戳/201/8 |
RemittanceStatementNotification | requestHeader.requestTimestamp
01/03/2017 03:17:18.132 billingPeriod.startDate 01/01/2017 00:00:00.000 billingPeriod.endDate 01/01/2017 2017 59.99 59.99: |
事务跨越边界
以下某个快照的所有时间戳均为 2017 年 1 月 1 日,但系统直到 2017 年 1 月 2 日才将其统计在内。
事件 | |
---|---|
拍摄 | requestHeader.requestId
001 requestHeader.requestTimestamp 01/01/2017 23:26:32.253 responseHeader.responseTimestamp 01/01/2017 23:26:34.248 accounting:71/2016 时间戳/201/8 |
拍摄 | requestHeader.requestId
002 requestHeader.requestTimestamp 01/01/2017 23:59:58.253 responseHeader.responseTimestamp 01/01/2017 23:59:59.879 accounting timestamp02/20:00 |
RemittanceStatementNotification | requestHeader.requestTimestamp
01/03/2017 03:17:18.132 billingPeriod.startDate 01/01/2017 00:00:00.000 billingPeriod.endDate 01/01/2017 59.99 仅包含 59.99 |
RemittanceStatementNotification | requestHeader.requestTimestamp
01/03/2017 00:27:34.321 billingPeriod.startDate 01/02/2017 00:00:00.000 billingPeriod.endDate 01/02/2017 2017 59.99 59.99: 由于 002 计算的是 2017 年 1 月 2 日,而不是 2017 年 1 月 1 日。 |
协调
在某些情况下,Google 发送汇款对账单的时间可能会晚于您的预期。例如,如果 Google 遇到一个将汇款对账单通知延迟一天的错误。
如果集成商在结算周期内仍有通过 remittanceStatementDetails
方法返回的交易,集成商应立即通知 Google 相应差异。另一种可能性是,存在集成商期望交易但未返回的交易。差异解决后,Google 可能会发送新的汇款对账单,其中包含新的 ID。
汇款对账单接受
一旦集成商调用 acceptRemittanceStatement
方法,就表示集成商接受了声明。
对账单在接受后,应按照合同中规定的 NET 条款支付。争议应在集成商和客户经理之间手动处理。
付款
汇款对账单提供了有关待付金额的必要详细信息。每份对账单必须全额付清。如果存在差异,集成商必须与其客户经理联系来处理争议。此类情况可能会导致无法全额支付对账单。
精确率
每项费用都会按照 ISO 4217 标准中针对相应币种指定的小单位数量所定义的精度进行计算。例如,INR 和 USD 将使用 2 位数的次要单位,而 JPY 将使用 0 位数的次要单位。
如果需要更多小数位来表示费用,Google 会四舍五入为最接近的次要单位,平分值则会四舍五入为最接近的次要单位。例如,使用印度卢比的 2 位数次要单位:
计算出的费用 | 舍入费用 |
---|---|
0.013 | 0.01 |
0.015 | 0.02 |
0.025 | 0.02 |
-0.013 | -0.01 |
-0.025 | -0.02 |
这种四舍五入将针对每笔交易进行,而不是在对账单中汇总。