Crea una página del proceso de compra personalizada que incluya Link
Integra Link utilizando el Payment Element o el Link Authentication Element.
Esta guía te explica cómo aceptar pagos con Link utilizando API Payment Intents y Payment Element o Link Authentication Element.
Hay tres maneras de proteger la dirección de correo electrónico de un cliente para la autenticación e inscripción en Link:
- Especifica una dirección de correo electrónico: puedes enviar una dirección de correo electrónico al Payment Element usando defaultValues. Si ya recolectas la dirección de correo electrónico o el número de teléfono del cliente en el flujo del proceso de compra, te recomendamos este enfoque.
- Recolecta una dirección de correo electrónico: puedes recolectar una dirección de correo electrónico directamente en el Payment Element. Si no recolectas la dirección de correo electrónico en ninguna parte del flujo del proceso de compra, te recomendamos este enfoque.
- Link Authentication Element: puedes usar Link Authentication Element para crear un único campo de entrada de correo electrónico tanto para la recolección de correos electrónicos como para la autenticación de Link. Te recomendamos que lo hagas si usas el Address Element.

Recolectar una dirección de correo electrónico del cliente para la autenticación o registro de Link
Configurar StripeLado del servidor
Primero, crea una cuenta de Stripe o inicia sesión.
Usa nuestras bibliotecas oficiales para acceder a la API de Stripe desde tu aplicación:
Crea un PaymentIntentLado del servidor
Stripe utiliza un objeto PaymentIntent para representar tu intención de cobrarle un pago a un cliente y hace un seguimiento de los intentos de cobro y de los cambios en el estado del pago a lo largo del proceso.
Si recopilas datos de la tarjeta para usarla en el futuro con Setup Intents, enumera los métodos de pago manualmente en lugar de usar métodos de pago dinámicos. Para utilizar Link sin métodos de pago dinámicos, actualiza tu integración para pasar link
a payment_
.
Al crear un PaymentIntent, ofrece a tus clientes de forma dinámica los métodos de pago más relevantes, incluido Link, mediante el uso de métodos de pago dinámicos. Para usar métodos de pago dinámicos, no incluyas el parámetro payment_
. Opcionalmente, también puede habilitar automatic_
.
Nota
Cuando tu integración no establece el parámetro payment_
, algunos métodos de pago se activan automáticamente, incluidas las tarjetas y los monederos.
Para añadir Link a tu integración de Elements usando métodos de pago dinámicos:
- Activa Link en la configuración del método de pago del Dashboard.
- Si tienes una integración existente que enumera manualmente los métodos de pago, elimina el parámetro payment_method_types de tu integración.
Recupera el secreto del cliente
El PaymentIntent incluye un secreto de cliente que el lado del cliente utiliza para completar el proceso de pago de forma segura. Puedes usar diferentes métodos para pasar el secreto del cliente al lado del cliente.
Recopila el correo electrónico del cliente
Link autentica a un cliente utilizando su dirección de correo electrónico. Según tu flujo del proceso de compra, tienes las siguientes opciones: enviar un correo electrónico al Payment Element, recolectarlo directamente en el Payment Element o utilizar el Link Authentication Element. De estas, Stripe recomienda enviar una dirección de correo electrónico del cliente al Payment Element si está disponible.
Configura tu formulario de pagoLado del cliente
Ahora puedes configurar tu formulario de pago personalizado con los componentes prediseñados de la interfaz de usuario de Elements. La dirección de tu página de pago debe empezar por https://
en lugar de por http://
para que tu integración funcione. Puedes probar tu integración sin usar HTTPS. Habilita HTTPS cuando esté todo listo para aceptar pagos reales.
Envía el pago a StripeLado del cliente
Usa stripe.confirmPayment para efectivizar el pago con los datos recolectados de tu cliente en los diferentes formularios de Elements. Proporciona una return_url a esta función para indicar a dónde Stripe redirige al usuario después de efectivizar el pago.
Es posible que primero se redirija al usuario a un sitio intermedio, como una página de autorización bancaria, antes de que Stripe lo redirija al return_
.
De forma predeterminada, los pagos con tarjeta o bancarios redireccionan inmediatamente al return_
cuando un pago se efectúa correctamente. Si no quieres redirigir al return_
, puedes usar if_required para cambiar el comportamiento.
La return_
corresponde a una página en tu sitio web que proporciona el estado del pago del PaymentIntent
cuando renderizas la página de retorno. Cuando Stripe redirecciona al cliente a la return_
, puedes usar los siguientes parámetros de consulta de URL para verificar el estado del pago. También puedes adjuntar tus propios parámetros de consulta cuando proporciones la return_
. Estos parámetros de consulta se conservan durante todo el proceso de redireccionamiento.
Parámetro | Descripción |
---|---|
payment_ | El identificador único del PaymentIntent |
payment_ | El secreto de cliente del objeto PaymentIntent . |
Gestionar eventos posteriores al pagoLado del servidor
Stripe envía un evento payment_intent.succeeded cuando se efectiviza el pago. Usa un webhook para recibir estos eventos y ejecutar acciones, como enviar a tu cliente un correo electrónico de confirmación del pedido, registrar la venta en una base de datos o iniciar el flujo de trabajo de envíos.
Configura tu integración para recibir notificaciones de estos eventos en lugar de esperar una devolución de llamada del cliente. Cuando esperas una devolución de llamada del cliente, el cliente puede cerrar la ventana del navegador o salir de la aplicación antes de que se ejecute la devolución de llamada. Si configuras tu integración para recibir notificaciones de eventos asincrónicos, podrás aceptar diferentes tipos de métodos de pago con una sola integración.
Además de gestionar el evento payment_
, también puedes gestionar otros dos eventos importantes cuando cobras pagos con el Payment Element:
Evento | Descripción | Acción |
---|---|---|
payment_intent.succeeded | Se envía desde Stripe cuando un cliente ha efectivizado un pago correctamente. | Envía al cliente una confirmación del pedido y completa el pedido. |
payment_intent.payment_failed | Se envía desde Stripe cuando el cliente ha intentado hacer el pago, pero no se ha hecho efectivo. | Si un pago ha pasado de processing a payment_ , ofrece al cliente otro intento de pago. |
Prueba la integración
Precaución
No almacenes datos de usuarios reales en las cuentas de Link del entorno de prueba. Úsalas como si estuvieran disponibles para el público, porque estas cuentas de prueba están asociadas con tu clave publicable.
Actualmente, Link solo funciona con tarjetas de crédito, tarjetas de débito y compras con cuentas bancarias cualificadas de EE. UU. Link requiere el registro del dominio.
Puedes crear cuentas en el entorno de prueba para Link usando cualquier dirección de correo electrónico válida. La siguiente tabla muestra los valores fijos de código de acceso de un solo uso que Stripe acepta para autenticar las cuentas en el entorno de prueba:
Valor | Resultado |
---|---|
Otros 6 dígitos que no aparezca a continuación | Completado correctamente |
000001 | Error, el código no es válido |
000002 | Error, el código ha caducado |
000003 | Error, se ha superado el número máximo de intentos |
Para probar métodos de pago específicos, consulta los ejemplos de prueba del Payment Element.
Varias fuentes de financiación
A medida que Stripe añade compatibilidad para fuentes de financiamiento adicional, no necesitas actualizar la integración. Stripe las acepta automáticamente con el mismo tiempo de liquidación de transacciones y garantías que los pagos con tarjeta y cuenta bancaria.
Autenticación de tarjetas y 3D Secure
Link acepta la autenticación mediante 3D Secure 2 (3DS2) para pagos con tarjeta. 3DS2 requiere que los clientes completen un paso más de verificación con el emisor de la tarjeta al pagar. Los pagos que se han autenticado correctamente con 3D Secure están cubiertos por una transferencia de responsabilidad.
Para activar los flujos de comprobación de la autenticación mediante 3DS2 con Link en un entorno de prueba, usa la siguiente tarjeta de prueba con cualquier CVC, código postal y fecha de caducidad futura: .
En un entorno de prueba, el proceso de autenticación muestra una página de autenticación ficticia. En esa página, puedes autorizar o cancelar la del pago. Al autorizar la del pago, se simula una autenticación correcta y se te redirige a la URL de retorno especificada. Si haces clic en el botón Error, se simula un intento de autenticación fallido.
Para obtener más información, consulta la página de Autenticación mediante 3D Secure.
Nota
Al probar flujos de 3DS, solo las tarjetas de prueba para 3DS2 activarán la autenticación en Link.
Comunica a tus clientes qué es Stripe
Stripe recoge información sobre las interacciones de los clientes con Elements para brindarte servicios, prevenir el fraude y mejorar sus servicios. Entre los datos recogidos, se incluyen el uso de cookies y direcciones IP para identificar qué Elements ha visto un cliente durante una sola sesión del proceso de compra. Tú eres responsable de divulgar y obtener todos los derechos y consentimientos necesarios para que Stripe use los datos de estas maneras. Para obtener más información, visita nuestro centro de privacidad.