Как показать опцию «Google Pay» при выпадении Braintree?

#android #braintree #google-pay

#Android #braintree #google-pay

Вопрос:

При запуске демонстрационного приложения braintree для Android отсюда, кажется, можно отобразить опцию Google Pay в выпадающем пользовательском интерфейсе в режиме изолированной среды.

Однако, когда я пытаюсь самостоятельно создать пользовательский интерфейс Dropin, я не могу этого сделать, в Dropin отображаются только опции «Paypal» и «Кредитная или дебетовая карта».

Просматривая документы, я не могу найти чего-то недостающего в моем собственном коде / конфигурациях.

Я добавил последние зависимости в свой build.gradle:

 implementation 'com.braintreepayments.api:drop-in:5.0.1'
implementation 'com.braintreepayments.api:braintree:3.14.2'
implementation 'com.braintreepayments.api:google-payment:3.3.1'
implementation 'com.google.android.gms:play-services-wallet:18.1.2'
  

Я изменил свой AndroidManifest.xml чтобы содержать следующую часть:

 <meta-data android:name="com.google.android.gms.wallet.api.enabled" android:value="true"/>
  

Я создаю запрос на удаление, используя ключ токенизации следующим образом:

 DropInRequest dropInRequest = new DropInRequest()
    .clientToken("sandbox_...") //Tokenization key from the Control Panel
    .googlePaymentRequest(getGooglePaymentRequest());

startActivityForResult(dropInRequest.getIntent(MainActivity.this), 4949);
  

и я создаю запрос GooglePaymentRequest следующим образом:

 private GooglePaymentRequest getGooglePaymentRequest() {
    GooglePaymentRequest googlePaymentRequest = new GooglePaymentRequest()
        .transactionInfo(TransactionInfo.newBuilder()
            .setTotalPrice("1.00")
            .setTotalPriceStatus(WalletConstants.TOTAL_PRICE_STATUS_FINAL)
            .setCurrencyCode("USD")
            .build())
        .billingAddressRequired(true);

    return googlePaymentRequest;
}
  

И я включил Google Pay в панели управления моей учетной записи Sandbox.

введите описание изображения здесь

Но, к сожалению, результат по-прежнему таков:

введите описание изображения здесь

Я несколько раз просматривал документацию, но я не вижу, что может вызвать это.

Кто-нибудь видит, чего мне не хватает?

С наилучшими пожеланиями, Феликс

Комментарии:

1. Есть ли у вас учетная запись карты или PayPal, хранящаяся в учетной записи Google, используемой на вашем тестовом устройстве? Google требует его для тестирования

2. @hollabaq на моем реальном устройстве (которое я использую для тестирования) у меня настроена учетная запись Paypal и кредитная карта, и я уже использую Google Pay в течение нескольких месяцев. В моем эмуляторе нет конфигурации для Paypal или кредитной карты, а также другой конфигурации Google Pay, НО при запуске демонстрационного приложения из github.com/braintree/braintree-android-drop-in/tree/master/Demo пользовательский интерфейс DropIn показывает опцию Google Pay даже в эмуляторе, и при нажатии на опцию Google Pay я вижу форму для настройки Google Pay. Поэтому я думаю, что у этого должна быть другая причина.

Ответ №1:

После нескольких дней попыток найти причину этого в неправильном положении, я, наконец, нашел ее:

Обязательно добавьте <meta-data android:name="com.google.android.gms.wallet.api.enabled" android:value="true"/> тег «в приложение» в AndroidManifest.xml , А не деятельность.