Google Pay SDK проверяет, добавил ли пользователь указанную карту c - PullRequest
2 голосов
/ 05 февраля 2020

Имеет ли Google Pay API способ проверки, добавил ли пользователь указанную карту c в Google Pay ? Я знаю, что существует метод проверки, если пользователь делает платежи.

Из официальных документов: ... вызовите API isReadyToPay, чтобы определить, может ли пользователь осуществлять платежи с помощью Google Pay API.

private void possiblyShowGooglePayButton() {
    final Optional<JSONObject> isReadyToPayJson = PaymentsUtil.getIsReadyToPayRequest();
    if (!isReadyToPayJson.isPresent()) {
      return;
    }
    IsReadyToPayRequest request = IsReadyToPayRequest.fromJson(isReadyToPayJson.get().toString());
    if (request == null) {
      return;
    }

    // The call to isReadyToPay is asynchronous and returns a Task. We need to provide an
    // OnCompleteListener to be triggered when the result of the call is known.
    Task<Boolean> task = mPaymentsClient.isReadyToPay(request);
    task.addOnCompleteListener(this,
        new OnCompleteListener<Boolean>() {
          @Override
          public void onComplete(@NonNull Task<Boolean> task) {
            if (task.isSuccessful()) {
              setGooglePayAvailable(task.getResult());
            } else {
              Log.w("isReadyToPay failed", task.getException());
            }
          }
        });
  }

Но приведенный выше код ?? не соответствует моим потребностям. Может быть, у кого-то есть решение для этого?

1 Ответ

0 голосов
/ 11 февраля 2020

Что вы подразумеваете под конкретной c картой?

Одна вещь, которую легко пропустить из документации existingPaymentMethodRequired.

По умолчанию API проверяет, можно ли использовать устройство / приложение для совершения платежей, но, пройдя опцию existingPaymentMethodRequired, проверит, есть ли у них существующие способы оплаты, которые пользователь может использовать для совершения платежа.

...