#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 , А не деятельность.