概要
Google Standard Payments は、コンビニエンス ストアでの購入(セブンイレブンなど)など、現金ベースの FOP(お支払い方法)に対応しています。大まかに言うと、商品の支払いを希望するユーザーは、決済インテグレータを通じて参照番号を生成します。ユーザーは、この参照番号をコンビニエンス ストア、キオスク、または銀行に持っていき、その参照番号を支払います。
<ph type="x-smartling-placeholder">![]() |
<ph type="x-smartling-placeholder">![]() |
<ph type="x-smartling-placeholder">![]() |
概念と用語
記号と規則
“しなければならない”というキーワードは禁止事項:「必須」「SHALL」"できません"「すべきです」「すべきでなければ」「推奨」「も構いません」および「省略可」RFC 2119 に記載されているとおりに解釈されます。
タイムスタンプ
すべてのタイムスタンプは、UTC の Unix エポック(1970 年 1 月 1 日)からのミリ秒数で表されます。
例:
- 2019 年 4 月 23 日午後 8:23:25 GMT = 1556051005000 ミリ秒
- 2018 年 8 月 16 日午後 12:28:35 GMT = 1534422515000 ミリ秒
金額
この API の金銭的価値は「micros」という形式です。Google の標準となっています。micros は整数ベースの固定精度形式です。金額をマイクロ秒単位で表すには、標準の通貨値に 1,000,000 を掛けます。
例:
- 1.23 米ドル = 1230,000 マイクロ米ドル
- 0.01 米ドル = 10,000 マイクロ米ドル
べき等性
この API 内のすべてのメソッド呼び出しは、べき等の動作を持つ必要があります。Google は、トランザクションが両側で同じ状態になるように、リクエストを何度も再試行します。インテグレータは、すでに正常に処理されたリクエストを再処理しようとしないでください。代わりに、成功した処理のレスポンスを返す必要があります。すべてのメソッドには、requestId を含む共通の RequestHeader
があります。この requestId は、すべての呼び出しのべき等性のキーです。
非ターミナル レスポンス(HTTP 200 成功以外)は、べき等に処理してはいけません。したがって、以前に 400(不正なリクエスト/失敗した前提条件)を取得したリクエストは、2 回目の呼び出されたときにべき等に 400 を返さないようにする必要があります。再評価する必要があります。再評価時に 400 が返されるか、正常に処理される可能性があります。
べき等性の詳細については、こちらの詳細ガイドをご覧ください。
インテグレータ
Google の支払いプラットフォームをビジネスで使用している会社。YouTube や AdWords などの社内(1P)企業の場合もあれば、Google のエコシステムと連携させるために自社のサービスを統合したいと考えている社外(3P)企業もあります。
FOP
お支払い方法。これは、楽器というよりも一般的なものです。Visa、MasterCard、PayPal はすべて FOP です。
楽器
特定の顧客による支払い方法の特定のインスタンス。(ユーザーのクレジット カード、PayPal アカウントなど)。特定の顧客のトークン化された FOP も支払い方法の一つになります。これは、その顧客のお支払い方法のインスタンスであり、Google のシステムに安全に保存されているからです。
トークン
Google のシステムにおける特定のユーザーの支払い方法の表現。トークンには購入に必要なすべての情報が含まれているため、トークンでもあります。これには、ユーザーがインテグレータから入手した口座番号などの情報が含まれることがあります。
主なフロー
Google では、次の 2 つのフローに沿って照会番号の作成と支払いを行っています。
- 照会番号の生成フロー。
- 照会番号へのお支払いのフロー。
その後、購入による調整と決済が送金フローで処理されます。
下の図は、これらの各フローを示しています。
Cash FOP の概要
最初の 2 つのフローについては、以降のセクションで詳しく説明します。送金フローについて詳しくは、送金フローのページをご覧ください。
参照番号を生成
参照番号生成フローの目的は、Google とインテグレータの両方が購入を識別するために使用できる識別子(参照番号)を作成して交換することです。お客様は、コンビニエンス ストア、キオスク、銀行でこの参照番号を使用して購入手続きを完了できます。この識別子は、Google のリクエストで generateReferenceNumber
メソッドを呼び出してインテグレータによって生成されます。参照番号の生成リクエストには、金額と取引の説明が含まれます。
次の図は、参照番号が生成されてお客様に送信される手順を示しています。
照会番号の生成フロー
以下に、オブジェクトとそれが表す内容の一覧を示します。
- ユーザー: このお支払い方法で支払いを希望しているユーザーです。
- Google UI: ユーザーが購入を行うインターフェースです。それはウェブやアプリなどを通じて行われます。
- Google サーバー: 照会番号の生成をリクエストし、ユーザー向けの支払い手順を作成する Google のバックエンド サーバー。
- 決済インテグレータ サーバー: 決済インテグレータのバックエンド サーバー。支払いの詳細を追跡し、照会番号を生成します。
このフローは、ユーザーがこの現金支払い方法の使用を希望するところから始まります。
- ユーザーが Google UI にアクセスすると、照会番号のリクエストを送信します。
- Google の UI から Google サーバーに、参照番号(
getReferenceNumber
)が必要であるというメッセージが送信されます。 - Google サーバーは、決済インテグレータ サーバーに照会番号(
generateReferenceNumber
)を生成するよう要求します。 - 決済インテグレータ サーバーが照会番号を生成して Google のサーバーに送信します。
- Google のサーバーが、照会番号と合わせてお支払い手順を作成します。その後、この情報を Google UI に送信します。
- Google UI は、これらの手順と参照番号をお客様に送信します。
参照番号に関する注意事項
参照番号のお支払いは 1 回のみで、参照番号のキャンセル フローでキャンセルできます。また、参照番号は英数字で、複数の表示フォーマットに対応している必要があります。
照会番号を表示するだけでなく、必要に応じて Google の UI に Code 128 形式(バーコード形式)で照会番号を表示することもできます。他のバーコード形式は、リクエストによってサポートできます。
お支払い照会番号
お客様は、コンビニエンス ストア、キオスク、または銀行でこの参照番号を使用して、支払いを行う購入を特定します。インテグレータは、支払い前に購入金額、購入日、取引説明を表示して、支払いを受けることをユーザーに確認してもらう必要があります。
ユーザーは、一度支払うことを選択した場合、全額を支払う必要があります。この API は、1 つの参照番号での過払いまたは過少支払いには対応していません。また、1 つの照会番号に対する複数のお支払いもサポートされていません。
ユーザーが支払いを行ったら、事業者は、この照会番号が referenceNumberPaidNotification
メソッドで支払われたことを直ちに Google に通知する必要があります。ユーザーが物理的に支払いを行ってから数秒以内にこのメソッドを呼び出すことで、インテグレータはユーザーが商品を迅速に受け取れるようにします。(ネットワークがダウンした場合は、この通話をキューに追加できます)。
お支払いが完了すると、T+2 日後に送られる送金明細書に参照番号と金額が記載されます。
以下は、照会番号の支払いを示すシーケンス図です。
照会番号の支払いフロー
この図のオブジェクトは次のものを表します。
- ユーザー: このお支払い方法で支払いを希望しているユーザーです。
- コンビニエンス ストア: ユーザーが照会番号と所定の手順で支払いを行う場所です(コンビニエンス ストアなど)。
- 決済インテグレータ サーバー: 支払いの詳細を管理する決済インテグレータのバックエンド サーバー。
- Google サーバー: 照会番号の生成をリクエストし、ユーザー向けの支払い手順を作成する Google のバックエンド サーバー。
このフローは、ユーザーがコンビニエンス ストアにアクセスし、指定された手順に沿って支払いを行うという流れから始まります。
- ユーザーがコンビニエンス ストアで支払いを行います。
- 取引が完了すると、コンビニエンス ストアから決済代行業者に支払いが通知されます。
- 決済インテグレータ サーバーがコンビニエンス ストアに成功メッセージを送信します。
- コンビニエンス ストアは取引が成功したことをユーザーに伝え、商品がまもなくユーザーに配送されます。
- 決済インテグレータ サーバーは、照会番号の支払いが行われたというメッセージを Google のサーバーに送信します(
referenceNumberPaidNotification
)。このステップでステップ 4 がブロックされないようにしてください。 - Google サーバーが、決済インテグレータ サーバーに成功のメッセージを返します。
参照番号をキャンセル
参照番号は Google によってキャンセルされることがあります。Google が参照番号をキャンセルすると、cancelReferenceNumber
メソッドが呼び出されます。この呼び出しが成功すると、その参照番号の支払いは無効になり、インテグレータはこの番号の支払いを拒否する必要があります。この呼び出しが成功すると、以降の referenceNumberPaidNotification
の呼び出しはすべて失敗します。
支払いプロセスがすでに開始されている場合(たとえば、ユーザーがキオスクに照会番号を入力してまだ支払いが完了していない場合)、インテグレータは HTTP 423 レスポンス コードと USER_ACTION_IN_PROGRESS
を含むエラーレスポンスを返す必要があります。
次へ: 送金フロー