O guia de solução de problemas da Web aborda questões e problemas relacionados aos seguintes tópicos:
- Acesso ao registro
- merchantID
- Validade do gateway
- Validade do objeto
- Comerciantes diretos
- CardInfo
- Erros OR_BIBED_15
Registro e acesso
Você pode encontrar os seguintes erros em algum momento da integração. Essa lista oferece algumas dicas úteis para solucionar problemas caso esses erros apareçam.
- Este comerciante não está habilitado para o Google Pay
- A API Google Pay exige um merchantId do Google para sites que configuram
PaymentsClientpara um ambientePRODUCTION. UmmerchantIddo Google está associado a um ou mais domínios totalmente qualificados pelo Console do Google Pay e da Carteira. Confira os detalhes do erro retornado para mais informações. - O comerciante não concluiu o registro para usar a API Google Pay. Acesse o console (https://pay.google.com/business/console) para verificar.
- Você não concluiu o processo de registro dos seus sites na API Google Pay. Consulte Solicitar acesso de produção para se registrar usando o Console do Google Pay e da Carteira e pedir uma análise do uso da API Google Pay pelo seu site.
- Este perfil do comerciante não tem acesso a esse recurso
- O Google não configurou seu site para usar a API Google Pay. Consulte Solicitar acesso de produção para pedir uma análise do uso da API Google Pay pelo seu site no Console do Google Pay e da Carteira.
- Esta integração da API Google Pay está desativada. Entre em contato para mais informações (https://developers.google.com/pay/api/faq#how-to-get-support).
- Entre em contato para saber mais sobre as etapas necessárias para reativar a API Google Pay na sua Conta do Google.
- O domínio "example.com" não está registrado para usar essa API
- O domínio em que sua finalização de compra está hospedada não está associado ao
merchantIdque você usa. Verifique se o parâmetromerchantIdestá correto e se o domínio está registrado no Console do Google Pay e da Carteira. - A API Google Pay deve ser chamada em contexto seguro.
- A API Google Pay só pode ser usada em sites em um contexto seguro. Para mais informações, consulte Contextos seguros.
- Nenhuma chave encontrada para este perfil de comerciante
- Registre sua chave de criptografia pública com o Google pelo
Console do Google Pay e da Carteira para concluir uma
integração do
DIRECTtokenizationSpecificationtype.
merchantId
Em algum momento da sua integração, talvez você encontre os seguintes erros relacionados a merchantId. Essa lista oferece algumas dicas úteis para solucionar problemas caso esses erros apareçam.
- merchantId precisa ser definido.
- O parâmetro
merchantIdemPaymentDataRequestprecisa ser definido com o valor fornecido usando o Console do Google Pay e da Carteira. Um parâmetromerchantIdsó é necessário quando você usa umPaymentsClientconfigurado para um ambientePRODUCTION. Consulte nossa lista de verificação de integração para solicitar uma análise do uso da API Google Pay pelo seu site e para conseguir seumerchantId. - merchantId não é uma string
- O parâmetro
merchantIddentro dePaymentDataRequestprecisa ser sempre uma string. Verifique se o tipo do parâmetromerchantIdque você usa é uma string antes de chamar a API. - merchantId não está registrado.
- O parâmetro
merchantIdemPaymentDataRequestprecisa ser provisionado pelo Console do Google Pay e da Carteira. Consulte Solicitar acesso de produção para mais informações.
Validade do gateway
Você pode encontrar os seguintes erros relacionados à validade do gateway em algum momento da sua integração. Essa lista oferece algumas dicas úteis para solucionar problemas caso esses erros apareçam.
- Portal desconhecido 'yourgateway'
- No momento, o parâmetro de gateway especificado em
paymentMethodTokenizationParameters.parametersnão é compatível com o Google. Entre em contato com o gateway para mais informações sobre o identificador e os campos associados, comogatewayMerchantId. - Gateway "example" não pode ser usado no modo de produção
- O valor do parâmetro do gateway de exemplo é usado apenas para fins de teste e não pode ser usado com
um
PaymentsClientconfigurado para um ambientePRODUCTION. Entre em contato com seu gateway para mais informações sobre os valores de parâmetrosPaymentMethodTokenizationSpecificationque você precisa definir para usar com a API Google Pay.
Validade do objeto
Talvez você encontre os seguintes erros relacionados à validade do objeto em algum momento da sua integração. Essa lista oferece algumas dicas úteis para solucionar problemas caso esses erros apareçam.
- PaymentDataRequest do Google Pay não é um JSON válido
- O parâmetro fornecido a
loadPaymentDataprecisa ser sempre um objetoPaymentDataRequestválido. - transactionInfo precisa ser definido.
- O parâmetro
transactionInfodentro dePaymentDataRequestprecisa ser sempre um objetoTransactionInfoválido.
Comerciantes diretos
Talvez você encontre os seguintes erros relacionados a comerciantes diretos em algum momento da sua integração. Essa lista oferece algumas dicas úteis para solucionar problemas caso esses erros apareçam.
- Verificação de assinatura
- Talvez você encontre um erro de verificação de assinatura se o
merchantIdestiver errado. Isso pode acontecer no ambienteTESTquando você usa a biblioteca paymentmethodtoken do Tink. Para evitar esse problema, defina YOUR_MERCHANT_ID como12345678901234567890em: .recipientId("merchant:YOUR_MERCHANT_ID")
- Falha ao descriptografar o token
- Se você usa a biblioteca paymentmethodtoken do Tink para descriptografar um token, siga estas etapas:
- Garanta que o ambiente de resposta da API Google Pay corresponda ao ambiente paymentmethodtoken do Tink. Para mais detalhes, veja este exemplo:
- Se a resposta da API Google Pay retornar por meio do ambiente
TEST, o Tink indicará o ambiente de teste para a descriptografia. - Não modifique a resposta da API Google Pay antes de transmiti-la ao Tink. Certifique-se de enviar o token completo retornado por meio da resposta da API Google Pay. Para mais detalhes, consulte a seguinte observação:
- Certifique-se de que você tem a chave privada adequada associada à chave pública registrada no Google.
- Geração de um par de chaves pública e privada no Windows
- Se você usa o Windows e quer seguir as etapas mencionadas em Como usar o OpenSSL para gerar um par de chaves privada e pública, instale Cygwin na sua máquina. Essa ação é necessária para executar os comandos do Linux.
Objetos de erro
Objetos de erro são objetos retornados por uma promessa rejeitada de um método JavaScript do cliente.
- PaymentsError
- Este objeto tem detalhes sobre erros retornados pelos métodos JavaScript do cliente. Talvez os erros não sejam exibidos em uma caixa de diálogo voltada para o usuário.
| Propriedade | Tipo | Descrição |
|---|---|---|
statusCode |
String | Código curto que descreve o tipo de erro. |
statusMessage |
String | Mensagem voltada para o desenvolvedor que descreve o erro encontrado e as possíveis etapas para corrigi-lo. |
- Erros comuns
- Esse objeto mostra erros que podem ser encontrados em todos os métodos JavaScript. Certifique-se de verificar o console do desenvolvedor para ver se há outras mensagens de erro.
- O que é o recurso CardInfo?
- O Google Pay indica aos consumidores que há um cartão associado ao botão de pagamento do Google Pay, que renderiza a rede da marca e os últimos quatro dígitos do cartão.
- Por que o recurso CardInfo não é renderizado na minha implementação?
Para que o recurso CardInfo funcione, precisamos das seguintes condições:
- É necessário implementar a API
createButton. - Configure o
ButtonOptions.buttonTypecomobuy,longoupay. - O usuário precisa ter uma forma de pagamento disponível, conforme definido pelo objeto
CardParameters.
- É necessário implementar a API
- Por que o botão de pagamento do Google Pay carrega indefinidamente?
- Não remova os listeners de eventos
onLoad. Se você remover os listeners de eventosonLoad, o botão de pagamento do Google Pay poderá carregar indefinidamente. - Por que não aparece uma solicitação de pagamento depois que clico no botão de pagamento do Google Pay?
- Atribua um callback de listener de eventos ao evento
ButtonOptions.onClick. - Como trabalhar com WebViews
- Siga os guias para Android e iOS para garantir que sua integração seja compatível com WebViews.
- Cabeçalho de resposta HTTP
Cross-Origin-Opener-Policy - Se o cabeçalho de resposta HTTP
Cross-Origin-Opener-Policyestiver definido comosame-origin, isso poderá impedir que o navegador abra o pop-up necessário para que os usuários concluam a transação. Tente mudar o valor do cabeçalho parasame-origin-allow-popupse reduzir esses problemas. - Atrasos entre o evento de clique dos usuários e a chamada para
loadPaymentData() -
Se houver um atraso após clicar no botão do Google Pay (ou em um botão de finalização de compra semelhante) e antes da chamada
loadPaymentData()(exemplos:setTimeout(), outras chamadas de rede ou lógica semelhante de longa duração), isso pode fazer com que o mecanismo de bloqueio de pop-ups do navegador seja acionado. Recomendamos que não haja atrasos entre o clique do usuário e a chamadaloadPaymentData().
| Código de status | Descrição |
|---|---|
BUYER_ACCOUNT_ERROR |
O usuário atual do Google não pode fornecer informações de pagamento. |
DEVELOPER_ERROR |
Um parâmetro enviado está formatado incorretamente. Uma mensagem de erro pode aparecer no console do navegador para todos os ambientes configurados. |
MERCHANT_ACCOUNT_ERROR |
O site que acessa a API Google Pay não tem a permissão correta. Isso pode ocorrer devido a uma configuração incorreta ou a um identificador do comerciante incorreto definido na solicitação. Para mais detalhes, consulte o campo |
INTERNAL_ERROR |
Erro geral do servidor. |
CardInfo
OR_BIBED_15 erros
Você pode encontrar um erro OR_BIBED_15 em algum momento da integração. Esta lista oferece algumas dicas úteis para solucionar problemas caso esse erro apareça.