Этот продавец не поддерживает Google Pay в тестовой среде.

Я пытаюсь реализовать запрос на оплату Google Pay на Android для специализированного продавца и получаю эту ошибку:

This merchant is not enabled for Google Pay.

Когда я попытался решить, какое исключение выбрано, я обнаружил следующее:

com.google.android.gms.common.api.ResolvableApiException: 6: BuyFlow UI needs to be shown.
at com.google.android.gms.common.internal.ApiExceptionUtil.fromStatus(Unknown Source:3)
at com.google.android.gms.wallet.AutoResolveHelper.zza(com.google.android.gms:play-services-wallet@@18.0.0:18)
at com.google.android.gms.internal.wallet.zzy.zza(com.google.android.gms:play-services-wallet@@18.0.0:4)
at com.google.android.gms.internal.wallet.zzt.dispatchTransaction(com.google.android.gms:play-services-wallet@@18.0.0:63)
at com.google.android.gms.internal.wallet.zza.onTransact(com.google.android.gms:play-services-wallet@@18.0.0:13)
at android.os.Binder.execTransact(Binder.java:731)

И мой запрос выглядит так:

{
   "apiVersion":2,
   "apiVersionMinor":0,
   "allowedPaymentMethods":[
      {
         "type":"CARD",
         "parameters":{
            "allowedAuthMethods":[
               "PAN_ONLY",
               "CRYPTOGRAM_3DS"
            ],
            "allowedCardNetworks":[
               "AMEX",
               "MASTERCARD",
               "VISA"
            ]
         },
         "tokenizationSpecification":{
            "type":"PAYMENT_GATEWAY",
            "parameters":{
               "gateway":"gateway",
               "gatewayMerchantId":"124185"
            }
         }
      }
   ],
   "transactionInfo":{
      "currencyCode":"PLN",
      "totalPriceStatus":"FINAL",
      "totalPrice":"2.00"
   },
   "merchantInfo":{
      "merchantId":"9876143410",
      "merchantName":"Test Merchant",
      "merchantOrigin":"localhost"
   }
}

Проблема в том, что я использую тестовую среду, поэтому я не понимаю, почему это сообщение вообще должно отображаться.


person Ernest Zamelczyk    schedule 03.12.2019    source источник
comment
Это сообщение отображается красным цветом с идентификатором Gmail в телефоне? Если да, то у вас есть реальная карта в Gmail и повторите попытку оплаты.   -  person Prashant Sable    schedule 03.12.2019
comment
Нет, это не так....   -  person Ernest Zamelczyk    schedule 03.12.2019
comment
Вы пробовали добавить реальную карту в учетную запись Gmail?   -  person Prashant Sable    schedule 03.12.2019
comment
Я добавил настоящую карту в учетную запись Gmail. Это не связано с клиентской стороной.   -  person Ernest Zamelczyk    schedule 03.12.2019
comment
@ErnestZamelczyk привет, тебе удалось это решить? Я нашел это сегодня тоже, никаких документов, и ваш вопрос - это единственное, что можно найти об этой ошибке   -  person Anton Shkurenko    schedule 03.12.2019
comment
@ErnestZamelczyk попробуйте удалить фильтры в журналах и найти что-то, связанное с кошельком, у меня была неправильная токенизация   -  person Anton Shkurenko    schedule 03.12.2019


Ответы (1)


Я думаю, вам, возможно, придется заключить соглашение с Google, чтобы включить эту функцию. Я предполагаю, что вы также можете не продвинуться в тестировании, если не согласитесь (что может открыть возможности для тестирования).

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

Если вы хотите получить подтверждение в качестве PSP от Google, держу пари, вам нужно зарегистрироваться у них, и тогда вы можете получить всю необходимую информацию для реализации услуг между Google и вашей организацией.

Попробуйте перейти по ссылке: https://developers.google.com/pay/api#participating-processors

найдите абзац «Участвующие обработчики» и выберите «заполнить запрос на подключение» в разделе PSP.

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

person Mantas    schedule 22.12.2019
comment
Этого не требуется для интеграции теста. - person Soc; 21.01.2020
comment
Я предполагаю, что действительно требуется законный продавец. потому что эти продавцы предоставляют свою собственную среду для тестирования. и на основе примеров Google он должен быть одним из списка. даже при тестировании среды API Google Pay подключается к продавцу перед генерацией токена. поэтому он должен быть законным, иначе Google не знает, как обрабатывать данные даже для тестирования. когда я нахожусь в тестовой среде, я вижу запросы в Google, прежде чем он вернет мне токен. - person Mantas; 22.01.2020
comment
Нет, в тестовой среде Google Pay продавцом может быть что угодно. Взгляните на демонстрации: developers.google.com / pay / api / web / guides / resources /. Работает с { merchantName: 'Example Merchant' }. При тестировании Google Pay не дает имитационного ответа. - person Soc; 22.01.2020
comment
тогда он должен иметь определенные параметры json: тип: 'PAYMENT_GATEWAY', параметры: {'шлюз': 'пример', 'gatewayMerchantId': 'exampleGatewayMerchantId'} - person Mantas; 24.01.2020