クライアント リファレンス

このリファレンスでは、ウェブ アプリケーションに Google Pay API を実装するために使用する JavaScript クライアント メソッドについて説明します。

コンストラクタ

PaymentsClient オブジェクトを初期化します。メンバー メソッドを呼び出す前に、このコンストラクタを呼び出す必要があります。

new PaymentsClient(paymentOptions)

引数

プロパティ 説明
paymentOptions

Google Pay API 構成データの Key-Value ペアを含むオブジェクト。構成可能なさまざまなプロパティについては、PaymentOptions をご覧ください。

例: {environment:'PRODUCTION'}

戻り値

タイプ 説明
google.payments.api.PaymentsClient PaymentsClient オブジェクト。

例外

タイプ 説明
Error

渡された環境プロパティの値はサポートされていません。

オブジェクト メソッド

createButton(options)

この便利なメソッドは、最新の Google Pay のブランド設定に沿った Google Pay の支払いボタンを生成し、ウェブページに挿入するために使用されます。

生成された HTMLElement には、動的に挿入された CSS と、Google の CDN でホストされている SVG 画像が含まれています。

サイトのデザインに適したボタンの色とボタンの種類を選択する方法については、ブランド ガイドラインをご覧ください。ページ上の同様のボタンや購入手続き要素に合わせて、ボタンのサイズを変更する必要がある場合があります。ボタンをカスタマイズするツールを使用して、ユースケースに合わせてボタンを構成します。

引数

名前 説明
options

ボタン構成の Key-Value ペアを含むオブジェクト。 構成可能なプロパティについては、ButtonOptions をご覧ください。

例: {onClick:onGooglePaymentButtonClicked}

戻り値

タイプ 説明
HTMLElement <div> などの汎用フロー コンテンツ コンテナ内の HTML <button>。

例外

タイプ 説明
Error

必須プロパティが設定されていません。

isReadyToPay(isReadyToPayRequest)

isReadyToPay(isReadyToPayRequest) メソッドを使用して、ユーザーが Google Pay API からお支払い方法を返せるかどうかを判断します。

ブラウザが Google Pay をサポートしている場合、isReadyToPay は true を返します。ユーザーが Google アカウントにログインしているかどうか、または Google Pay に支払い方法をすでに保存しているかどうかを判断するには、IsReadyToPayRequest.existingPaymentMethodRequired を true に設定し、解決された Promise で paymentMethodPresent が true を返すことを確認します。詳しくは、IsReadyToPayResponse をご覧ください。

PaymentsClient が TEST の環境プロパティで初期化されている場合、paymentMethodPresent は常に true を返します。

引数

名前 説明
isReadyToPayRequest 販売者がサポートするお支払い方法を含むオブジェクト。構成可能なさまざまなプロパティの詳細については、IsReadyToPayRequest をご覧ください。

戻り値

タイプ 説明
Promise

解決済み: ユーザーの支払い能力に関する情報を含むオブジェクト。詳細については、IsReadyToPayResponse をご覧ください。

拒否: 拒否の理由に関する詳細情報を含むエラー オブジェクト。詳細については、PaymentsError をご覧ください。

エラー

statusCode 説明
DEVELOPER_ERROR
  • 渡された IsReadyToPayRequest オブジェクトの形式が正しくないか、ユーザーが支払い可能かどうかを判断するために必要な最小限のパラメータが不足しているか、無効なパラメータや値が含まれています。
  • リクエストは、決済エージェントまたはブラウザが処理しないことを選択したセキュリティ コンテキストから開始されました。最も一般的なのは、安全でないブラウザ コンテキストのエラーです。

loadPaymentData(paymentDataRequest)

このメソッドは、お支払い方法と、必要に応じて構成されたパラメータを選択できる Google Pay 支払いシートを表示します。

このメソッドは、ブラウザがクリック イベントの結果としてアクティベーション動作を処理している間に呼び出す必要があります。渡されたリクエスト パラメータで指定されたお支払い方法やその他の必要なデータを選択するためのポップアップ ウィンドウがユーザーに表示されることがあります。

引数

名前 説明
paymentDataRequest Google Pay API の完全な構成の Key-Value ペアを含むオブジェクト。 構成可能なプロパティについては、PaymentDataRequest をご覧ください。

戻り値

タイプ 説明
Promise

解決済み: リクエストされた買い物客データを含むオブジェクト。詳しくは、PaymentData をご覧ください。

不承認: エラーコードと不承認の理由に関する詳細情報を含むオブジェクト。詳細については、PaymentsError をご覧ください。

エラー

statusCode 説明
CANCELED
  • 現在のブラウザまたはログインしている Google ユーザーはサポートされていません。
  • 購入者が支払い承認を行わずに Google Pay 支払いシートを閉じました。
  • リクエストは、決済エージェントまたはブラウザが処理しないことを選択したセキュリティ コンテキストから開始されました。最も一般的なのは、安全でないブラウザ コンテキストです。
  • Google Pay 支払いシートがすでに表示されているときに、このメソッドが呼び出されました。
  • 渡された PaymentDataRequest オブジェクトが Google Pay のお支払いシートで拒否されました。一般的な原因は、ゲートウェイの PaymentMethodTokenizationSpecification パラメータが欠落しているか不完全である、またはパラメータ値が無効であることです。
DEVELOPER_ERROR 渡された PaymentDataRequest オブジェクトの形式が正しくないか、必須のパラメータが指定されていないか、無効なパラメータまたは値が含まれています。

prefetchPaymentData(paymentDataRequest)

このメソッドを使用して PaymentDataRequest 構成をプリフェッチすると、その後のユーザー操作での loadPaymentData の実行時間を短縮できます。値は返されません。

プリフェッチの最適化は、Android 版 Chrome で利用できます。

引数

名前 説明
paymentDataRequest Google Pay API の完全な構成の Key-Value ペアを含むオブジェクト。 構成可能なプロパティについては、PaymentDataRequest をご覧ください。transactionInfo プロパティを変更しても、キャッシュに保存されたプリフェッチ値には影響しません。

支払いデータのコールバック

次のコールバック ハンドラを PaymentOptions.paymentDataCallbacks に渡して、お支払いの承認と動的料金設定の更新をサポートできます。

onPaymentAuthorized(paymentData)

このメソッドは、支払いシートで支払いが承認されると呼び出されます。

引数

名前 説明
paymentData リクエストされた買い物客データを含むオブジェクト。詳細については、PaymentData をご覧ください。

戻り値

タイプ 説明
Promise

Resolved: 支払い取引の結果に関する情報を含むオブジェクト。 詳細については、PaymentAuthorizationResult をご覧ください。

拒否: 支払いシートにレンダリングされるエラー インテントとメッセージを含むエラー オブジェクト。詳細については、PaymentDataError をご覧ください。

onPaymentDataChanged(intermediatePaymentData)

このメソッドは、配送先住所や配送オプションなど、支払いシートでのお支払いデータの変更を処理します。

引数

こんにちは
名前 説明
intermediatePaymentData 支払いシートで選択された住所と配送オプションを含むオブジェクト。詳細については、IntermediatePaymentData をご覧ください。

戻り値

タイプ 説明
Promise

解決済み: 新しい取引情報、配送オプション、支払いデータエラーに関する情報を含むオブジェクト。詳細については、PaymentDataRequestUpdate をご覧ください。

拒否: 支払いシートにレンダリングされるエラー インテントとメッセージを含むエラー オブジェクト。詳細については、PaymentDataError をご覧ください。