Solución de problemas

La guía de solución de problemas de la Web abarca problemas y preguntas relacionados con los siguientes temas.

Registro y acceso

Es posible que se produzcan los siguientes errores en algún momento de la integración. En esta lista se incluyen algunos consejos útiles para solucionar problemas en caso de que se produzcan estos errores.

Este comerciante no tiene habilitado Google Pay
La API de Google Pay requiere un merchantId de Google para los sitios que configuran PaymentsClient en un entorno PRODUCTION. Una merchantId de Google está asociada a uno o varios dominios completos a través de la Consola de Google Pay y Wallet. Consulta los detalles del error devuelto para obtener más información.
Este comerciante no ha completado el registro para usar la API de Google Pay. Ve a la consola (https://pay.google.com/business/console) para verificarlo.
No has completado el proceso para registrar tus sitios web en la API Google Pay. Revisión Solicitar acceso a producción para registrarse con la Consola de Google Pay y Wallet y solicitar una revisión del uso que hace su sitio web de la API de Google Pay.
Este perfil de comerciante no tiene acceso a esta función
Google no ha configurado tu sitio web para usar la API de Google Pay. Revisión Solicita acceso a producción para pedir que se revise el uso que hace tu sitio web de la API de Google Pay a través de la Consola de Google Pay y Wallet.
Esta integración de la API de Google Pay está inhabilitada. Ponte en contacto con nosotros para obtener más información (https://developers.google.com/pay/api/faq#how-to-get-support).
Ponte en contacto con nosotros para obtener más información sobre los pasos necesarios para volver a habilitar la API de Google Pay en tu cuenta de Google.
El dominio "example.com" no está registrado para usar esta API
El dominio en el que se aloja tu tramitación de la compra no está asociado a la merchantId que usas. Asegúrate de que el parámetro merchantId sea correcto y de que tu dominio esté registrado a través de la consola de Google Pay y Wallet.
Se debe llamar a la API de Google Pay en un contexto seguro.
La API Google Pay solo se puede usar en sitios web en un contexto seguro. Para obtener más información, consulta Contextos seguros.
No se han encontrado claves para este perfil de comerciante
Para completar una integración de DIRECTtokenizationSpecification type, debes registrar tu clave de cifrado pública en Google a través de la Consola de Google Pay y Wallet.

merchantId

Es posible que, en algún momento de la integración, se produzcan los siguientes errores relacionados con merchantId. En esta lista se incluyen algunos consejos útiles para solucionar estos errores.

Se debe definir merchantId.
El parámetro merchantId de PaymentDataRequest debe tener el valor proporcionado mediante la Consola de Google Pay y Wallet. El parámetro merchantId solo es obligatorio cuando se usa un PaymentsClient configurado para un entorno PRODUCTION. Consulta nuestra lista de comprobación de la integración para solicitar una revisión del uso que hace tu sitio web de la API de Google Pay y obtener tu merchantId.
merchantId no es una cadena
El parámetro merchantId de PaymentDataRequest siempre debe ser una cadena. Asegúrate de que el tipo del parámetro merchantId que usas es una cadena antes de llamar a la API.
merchantId no está registrado.
El parámetro merchantId de PaymentDataRequest debe aprovisionarse a través de la Consola de Google Pay y Wallet. Consulta Solicitar acceso de producción para obtener más información.

Validez de la pasarela

En algún momento de la integración, puede que se produzcan los siguientes errores relacionados con la validez de la pasarela. En esta lista se incluyen algunos consejos útiles para solucionar estos errores.

Pasarela desconocida yourgateway
Google no admite el parámetro de pasarela que ha especificado en paymentMethodTokenizationParameters.parameters. Ponte en contacto con tu pasarela para obtener más información sobre su identificador y los campos asociados, como gatewayMerchantId.
No se puede usar la pasarela "example" en el modo de producción
El valor del parámetro de la pasarela de ejemplo solo se usa con fines de prueba y no se puede usar con un PaymentsClient configurado para un entorno PRODUCTION. Ponte en contacto con tu pasarela para obtener más información sobre los valores de los parámetros PaymentMethodTokenizationSpecification que debes definir para usar la API de Google Pay.

Validez del objeto

En algún momento de la integración, es posible que se produzcan los siguientes errores relacionados con la validez de los objetos. En esta lista se incluyen algunos consejos útiles para solucionar estos errores.

PaymentDataRequest de Google Pay no es un archivo JSON válido
El parámetro proporcionado a loadPaymentData siempre debe ser un objeto PaymentDataRequest válido.
Se debe definir transactionInfo.
El parámetro transactionInfo de PaymentDataRequest siempre debe ser un objeto TransactionInfo válido.

Comercios directos

Es posible que, en algún momento de la integración, se produzcan los siguientes errores relacionados con los comerciantes directos. En esta lista se incluyen algunos consejos útiles para solucionar estos errores.

Verificación de firmas
Puede que se produzca un error de verificación de firma si el merchantId es incorrecto. Esto puede ocurrir en el entorno TEST cuando usas la biblioteca paymentmethodtoken de Tink. Para evitar este problema, define YOUR_MERCHANT_ID como 12345678901234567890 en:
.recipientId("merchant:YOUR_MERCHANT_ID")
No se puede descifrar el token
Si usas la biblioteca paymentmethodtoken de Tink para descifrar un token, ten en cuenta lo siguiente:
  • Asegúrate de que el entorno de respuesta de la API de Google Pay se corresponda con el entorno de paymentmethodtoken de Tink. Para obtener más información, consulta el siguiente ejemplo:
    • Si el entorno TEST ha devuelto la respuesta de la API Google Pay, Tink apunta al entorno de prueba para el descifrado.
  • No modifiques la respuesta de la API Google Pay antes de enviarla a Tink. Asegúrate de enviar el token completo devuelto por la respuesta de la API Google Pay. Para obtener más información, consulta la siguiente nota:
  • Verifica que tienes la clave privada adecuada asociada a la clave pública que registraste en Google.
Generar un par de claves pública y privada en Windows
Si usas Windows y quieres seguir los pasos que se mencionan en Usa OpenSSL para generar un par de claves privada y pública, asegúrate de instalar Cygwin en tu máquina. Esto es necesario para ejecutar los comandos de Linux.

Objetos de error

Los objetos de error son objetos devueltos por una promesa rechazada de un método de JavaScript de cliente.

PaymentsError
Este objeto contiene detalles sobre los errores devueltos por los métodos JavaScript del cliente. Es posible que los errores no se muestren en un cuadro de diálogo visible para el usuario.
Propiedad Tipo Descripción
statusCode Cadena Código corto que describe el tipo de error.
statusMessage Cadena Mensaje dirigido al desarrollador que describe el error detectado y los posibles pasos para corregirlo.
Errores comunes
Este objeto muestra los errores que pueden producirse en todos los métodos de JavaScript. Asegúrese de consultar la consola para desarrolladores para ver si hay más mensajes de error.
Código de estado Descripción
BUYER_ACCOUNT_ERROR El usuario de Google actual no puede proporcionar información de pago.
DEVELOPER_ERROR

El formato de un parámetro enviado no es correcto. Es posible que aparezca un mensaje de error en la consola del navegador en todos los entornos configurados.

MERCHANT_ACCOUNT_ERROR

El sitio que accede a la API de Google Pay no tiene el permiso adecuado. Esto puede deberse a una configuración incorrecta o a que se haya definido un identificador de comerciante incorrecto en la solicitud. Para obtener más información, consulta el campo statusMessage. Si sigues teniendo problemas, ponte en contacto con el equipo de Asistencia.

INTERNAL_ERROR Error general del servidor.

CardInfo

¿Qué es la función CardInfo?
Google Pay indica a los consumidores que hay una tarjeta detrás del botón de pago de Google Pay, lo que muestra tanto la red de la marca de la tarjeta como los últimos cuatro dígitos de la tarjeta.
¿Por qué no se renderiza la función CardInfo en mi implementación?

Para que la función CardInfo funcione, se deben cumplir las siguientes condiciones:

¿Por qué el botón de pago de Google Pay se carga indefinidamente?
No elimines los procesadores de eventos onLoad. Si quitas los onLoad procesadores de eventos, el botón de pago de Google Pay puede cargarse indefinidamente.
¿Por qué no aparece ninguna petición de pago después de hacer clic en el botón de pago de Google Pay?
Asigna una retrollamada de procesador de eventos al evento ButtonOptions.onClick.

OR_BIBED_15 errores

Es posible que se produzca un error OR_BIBED_15 en algún momento de la integración. En esta lista se ofrecen algunos consejos útiles para solucionar problemas en caso de que se produzca este error.

Trabajar con WebViews
Sigue las guías de Android y iOS para asegurarte de que tu integración sea compatible con WebViews.
Encabezado de respuesta HTTP Cross-Origin-Opener-Policy
Si la cabecera de respuesta HTTP Cross-Origin-Opener-Policy tiene el valor same-origin, puede impedir que el navegador abra la ventana emergente necesaria para que los usuarios completen su transacción. Prueba a cambiar el valor del encabezado a same-origin-allow-popups para reducir esos problemas.
Retrasos entre el evento de clic del usuario y la llamada a loadPaymentData()
Si hay un retraso después de hacer clic en el botón de Google Pay (o en un botón de compra similar) y antes de la llamada loadPaymentData() (por ejemplo, setTimeout(), llamadas de red adicionales o una lógica similar de larga duración), esto puede provocar que se active el mecanismo de bloqueo de ventanas emergentes del navegador. Te recomendamos que no se establezcan retrasos entre el clic del usuario y la llamada loadPaymentData().