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

このリファレンスでは、ウェブ アプリケーションで 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 ` ` などの汎用フロー コンテンツ コンテナに含まれる HTML <button><div>

例外

タイプ 説明
Error

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

isReadyToPay(isReadyToPayRequest)

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

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

PaymentsClient が environment プロパティ 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)

このメソッドは、後のユーザー インタラクションで loadPaymentData の実行時間を短縮するために、PaymentDataRequest の構成をプリフェッチする場合に使用します。値は返しません。

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

引数

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

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

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

onPaymentAuthorized(paymentData)

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

引数

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

戻り値

タイプ 説明
Promise

解決済み: 支払い取引の結果に関する情報を含むオブジェクト。 詳しくは、 PaymentAuthorizationResult をご覧ください。

拒否: エラー インテントと 支払いシートに表示されるメッセージを含むエラー オブジェクト。詳しくは、 PaymentDataError をご覧ください。

onPaymentDataChanged(intermediatePaymentData)

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

引数

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

戻り値

タイプ 説明
Promise

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

拒否: エラー インテントと 支払いシートに表示されるメッセージを含むエラー オブジェクト。詳しくは、 PaymentDataError をご覧ください。