La guía de solución de problemas de la Web abarca problemas y preguntas relacionados con los siguientes temas.
- Acceso al registro
- merchantID
- Validez de la pasarela
- Validez de los objetos
- Comerciantes directos
- CardInfo
- Errores OR_BIBED_15
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
PaymentsClienten un entornoPRODUCTION. UnamerchantIdde 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
merchantIdque usas. Asegúrate de que el parámetromerchantIdsea 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
DIRECTtokenizationSpecificationtype, 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
merchantIddePaymentDataRequestdebe tener el valor proporcionado mediante la Consola de Google Pay y Wallet. El parámetromerchantIdsolo es obligatorio cuando se usa unPaymentsClientconfigurado para un entornoPRODUCTION. 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 tumerchantId. - merchantId no es una cadena
- El parámetro
merchantIddePaymentDataRequestsiempre debe ser una cadena. Asegúrate de que el tipo del parámetromerchantIdque usas es una cadena antes de llamar a la API. - merchantId no está registrado.
- El parámetro
merchantIddePaymentDataRequestdebe 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, comogatewayMerchantId. - 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
PaymentsClientconfigurado para un entornoPRODUCTION. Ponte en contacto con tu pasarela para obtener más información sobre los valores de los parámetrosPaymentMethodTokenizationSpecificationque 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
loadPaymentDatasiempre debe ser un objetoPaymentDataRequestválido. - Se debe definir transactionInfo.
- El parámetro
transactionInfodePaymentDataRequestsiempre debe ser un objetoTransactionInfová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
merchantIdes incorrecto. Esto puede ocurrir en el entornoTESTcuando usas la biblioteca paymentmethodtoken de Tink. Para evitar este problema, define YOUR_MERCHANT_ID como12345678901234567890en: .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
TESTha 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.
- ¿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:
- Debes implementar la API
createButton. - Debes configurar el
ButtonOptions.buttonTypecomobuy,longopay. - El usuario debe tener un método de pago disponible, tal como se define en tu objeto
CardParameters.
- Debes implementar la API
- ¿Por qué el botón de pago de Google Pay se carga indefinidamente?
- No elimines los procesadores de eventos
onLoad. Si quitas losonLoadprocesadores 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. - 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-Policytiene el valorsame-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 asame-origin-allow-popupspara 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 llamadaloadPaymentData().
| 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 |
INTERNAL_ERROR |
Error general del servidor. |
CardInfo
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.