Aceptar un pago
Acepta pagos en línea de forma segura.
Crea un formulario de pago o usa una página del proceso de compra prediseñada para comenzar a aceptar pagos en línea.
Redirige a una página de pagos alojada en Stripe Checkout. Descubre cómo esta integración se compara con los otros tipos de integración de Stripe.
Esfuerzo de integración
Tipo de integración
Redirigir a la página de pagos alojada en Stripe
Personalización de la interfaz de usuario
First, register for a Stripe account.
Use our official libraries to access the Stripe API from your application:
Redirige a tu cliente a Stripe CheckoutLado del clienteLado del servidor
Añade un botón de finalización de compra en tu sitio web que llame a un punto de conexión del lado del servidor para crear una Checkout Session.
También puedes crear una sesión de Checkout para un cliente existente, lo que te permite rellenar automáticamente los campos de Checkout con información de contacto conocida y unificar tu historial de compras para ese cliente.
<html> <head> <title>Buy cool new product</title> </head> <body> <!-- Use action="/create-checkout-session.php" if your server is PHP based. --> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
Una Checkout Session es la representación programática de lo que ve tu cliente cuando se le redirecciona al formulario de pago. Puedes configurarla con opciones como las siguientes:
- Partidas individuales que se cobrarán
- Divisas que se usarán
Debes rellenar success_
con el valor de la URL de una página en tu sitio web a la que Checkout redirige al cliente después de que efectiviza el pago. También puedes proporcionar opcionalmente un valor cancel_
de una página en tu sitio web a la que Checkout redirige al cliente si finaliza el proceso de pago antes de que se complete.
Nota
De forma predeterminada, las Checkout Sessions caducan a las 24 horas de crearse.
Después de crear una sesión de Checkout, redirige al cliente a la URL devuelta en la respuesta.
Métodos de pago
De forma predeterminada, Stripe habilita las tarjetas y otros métodos de pago comunes. Puedes activar o desactivar métodos de pago individuales en el Dashboard de Stripe. En Checkout, Stripe evalúa la divisa y las restricciones y, a continuación, presenta al cliente de forma dinámica los métodos de pago admitidos.
Para ver cómo se muestran tus métodos de pago a los clientes, introduce un ID de transacción o establece el importe y la divisa de un pedido en el Dashboard.
Puedes habilitar Apple Pay y Google Pay en la configuración de métodos de pago. De forma predeterminada, Apple Pay está habilitado y Google Pay está deshabilitado. Sin embargo, en algunos casos Stripe las filtra incluso cuando están habilitadas. Filtramos Google Pay si habilitas el impuesto automático sin recopilar la dirección de envío.
Las páginas alojadas en Stripe de Checkout no necesitan cambios de integración para habilitar Apple Pay o Google Pay. Stripe gestiona estos pagos igual que otros pagos con tarjeta.
Confirma tu punto de conexión
Confirma que tu punto de conexión sea accesible iniciando tu servidor web (por ejemplo, localhost:4242
) y ejecutando el siguiente comando:
curl -X POST -is "http://localhost:4242/create-checkout-session" -d ""
Deberías ver una respuesta en tu terminal de este estilo:
HTTP/1.1 303 See Other Location: https://checkout.stripe.com/c/pay/cs_test_... ...
Pruebas
Ya deberías tener un botón de finalización de compra en funcionamiento que redireccione al cliente a Stripe Checkout.
- Haz clic en el botón de finalización de compra.
- Se te redireccionará al formulario de pago de Stripe Checkout.
Si tu integración no funciona, haz lo siguiente:
- Abre la pestaña Red en las herramientas para desarrolladores de tu navegador.
- Haz clic en el botón de finalización de compra y confirma que se le haya enviado una petición XHR a tu punto de conexión de lado del servidor (
POST /create-checkout-session
). - Verifica que la petición devuelva un código de estado 200.
- Usa
console.
dentro del oyente de clic del botón para confirmar que se hayan devuelto los datos correctos.log(session)
Muestra una página de confirmaciónLado del clienteLado del servidor
Es importante que tu cliente vea una página de confirmación después de haber enviado correctamente el formulario de pago. Aloja esta página en tu sitio.
Crea una pequeña página de confirmación:
<html> <head><title>Thanks for your order!</title></head> <body> <h1>Thanks for your order!</h1> <p> We appreciate your business! If you have any questions, please email <a href="mailto:orders@example.com">orders@example.com</a>. </p> </body> </html>
A continuación, actualiza el punto de conexión de creación de la sesión de Checkout para usar esta nueva página:
Nota
Si quieres personalizar tu página de confirmación, lee la guía para personalizar la página de confirmación.
Pruebas
- Haz clic en el botón de finalización de compra.
- Completa los datos del pago con la información de la tarjeta de prueba:
- Introduce
4242 4242 4242 4242
como número de tarjeta. - Introduce cualquier fecha futura como fecha de caducidad.
- Introduce cualquier número de 3 dígitos como CVC.
- Introduce cualquier código postal de facturación.
- Introduce
- Haz clic en Pagar.
- Se te redirigirá a tu nueva página de confirmación.
A continuación, busca el nuevo pago en el Dashboard de Stripe. Los pagos efectuados correctamente aparecen en la del Dashboard lista de pagos. Cuando haces clic en un pago, te redirige a la página de datos del pago. La sección Resumen de pagos contiene información de facturación y la lista de artículos comprados, que puedes usar para completar el pedido manualmente.
Administrar eventos posteriores al pago
Stripe envía un evento checkout.session.completed cuando un cliente completa un pago de Checkout Session. Usa la herramienta webhook Dashboard o sigue las indicaciones de la guía de webhooks para recibir y gestionar estos eventos, que pueden hacer que hagas lo siguiente:
- Envía un correo electrónico de confirmación del pedido a tu cliente.
- Registra la venta en una base de datos.
- Inicia el flujo de trabajo de un envío.
Escucha estos eventos en lugar de esperar a que el cliente sea redirigido a tu sitio web. No es fiable activar el cumplimiento únicamente desde la página de inicio de Checkout. Configurar tu integración para escuchar eventos asincrónicos te permite aceptar diferentes tipos de métodos de pago con una sola integración.
Encontrarás más detalles en nuestra guía para completar pedidos con Checkout.
Gestiona los siguientes eventos al cobrar pagos con Checkout:
Evento | Descripción | Acción |
---|---|---|
checkout.session.completed | Se envía cuando un cliente completa correctamente una sesión de Checkout. | Envía al cliente una confirmación del pedido y completa el pedido. |
checkout.session.async_payment_succeeded | Se envía cuando se efectúa correctamente un pago realizado con un método de pago retrasado, como una deuda directa ACH. | Envía al cliente una confirmación del pedido y completa el pedido. |
checkout.session.async_payment_failed | Se envía cuando falla un pago realizado con un método de pago retrasado, como una deuda directa ACH. | Avisa al cliente del fallo y haz que vuelva durante la sesión para intentar el pago de nuevo. |
Prueba tu integración
Para probar la integración de tu formulario de pago alojado en Stripe:
- Crear una sesión de Checkout.
- Completa los datos del pago con un método de la siguiente tabla.
- Introduce cualquier fecha futura como fecha de caducidad.
- Introduce cualquier número de 3 dígitos como CVC.
- Introduce cualquier código postal de facturación.
- Haz clic en Pagar. Se te redirigirá a tu
success_
.url - Ve al Dashboard y busca el pago en la página Transacciones. Si tu pago se ha efectuado correctamente, lo verás en esa lista.
- Haz clic en tu pago para ver más detalles, como un resumen de Checkout con la información de facturación y la lista de artículos comprados. Puedes usar esta información para completar el pedido.
Más información sobre probar la integración.
Consulta Pruebas para obtener información adicional para probar tu integración.
Tarjetas de prueba
Número | Descripción |
---|---|
La transacción se efectúa correctamente y el pago se procesa de inmediato. | |
Para que el pago se realice correctamente, se requiere la autenticación mediante 3D Secure 2. | |
Siempre da error con el código de pago rechazado insufficient_ . |