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