Transaction Events API

このガイドでは、デベロッパーが Google Pay の取引情報を Google に通知する方法について説明します。ユーザーが Google Pay の取引を確定すると、Transaction Events API から支払いと注文に関連するイベントが Google に通知されます。Transaction Events API を使用すると、情報に基づいてリスク判断を事前に行い、販売者のリスクチェックを補うことができます。

必要な API の変更

API のコールバックを構成するには、次の操作を行います。

  1. PaymentDataRequesttransactionInfo.transactionId フィールドに値を入力します。

    この取引に一意の ID を作成する必要があります。この取引を表す場合は、既存の ID を使用することをおすすめします。使用可能な ID がない場合は、Google Pay の取引に固有の ID を生成してシステムに保存できます。

  2. 汎用的な Google アカウントを作成します。

    このアカウントを社内チームや Google と共有して、Google の許可リストに追加します。このプロセスについて不明な点をアカウント マネージャーに確認することはできますが、アカウントの作成を依頼することはできません。アカウント マネージャーにはこの Google アカウントへのアクセスを許可しないでください。

  3. Google Cloud プロジェクトを作成します。

    デベロッパーの Google アカウントへのアクセスが許可されたら、オペレータはそのアカウントでログインして、Google Cloud Console を使用する必要があります。デベロッパーは、この統合用のプロジェクトを作成する必要があります。このプロジェクトの作成に使用した Google アカウントで別のプロジェクトを作成しないでください。

  4. 新しい Cloud 請求先アカウントを作成するか、プロジェクトで課金が有効になっていることを確認します
  5. VGW API を使用して Transaction Events API を有効にします。

    Transaction Events API は VGW API の下で機能します。必要なエンドポイントへのアクセス権を取得するには、プロジェクトで VGW API を有効にする必要があります。これを行うには、Google Cloud Platform で Cloud Shell を有効にし、コマンドラインで次のコマンドを実行します。

    gcloud services enable vgw.googleapis.com
    
  6. プロジェクトで、サービス アカウントを作成して登録します。

    サービス アカウントを作成して、そのアカウントに関連付けたメールアドレスを Google の連絡先に通知します。これにより、サービス アカウントが販売者プロフィールにリンクされます。サービス アカウントが許可リストに追加されるまでに 1 営業日ほどかかります。

  7. サービス アカウントのアクセス権が付与されたら、次の手順で承認済み API を呼び出します

    1. Transaction Events API に対する以降のリクエストでは有効期間の短いトークンを使用します。

      入力ファイルとして、サービス アカウントで作成した JSON 形式の秘密鍵を渡します。スコープは次のとおりです。

      https://www.googleapis.com/auth/facilitated.transaction.event.service
    2. イベント通知のリクエスト本文を作成します。

      AuthorizationSucceededAuthorizationDeclined など、9 つのイベントタイプがあります。関連するイベント通知のリクエストを作成します。

    3. 取引のイベント通知を送信します。手順は次のとおりです。

      1. 次のような HTTP リクエストを送信します。
        https://billpaynotification.googleapis.com/secure-serving/gsp/v2/facilitatedTransaction/eventNotification/{merchant_id}
        
      2. 次のように、ヘッダーで OAuth トークンを渡します。

        Authorization: Bearer {token}

      3. リクエストの merchant_idGoogle Pay's Business Console の販売者 ID の値と一致していることを確認します。

    リクエストが次の条件を満たしていることを確認します。

    • 各リクエストに固有の requestId がある。
    • requestTimestamp が現在時刻から前後 60 秒までの時間になっている。

    • ヘッダーの merchantIdGoogle Pay's Business Console の販売者 ID の値と一致している。
    • リクエストのメジャー バージョンが「2」になっている。これは URL の「v2」に対応している。
    • transactionId が、PaymentDataRequest で送信した transactionInfo.transactionId と一致している。