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

Документация 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

Клиент для взаимодействия с API Google Pay.

isReadyToPay(IsReadyToPayRequest)

Используйте метод isReadyToPay(IsReadyToPayRequest) , чтобы определить возможность пользователя получить оплату через API Google Pay.

Если устройство поддерживает 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. См. справочник по объекту IsReadyToPayRequest для получения информации об ожидаемой структуре предоставленной строки в формате JSON.

PaymentDataRequest

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

fromJson(java.lang.String)

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

PaymentData

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

toJson()

Вывод ответа API Google Pay в виде строки в формате 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

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)
}

Промежуточные платежные данные

Обработка промежуточных данных обратного вызова, передаваемых в 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 состояния, который сохраняется между вызовами обратных вызовов.

Результат авторизации платежа

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

fromJson(java.lang.String)

Создайте Java-объект PaymentAuthorizationResult из строки в формате JSON. См. справочник по объекту ответа PaymentAuthorizationResult для получения информации об ожидаемой структуре предоставленной строки в формате JSON.