com.google.android.gms.wallet のドキュメントには、Google Pay API の複数のバージョンにわたるライブラリの完全なドキュメントが記載されています。以下に、Google Pay API の最新バージョン(バージョン 2.0)に最も適したオブジェクトとメソッドの概要を示します。
ウォレット
テスト環境または本番環境用の PaymentsClient を生成します。
例
mPaymentsClient = Wallet.getPaymentsClient( this, new Wallet.WalletOptions.Builder() .setEnvironment(WalletConstants.ENVIRONMENT_TEST) .build() );
PaymentsClient
Google Pay API とやり取りするためのクライアント。
isReadyToPay(IsReadyToPayRequest)
isReadyToPay(IsReadyToPayRequest) メソッドを使用して、ユーザーが Google Pay API からお支払い方法を返すことができるかどうかを判断します。
デバイスが Google Pay をサポートしており、ユーザーがすでにお支払い方法を保存しているか、お支払い方法を追加できる場合、IsReadyToPay は true を返します。ユーザーがすでに Google Pay に支払い方法を保存しているかどうかを判断するには、IsReadyToPayRequest.existingPaymentMethodRequired を true に設定します。
loadPaymentData(PaymentDataRequest)
Google Pay の支払いシートを表示して、お支払い方法と、必要に応じて設定されたパラメータを選択できるようにします。
IsReadyToPayRequest
PaymentsClient.isReadyToPay() での使用に適した IsReadyToPayRequest Java オブジェクトをビルドします。
fromJson(java.lang.String)
JSON 形式の文字列から IsReadyToPayRequest Java オブジェクトを作成します。指定された JSON 形式の文字列の想定される構造については、IsReadyToPayRequest オブジェクト リファレンスをご覧ください。
PaymentDataRequest
PaymentsClient.loadPaymentData での使用に適した PaymentDataRequest Java オブジェクトをビルドします。
fromJson(java.lang.String)
JSON 形式の文字列から PaymentDataRequest Java オブジェクトを作成します。提供される JSON 形式の文字列の想定される構造については、PaymentDataRequest オブジェクト リファレンスをご覧ください。
PaymentData
アプリで使用する Google Pay API の JSON 形式のレスポンスを処理する。
toJson()
Google Pay API レスポンスを JSON 形式の文字列として出力します。JSON オブジェクトの構造について詳しくは、PaymentData オブジェクト リファレンスをご覧ください。
PayButton
public void initialize(ButtonOption buttonOptions)
この便利なメソッドは、最新の Google Pay のブランディングに沿ったスタイルの Google Pay 支払いボタンを初期化するために使用されます。
引数
| 名前 | 説明 |
|---|---|
buttonOptions |
Google Pay 支払いボタンを構成するオブジェクト。構成可能なプロパティについては、ButtonOptions をご覧ください。 |
例: カスタム構成で支払いボタンを初期化する
PayButton googlePayPaymentButton = layoutBinding.googlePayPaymentButton; JSONArray paymentMethods = new JSONArray().put(getBaseCardPaymentMethod()); googlePayPaymentButton.initialize( ButtonOptions.newBuilder() .setButtonTheme(ButtonConstants.ButtonTheme.DARK) .setButtonType(ButtonConstants.ButtonType.BUY) .setCornerRadius(100) .setAllowedPaymentMethods(paymentMethods.toString()) .build() );
public void setVisibility(View view)
このコンビニエンス メソッドは、支払いボタンの表示を設定します。
引数
| 名前 | 説明 |
|---|---|
View |
|
例:
payButton.setVisibility(View.VISIBLE);
public void setOnClickListener(View.OnClickListener listener)
ユーザーが Google Pay 支払いボタンをクリックすると、このメソッドが呼び出されます。
引数
| 名前 | 説明 |
|---|---|
listener |
クリック イベントが Google Pay の支払いボタンに配信されたときに呼び出すイベント リスナー コールバック。 |
BasePaymentDataCallbacksService
PaymentsClient.loadPaymentData(PaymentDataRequest) フロー内で Google Play 開発者サービスによって開始された支払いデータ コールバックをホストする基本サービス クラス。
アプリでこのサービスを拡張し、com.google.android.gms.permission.BIND_PAYMENTS_CALLBACK_SERVICE 権限と com.google.android.gms.wallet.callback.PAYMENT_DATA_CALLBACKS のインテント フィルタを使用して AndroidManifest.xml で宣言します。
createPaymentDataCallbacks()
受信コールバック イベントを処理する BasePaymentDataCallbacks の実装を返します。コールバック イベントごとに 1 回呼び出されます。
BasePaymentDataCallbacks
販売者が実装した支払いデータ コールバック ハンドラを含む抽象基本クラス。動的な価格更新と支払い承認をサポートします。
onPaymentDataChanged(intermediatePaymentData, onCompleteListener)
このメソッドは、配送先住所や配送オプションなど、支払いシートでのお支払いデータの変更を処理します。
引数
こんにちは| 名前 | タイプ | 説明 |
|---|---|---|
intermediatePaymentData |
IntermediatePaymentData |
支払いシートで選択された住所と配送オプションを含むオブジェクト。詳細については、IntermediatePaymentData をご覧ください。 |
onCompleteListener |
OnCompleteListener<PaymentDataRequestUpdate> |
更新された取引情報、配送オプション、支払いデータエラーを解決するリスナー。PaymentDataRequestUpdate インスタンスを complete() に渡します。 |
例
override fun onPaymentDataChanged( intermediatePaymentData: IntermediatePaymentData, onCompleteListener: OnCompleteListener<PaymentDataRequestUpdate> ) { val paymentDataRequestUpdateJson = handlePaymentDataChanged(intermediatePaymentData.toJson()) val update = PaymentDataRequestUpdate.fromJson(paymentDataRequestUpdateJson.toString()) onCompleteListener.complete(update) }
onPaymentAuthorized(paymentData, onCompleteListener)
このメソッドは、支払いシートで支払いが承認されると呼び出されます。
引数
| 名前 | タイプ | 説明 |
|---|---|---|
paymentData |
PaymentData |
リクエストされた買い物客データを含むオブジェクト。詳細については、PaymentData をご覧ください。 |
onCompleteListener |
OnCompleteListener<PaymentAuthorizationResult> |
認可結果を解決するリスナー。PaymentAuthorizationResult インスタンスを complete() に渡します。 |
例
override fun onPaymentAuthorized( paymentData: PaymentData, onCompleteListener: OnCompleteListener<PaymentAuthorizationResult> ) { val paymentAuthorizationResultJson = handlePaymentAuthorized(paymentData.toJson()) val result = PaymentAuthorizationResult.fromJson(paymentAuthorizationResultJson.toString()) onCompleteListener.complete(result) }
IntermediatePaymentData
BasePaymentDataCallbacks.onPaymentDataChanged に渡された中間コールバック データを処理します。
toJson()
コールバック リクエスト データを JSON 形式の文字列として出力します。JSON オブジェクトの構造について詳しくは、IntermediatePaymentData オブジェクト リファレンスをご覧ください。
getLastSavedState()
前回のコールバックの反復処理中に保存された状態を含む Bundle を返します。
PaymentDataRequestUpdate
BasePaymentDataCallbacks.onPaymentDataChanged で返す PaymentDataRequestUpdate Java オブジェクトをビルドします。
fromJson(java.lang.String)
JSON 形式の文字列から PaymentDataRequestUpdate Java オブジェクトを作成します。提供される JSON 形式の文字列の想定される構造については、PaymentDataRequestUpdate オブジェクト リファレンスをご覧ください。
withUpdatedSavedState(Bundle)
更新された状態 Bundle をアタッチして、コールバック呼び出し間で保持します。
PaymentAuthorizationResult
BasePaymentDataCallbacks.onPaymentAuthorized で返す PaymentAuthorizationResult Java オブジェクトをビルドします。
fromJson(java.lang.String)
JSON 形式の文字列から PaymentAuthorizationResult Java オブジェクトを作成します。指定された JSON 形式の文字列の想定される構造については、PaymentAuthorizationResult レスポンス オブジェクトのリファレンスをご覧ください。