2015-12-05 8 views
4

Использование https://github.com/android-pay/androidpay-quickstart, чтобы попробовать Android Pay. Ниже перечислены незначительные изменения, которые я сделал для оплаты Android, передав стандартную реализацию кошелька Google в образце.ERROR_CODE_MERCHANT_ACCOUNT_ERROR (405) при попытке Android Pay в среде TEST с использованием Образца кода Google

  1. Установленная последняя версия (8.4.89) из сервисов Google Play в устройстве

  2. Изменена зависимость в файле build.gradle использовать 8.3 версии в качестве

    компиляции «com.google. android.gms: play-services-wallet: 8.3.0 '

  3. На моем устройстве загружено приложение «Android Pay» из игрового магазина и успешно добавлено одна из поддерживаемых банковских карт.

и

WalletFragmentStyle walletFragmentStyle = new WalletFragmentStyle() 
      .setBuyButtonText(BuyButtonText.BUY_WITH_GOOGLE) 
      .setBuyButtonAppearance(WalletFragmentStyle.BuyButtonAppearance.ANDROID_PAY_LIGHT) 
      .setMaskedWalletDetailsLogoImageType(WalletFragmentStyle.LogoImageType.ANDROID_PAY) 
      .setBuyButtonWidth(Dimension.MATCH_PARENT); 

Делая это, я могу получить Android Pay логотип CheckOutActivity экран, похожий на первое изображение в соответствии с разделом потока платежей в https://developers.google.com/android-pay/payment-flows. Но когда я нажимаю «Купить с Android (логотип) Pay« Я получаю код ошибки . В соответствии с разделом «Недопустимый ключ отпечатка ключа отпечатка» в https://developers.google.com/android-pay/best-practices это обычно происходит после того, как приложение в разработке переключается из среды песочницы в производственную среду.

Я уверен, что я есть окружение установить до TEST (WalletConstants.ENVIRONMENT_TEST) в коде следующим образом

WalletFragmentOptions walletFragmentOptions = WalletFragmentOptions.newBuilder() 
      .setEnvironment(WalletConstants.ENVIRONMENT_TEST) 
      .setFragmentStyle(walletFragmentStyle) 
      .setTheme(WalletConstants.THEME_LIGHT) 
      .setMode(WalletFragmentMode.BUY_BUTTON) 
      .build(); 

Пожалуйста ЗАМЕТЬТЕ я не опубликовал это приложение в игровом магазине, и я пытаюсь в моем местном поле только и не хотите, чтобы предварительная авторизация к образцу приложения. Следовательно, я не выполнял шаги, как указано в https://developers.google.com/android-pay/preauth. Поэтому я не в состоянии проверить «отпечатки пальцев при условии, чтобы Google соответствует отпечаток ключа, используемого для входа в приложение для Android», как указано в разделе «Invalid подписания отпечатком ключа» в https://developers.google.com/android-pay/best-practices

Не уверен, что ошибка, которую я делаю или пропустить необходимые шаги для успешного выполнения этого действия. Любая помощь будет оценена по достоинству, поскольку я очень хочу показать это как POC и реализовать то же самое в нашем производственном приложении.

+0

вы решили его .. ?? и как.?? – Abhishek

ответ

4

Вы помещали эти строки в свой AndroidManifest.xml?

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

Это решило мою проблему. Я забыл добавить эти метаданные в файл AndroidManifest.xml. Спасибо, Дж. Лин. –

+0

Я пробовал это, но он не работает. – Abhishek

+0

@MarceloGumiero это сработало для вас.? – Abhishek

1

Об этом говорится в Android Pay документа

Не забудьте подписать приложение с ключами релиз

Когда ваше приложение указывает на окружающую среду Android производства Pay, в API возвращает Android Pay ERROR_CODE_MERCHANT_ACCOUNT_ERROR (405), если . Подписывающий ключ отпечатка пальца, используемый для подписи приложения для Android, не соответствует отпечатку ключа ключа, зарегистрированного в Google Play.Это обычно происходит после того, как приложение в развитии переходит из среды тест в производственной среде

https://developers.google.com/android-pay/deployment

 Смежные вопросы

  • Нет связанных вопросов^_^