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

Полная документация по библиотеке для разных версий Google Pay API доступна на странице com.google.android.gms.wallet. Ниже приведены объекты и методы, которые используются в последней версии 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 описана в справочнике по объекту IsReadyToPayRequest.

PaymentDataRequest

Создайте объект Java PaymentDataRequest, который можно использовать с PaymentsClient.loadPaymentData.

fromJson(java.lang.String)

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

PaymentData

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

toJson()

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

Кнопка оплаты

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

IntermediatePaymentData

Обработка промежуточных данных обратного вызова, переданных в BasePaymentDataCallbacks.onPaymentDataChanged.

toJson()

Выводит данные запроса обратного вызова в виде строки в формате JSON. Дополнительную информацию о структуре объекта JSON можно найти в справочной документации по объекту IntermediatePaymentData.

getLastSavedState()

Возвращает Bundle, содержащий состояние, сохраненное во время предыдущей итерации обратного вызова.

PaymentDataRequestUpdate

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

fromJson(java.lang.String)

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

withUpdatedSavedState(Bundle)

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

PaymentAuthorizationResult

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

fromJson(java.lang.String)

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