このガイドでは、デベロッパーが Google Pay の取引情報を Google に通知する方法について説明します。ユーザーが Google Pay の取引を確定すると、Transaction Events API から支払いと注文に関連するイベントが Google に通知されます。Transaction Events API を使用すると、情報に基づいてリスク判断を事前に行い、販売者のリスクチェックを補うことができます。
必要な API の変更
API のコールバックを構成するには、次の操作を行います。
- PaymentDataRequestの- transactionInfo.transactionIdフィールドに値を入力します。- この取引に一意の ID を作成する必要があります。この取引を表す場合は、既存の ID を使用することをおすすめします。使用可能な ID がない場合は、Google Pay の取引に固有の ID を生成してシステムに保存できます。 
- 汎用的な Google アカウントを作成します。 - このアカウントを社内チームや Google と共有して、Google の許可リストに追加します。このプロセスについて不明な点をアカウント マネージャーに確認することはできますが、アカウントの作成を依頼することはできません。アカウント マネージャーにはこの Google アカウントへのアクセスを許可しないでください。 
- Google Cloud プロジェクトを作成します。 - デベロッパーの Google アカウントへのアクセスが許可されたら、オペレータはそのアカウントでログインして、Google Cloud Console を使用する必要があります。デベロッパーは、この統合用のプロジェクトを作成する必要があります。このプロジェクトの作成に使用した Google アカウントで別のプロジェクトを作成しないでください。 
- 新しい Cloud 請求先アカウントを作成するか、プロジェクトで課金が有効になっていることを確認します。
- VGW API を使用して Transaction Events API を有効にします。 - Transaction Events API は VGW API の下で機能します。必要なエンドポイントへのアクセス権を取得するには、プロジェクトで VGW API を有効にする必要があります。これを行うには、Google Cloud Platform で Cloud Shell を有効にし、コマンドラインで次のコマンドを実行します。 - gcloud services enable vgw.googleapis.com 
- プロジェクトで、サービス アカウントを作成して登録します。 - サービス アカウントを作成して、そのアカウントに関連付けたメールアドレスを Google の連絡先に通知します。これにより、サービス アカウントが販売者プロフィールにリンクされます。サービス アカウントが許可リストに追加されるまでに 1 営業日ほどかかります。 
- 
      サービス アカウントのアクセス権が付与されたら、次の手順で承認済み API を呼び出します。 - 
            Transaction Events API に対する以降のリクエストでは有効期間の短いトークンを使用します。 入力ファイルとして、サービス アカウントで作成した JSON 形式の秘密鍵を渡します。スコープは次のとおりです。 https://www.googleapis.com/auth/facilitated.transaction.event.service 
- イベント通知のリクエスト本文を作成します。 - AuthorizationSucceededや- AuthorizationDeclinedなど、9 つのイベントタイプがあります。関連するイベント通知のリクエストを作成します。
- 
            取引のイベント通知を送信します。手順は次のとおりです。 - 次のような HTTP リクエストを送信します。https://billpaynotification.googleapis.com/secure-serving/gsp/v2/facilitatedTransaction/eventNotification/{merchant_id}
- 次のように、ヘッダーで OAuth トークンを渡します。 - Authorization: Bearer {token}
- リクエストの merchant_id が Google Pay's Business Console の販売者 ID の値と一致していることを確認します。
 
- 次のような HTTP リクエストを送信します。
 リクエストが次の条件を満たしていることを確認します。 - 各リクエストに固有の requestIdがある。
- requestTimestampが現在時刻から前後 60 秒までの時間になっている。
- ヘッダーの merchantIdが Google Pay's Business Console の販売者 ID の値と一致している。
- リクエストのメジャー バージョンが「2」になっている。これは URL の「v2」に対応している。
- transactionIdが、- PaymentDataRequestで送信した- transactionInfo.transactionIdと一致している。
 
-