Справочные материалы о клиенте

В документации по 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

Создает объект Java IsReadyToPayRequest, подходящий для использования с PaymentsClient.isReadyToPay().

fromJson(java.lang.String)

Создает объект Java IsReadyToPayRequest из строки в формате JSON. Дополнительную информацию о структуре строки в формате JSON можно получить здесь.

PaymentDataRequest

Создает объект Java PaymentDataRequest, подходящий для использования с PaymentsClient.loadPaymentData.

fromJson(java.lang.String)

Создает объект Java PaymentDataRequest из строки в формате JSON. Дополнительную информацию о структуре строки в формате JSON можно получить здесь.

PaymentData

Обрабатывает ответ Google Pay API в формате JSON для использования в приложении.

toJson()

Вывод ответа Google Pay API в виде строки в формате JSON. Дополнительную информацию о структуре объекта JSON PaymentData можно узнать здесь.

PayButton

public void initialize(ButtonOption buttonOptions)

Удобный метод используется для инициализации кнопки оплаты 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

View.VISIBLE – кнопка оплаты будет видна (по умолчанию).

View.GONE – кнопка будет скрыта от пользователей.

Пример:

payButton.setVisibility(View.VISIBLE);

public void setOnClickListener(View.OnClickListener listener)

Метод вызывается, когда пользователь нажимает кнопку оплаты через Google Pay.

Аргументы

Название Описание
listener Обратный вызов прослушивателя событий, который вызывается, когда событие клика передается кнопке оплаты Google Pay.

BasePaymentDataCallbacksService

Базовый класс сервиса, в котором размещаются обратные вызовы данных платежей, инициированные сервисами Google Play в рамках процесса PaymentsClient.loadPaymentData(PaymentDataRequest).

Расширьте этот сервис в своем приложении и объявите его в AndroidManifest.xml с разрешением com.google.android.gms.permission.BIND_PAYMENTS_CALLBACK_SERVICE и фильтром интентов для com.google.android.gms.wallet.callback.PAYMENT_DATA_CALLBACKS.

createPaymentDataCallbacks()

Возвращает реализацию BasePaymentDataCallbacks для обработки входящих событий обратного вызова. Вызывается один раз для каждого события обратного вызова.

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

Создайте объект Java PaymentDataRequestUpdate, который будет возвращен в BasePaymentDataCallbacks.onPaymentDataChanged.

fromJson(java.lang.String)

Создает объект Java PaymentDataRequestUpdate из строки в формате JSON. Ознакомьтесь с объектом PaymentDataRequestUpdate, чтобы узнать, как должна быть структурирована строка в формате JSON.

withUpdatedSavedState(Bundle)

Прикрепляет обновленное состояние Bundle, которое сохраняется между вызовами обратного вызова.

PaymentAuthorizationResult

Создайте объект Java PaymentAuthorizationResult, который будет возвращен в BasePaymentDataCallbacks.onPaymentAuthorized.

fromJson(java.lang.String)

Создает объект Java PaymentAuthorizationResult из строки в формате JSON. Ознакомьтесь с объектом ответа PaymentAuthorizationResult, чтобы узнать, как должна быть структурирована строка в формате JSON.