Recomendaciones para la resolución de problemas con los enlaces y botones de pago de PayPal
Aparece un mensaje de error y el botón no se muestra en mi sitio web.
- Comprueba que la conexión a Internet funcione.
- Visita otras páginas en tu sitio web y verifica si se cargan correctamente.
- Ve a la página Botones de PayPal y comprueba lo siguiente:
* ¿Aparece el botón en “Botones guardados”?
* Selecciona Editar y asegúrate de que el código del botón coincida con lo que está en tu sitio web. - Haz clic con el botón derecho en la página de tu producto (donde pegaste el código del botón) y haz clic en Inspeccionar. Ve a la pestaña Consola (situada en la parte superior). Es posible que veas errores de CSP. Si has implementado una Política de seguridad de contenido, es posible que veas errores de CSP como los siguientes (ejemplos de errores de CSP):
- Se rechazó cargar la secuencia de comandos (script) ‘https://www.paypal.com/sdk/js**’ porque infringe la siguiente directiva de la Política de seguridad de contenido: "default-src 'self'". Ten en cuenta que 'script-src-elem' no se estableció explícitamente, por lo que 'default-src' se usa como alternativa.
- Se rechazó la conexión a 'https://www.paypal.com/**' porque infringe la siguiente directiva de la Política de seguridad de contenido: "default-src 'self'". Ten en cuenta que 'connect-src' no se estableció explícitamente, por lo que 'default-src' se usa como alternativa.
- Se rechazó la ejecución de la secuencia de comandos (script) en línea porque infringe la siguiente directiva de la Política de seguridad de contenido: "script-src https://*.paypal.com". Se requiere la palabra clave 'unsafe-inline', un hash ('sha256-WYDWDPwB8j2VePYrqy38aHPcJLsasO//lnXymmxscUk=') o un nonce ('nonce-...') para habilitar la ejecución en línea.
- Se rechazó la carga de la imagen 'https://tracking.qa.paypal.com/webapps/tracking/ts?**' porque infringe la siguiente directiva de la Política de seguridad de contenido: "default-src 'self'". Ten en cuenta que 'img-src' no se estableció explícitamente, por lo que 'default-src' se usa como alternativa.
- Se rechazó enmarcar 'https://www.paypal.com/' porque infringe la siguiente directiva de la Política de seguridad de contenido: "default-src 'self'". Ten en cuenta que 'frame-src' no se estableció explícitamente, por lo que 'default-src' se usa como alternativa.
Puedes intentar agregar lo siguiente para resolver cualquiera de los errores anteriores:
Opción 1 (HTML): Si la CSP está configurada en un archivo HTML, usa el código siguiente para reemplazar el código CSP
<meta http-equiv="Content-Security-Policy" content="default-src 'self';
script-src 'unsafe-inline' https://*.paypal.com https://*.paypalobjects.com;
style-src 'unsafe-inline' https://*.paypal.com; connect-src
https://*.paypal.com; frame-src https://*.paypal.com; img-src
https://*.paypal.com https://*.paypalobjects.com">
Opción 2 (lado del servidor): Si tu CSP está configurado del lado del servidor, usa el siguiente código para reemplazar el código de la CSP
Content-Security-Policy: script-src 'unsafe-inline' https://*.paypal.com https://*.paypalobjects.com
Content-Security-Policy: style-src 'unsafe-inline' https://*.paypal.com
Content-Security-Policy: connect-src https://*.paypal.com
Content-Security-Policy: frame-src https://*.paypal.com
Content-Security-Policy: img-src https://*.paypal.com https://*.paypalobjects.com
¿Cómo puedo cambiar el diseño, el tamaño o el color del nombre del producto, el precio o la cantidad?
A continuación, te indicamos cómo cambiar el diseño, tamaño y el color del nombre, el precio y la cantidad del producto en el sitio web de PayPal:
- Ve a la página de botones de PayPal.
- Haz clic en Abrir junto al botón guardado y selecciona Editar.
- Haz clic en Personalizar tus botones y realiza los cambios necesarios.
Edité la información del producto (nombre, importe u otro). ¿Debo
volver a copiar/pegar el código del botón?
No, recopilamos toda la información del servidor de PayPal. Una vez que hayas guardado los cambios en tu cuenta, no es necesario que actualices el código del botón copiado/pegado en tu sitio web.
Nota: Si cambias el código de divisa de tu producto, tendrás que actualizar el botón de pago.
Veo un Id. de cliente en el código. ¿Qué significa?
El Id. de cliente es el Id. de cliente del comercio que forma parte de tu cuenta. No debes editarlo. Úsalo tal y como aparece en el código del botón.
Agregué varios botones, pero ninguno se muestra en mi página web.
Usar varios botones en la misma página web no funcionará en los siguientes casos:
- Si has copiado o pegado el mismo Id. de botón varias veces en la misma página web, solo se mostrará el primer botón. No se puede repetir el mismo Id. de botón varias veces.
- Si has copiado o pegado diferentes Id. de botón, pero con otras divisas y en la misma página web, solo se mostrará el primer botón. No se pueden agregar divisas extranjeras a los botones en la misma página web.
- Si has copiado o pegado diferentes Id. de botón y la página funciona con lentitud, asegúrate de que la etiqueta del script con el Id. de cliente solo se haya agregado una vez. La línea del script tendrá esta apariencia:
<script src="https://www.paypal.com/sdk/js?client-id=XYZ&components=hosted-buttons&enable-funding=venmo¤cy=USD"></script>
Tengo una cuenta Premier de PayPal y no veo los enlaces y botones de pago como
una opción.
Esta función solo está disponible para las cuentas Empresas de PayPal. Para utilizar esta función, debes actualizar o crear una cuenta Empresas.
¿Cómo puedo probar esta experiencia en Sandbox de PayPal?
Los enlaces y botones de pago están disponibles para probarlos en Sandbox.
La expansión en línea de Crédito/Débito no se muestra completamente en mi
sitio web.
Asegúrate de que la anchura y la altura del contenedor principal estén configuradas para adaptarse a la expansión en línea. Consulta la documentación o el soporte de la plataforma de hospedaje para obtener más información.
¿Los enlaces y botones de pago son compatibles con las IPN (Notificaciones instantáneas de pago)?
Sí. Sigue estos pasos para configurar y habilitar las Notificaciones instantáneas de pago (IPN).
A continuación, te indicamos cómo encontrar la configuración de las IPN en PayPal:
- Ve a la Configuración de la cuenta.
- Selecciona Notificaciones y Notificaciones instantáneas de pago.
- Haz clic en Actualizar enlace.
A continuación, te indicamos cómo habilitar la configuración de las IPN:
- Agrega la URL del controlador de las IPN y selecciona Recibir mensajes de las IPN (Habilitado).
- Haz clic en Guardar.
Gestionar las IPN en el código del servidor:
- Cada vez que se completan transacciones desde un enlace o un botón de pago, la IPN de PayPal invoca la URL de notificación configurada en el paso 2.
Acceder al historial de las IPN:
- https://www.sandbox.paypal.com/merchantnotification/ipn/history
- https://www.paypal.com/merchantnotification/ipn/history
Referencias
Introducción: https://developer.paypal.com/api/nvp-soap/ipn/IPNIntro/
Asegúrate de usar la URL de IPN correcta en el código del servidor
Muestras para diferentes idiomas GitHub - paypal/ipn-code-samples
Cuando se dirige a un cliente a la página de redireccionamiento, ¿qué información acerca de la
compra envía PayPal? ¿Los enlaces y botones de pago son compatibles con la transferencia de datos de pago (PDT)?
¿Qué variables son compatibles?
Sí, admitimos variables de transferencia de datos de pago (PDT), como se documenta aquí. Recibirás transferencias de datos de pago si activas la configuración de redireccionamiento automático durante la configuración del enlace y el botón de pago.
¿Los enlaces y botones de pago admiten una configuración regional si el comercio la agrega manualmente
en el código de botón o el enlace de pago?
De forma predeterminada, los enlaces y botones de pago utilizan las preferencias del navegador de los clientes para mostrar la experiencia del código de botón y el enlace de pago.
Los comercios pueden anular la información solo para el enlace de pago y el código de botón agregando “locale.x=fr_FR” como parámetro de consulta. La lista de códigos admitidos para configuraciones regionales se puede encontrar aquí. Cualquier texto ingresado por un comercio durante la configuración no se traducirá.
Ejemplo: https://www.paypal.com/ncp/payment/F3YMU2ZGT49XX?locale.x=jp_JP
Ejemplo:
<script src="……¤cy=USD&locale.x=jp_JP"></script>
¿Es posible ocultar algunas de las etiquetas que provienen de los enlaces de pago y el
código de botón?
Entendemos que puedes tener una configuración visual diferente en tu sitio web; sin embargo, no recomendamos ocultar el código de botón que proporcionamos.
Ocultarlo en tu sitio web no cambiará la forma en que se procesa la transacción. La transacción igualmente utilizará la configuración de Id. del botón alojado.
Cuando utilices un tipo de botón que no requiera la intervención del cliente, puedes ocultar parte o todo el texto alrededor de los botones. Por ejemplo, si el cliente necesita seleccionar la cantidad o la lista de selección de varios artículos y has ocultado esos elementos de entrada, se producirá un error en la transacción.
A continuación, te mostramos un ejemplo de cómo ocultar el precio de un artículo:
Agrega este script debajo del código de botón, reemplaza el HostedButton_ID con el id. del botón real.
<style> #paypal-container-<HostedButton_ID> {
#paypal-form-fields-container-<HostedButton_ID> {
#price-label {
display: none !important;
}
}
}
</style>
-
desc-label (para el nombre del producto) -
price-label (para el precio)
style> #paypal-container-
<style>
#paypal-container-<HostedButton_ID>
{
#paypal-form-fields-container-<HostedButton_ID>
{
display: none !important;
}
}
</style>
¿Es posible anular los enlaces y botones de pago para utilizar el “envío desde
la configuración”?
Los enlaces y botones de pago no respetarán la anulación masiva de envíos desde la configuración de la cuenta, también conocida como la siguiente configuración desde la Configuración de envío.
Cambié la divisa del botón, pero no la veo actualizada en el
sitio web.
Si cambias la divisa de un botón después de haberlo pegado en tu sitio web, tendrás que volver a copiar y pegar el código de botón en tu sitio web.
No puedo seleccionar “Usar envío desde la Configuración” y “Usar impuesto desde
la Configuración” cuando selecciono “No recopilar dirección de envío”.
Los gastos de envío y los impuestos desde la Configuración se basan en el código postal de envío o el país del cliente. Si seleccionas “No recopilar dirección de envío”, no recibirás la dirección de envío del cliente para permitir el cálculo de impuestos y de gastos de envío desde la Configuración. Te recomendamos usar otras opciones de los menús desplegables “Comisión de envío” y “Tasa impositiva”.
¿Los enlaces y botones de pago son compatibles con webhooks?
Sí. A continuación, te indicamos cómo activar webhooks:
- Inicia sesión en el Panel de desarrolladores con las credenciales de tu cuenta de comercio.
- Activa Live.
- Haz clic en Aplicaciones y credenciales.
- Desplázate hacia abajo y selecciona Administrar webhooks.
- Ahora puedes agregar la URL de un webhook para Live. Si deseas agregar webhooks para Sandbox, permanece en esta página y cambia de Live a Sandbox desde la esquina superior derecha.
- Agrega la URL de devolución de llamada de tu webhook, selecciona todos los eventos, el pago o los eventos de pago que PayPal invocará en los eventos seleccionados según tu llamada de implementación de NVP o API SOAP; llama a la API NVP/SOAP de PayPal para obtener información sobre el webhook.
Ejemplo de respuesta de webhook:
"id": "WH-12D11567VE3425924-2G120938U32719946",
"event_version": "1.0",
"create_time": "2024-09-14T15:55:58.043Z",
"resource_type": "capture",
"resource_version": "2.0",
"event_type": "PAYMENT.CAPTURE.COMPLETED",
"summary": "Payment completed for $ 128.88 USD",
"resource": {
"supplementary_data": {
"related_ids": {
"order_id": "8LM68409BR5528307"
}
],
"id": "7KK30254642170736",
"status": "COMPLETED"