送金フロー

概要

送金とは、一方の当事者から別の当事者にお金を送金することです。たとえば、決済インテグレータの銀行から Google の銀行に送金する場合などです。次の図は、この仕組みを示しています。

フローの仕組み

次の図は、送金フローの仕組みの一例を示しています。

Google への送金決済インテグレーター

Google の送金決済インテグレーター

この図で使用されているオブジェクトのリストを次に示します。

  • Google サーバー: 認証チェックとその他の認証タスクを行う Google のバックエンド サーバー。
  • 決済インテグレーター: 顧客に支払い方法を提供する会社。
  • 決済インテグレータ銀行: インテグレータが金融取引に使用する発行銀行。
  • Google Bank: Google が取引に使用する銀行。

上記の送金フローは Google のサーバーで始まります。

  1. T+N 日に、Google は送金明細書の通知(remittanceStatementNotification)を送信します。
  2. 決済インテグレータは、送金明細書の通知を正常に受信したことを Google サーバーに通知します。
  3. 決済インテグレータは送金明細書の詳細(remittanceStatementDetails)も送信します。
  4. Google のサーバーは、transactionDetails とともにこの文を返します。
  5. 決済インテグレータが詳細を調整します。
  6. 決済インテグレータは、明細書が承認されたことを示すメッセージ(acceptRemittanceStatement)を Google サーバーに送信します。
  7. また、決済インテグレータは、決済インテグレータ銀行が Google 銀行に資金を送金する必要があるというメッセージを送信します。
  8. 決済インテグレータの銀行は、Google 銀行に資金を送金します。

ベスト プラクティスとその他の考慮事項

タイミング

支払い条件は契約に記載されており、通常は T+N の形式で表現されます。T は、送金明細書が生成される頻度と、各明細書がカバーする期間です。次の例では、T は 1 取引日です。N は、取引期間から送金明細書が届くまでの日数です。

N が 2 に設定されていて、請求のタイムゾーンで火曜日の 23:59:59.999 に計上されたトランザクションは、木曜日の明細書に表示されます。

正味の否定的またはゼロ宣言

請求対象期間内に取引がない日については、送金明細書の通知は送信されません。また、請求対象期間中に払い戻しが請求額の正味マイナスになった場合、送金明細も送信されません。ただし、これらの取引は次回の正味プラスの請求書に組み込まれ、送金明細書の通知が送信されます。特定の請求対象期間の取引金額が 0 になった場合は、送金明細書の通知が送信されます。

境界

さまざまな境界の例を以下に示します。トランザクション境界は、トランザクションが開始または commit されるタイミングです。会計時のタイムスタンプは、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


27:27:27/01/01
RemittanceStatementNotification requestHeader.requestTimestamp
01/03/2017 03:17:18.132


billingPeriod.startDate
01/01/2017 00:00:00.000

billingPeriod.endDate
上記 01/01/2017 23.99:59 の通知を含みます。

トランザクションのスパン境界

以下のキャプチャの 1 つには、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


27:27:27/01/01
キャプチャ requestHeader.requestId
002

requestHeader.requestTimestamp
01/01/2017 23:59:58.253

responseHeader.responseTimestamp
01/01/2017 23:59:59.879

002:002/07/
01/
RemittanceStatementNotification requestHeader.requestTimestamp
01/03/2017 03:17:18.132

billingPeriod.startDate
01/01/2017 00:00:00.000

billingPeriod.endDate
01/01/2017 23.99:59 通知のみが含まれます。

RemittanceStatementNotification requestHeader.requestTimestamp
01/03/2017 00:27:34.321

billingPeriod.startDate
01/02/2017 00:00:00.000

billingPeriod.endDate
01/02/2017 29:99:59 通知を含みます

002 は 2017 年 1 月 1 日ではなく 01/02/2017 に計上されているため、

調整

場合によっては、想定よりも遅れて Google から送金明細書が送信されることがあります。たとえば、送金明細書の通知を 1 日遅れるバグが見つかった場合などです。

remittanceStatementDetails メソッドから返されたトランザクションが、インテグレータが請求対象期間内に返さなかった場合、インテグレータは不一致を直ちに Google に通知する必要があります。もう一つの可能性としては、インテグレータが想定しているのに返されていないトランザクションがある場合です。不一致が解決された場合、Google は新しい ID を記載した新しい送金明細書を送信することがあります。

送金明細書の受理

ステートメントは、インテグレータが acceptRemittanceStatement メソッドを呼び出すとインテグレータが受理したと言われます。

明細書は、受諾後、契約に定められた NET 条件の範囲内で支払われるものとします。異議申し立ては、インテグレータとアカウント マネージャーの間で手動で処理する必要があります。

お支払い

送金明細書には、お支払い金額に関する必要な情報が記載されています。各明細書の全額を支払う必要があります。不一致がある場合、インテグレータはアカウント マネージャーに連絡して、異議申し立てを処理する必要があります。そのような場合、明細書の全額が支払われないことがあります。

適合率

それぞれの料金は、その通貨の ISO 4217 規格で規定されている小単位の数として定義された精度で計算されます。たとえば、INR と USD では 2 桁のマイナー単位を使用し、JPY では 0 桁のマイナー単位を使用します。

小数点以下の桁数が必要な場合、Google は最も近い小数単位に四捨五入します。同じ場合は最も近い小数単位に丸めます。たとえば、INR の 2 桁のマイナー単位を使用すると、次のようになります。

計算された手数料 四捨五入された料金
0.013 0.01
0.015 0.02
0.025 0.02
-0.013 -0.01
-0.025 -0.02

この丸めは、ステートメントでの集計ではなく、トランザクションごとに行われます。