Guardar datos de pago durante el pago
Descubre cómo aceptar un pago y guardar los datos de pago de tu cliente para futuras compras.
Usa Stripe Checkout para lograr una integración rápida y con poca programación que permita a tus clientes guardar sus datos de pago para futuras compras.
Configura StripeLado del servidor
Primero, regístrate para obtener una cuenta de Stripe.
Usa nuestras bibliotecas oficiales para acceder a la API de Stripe desde tu aplicación:
Crea un clienteLado del servidor
Para configurar una tarjeta para pagos futuros, debes adjuntarla a un Customer. Crea el objeto Customer cuando tu cliente cree una cuenta en tu empresa. Los objetos Customer permiten reutilizar métodos de pago y hacer el seguimiento de varios pagos.
La creación correcta devuelve el objeto Customer. Puedes inspeccionar el objeto en busca del id
del cliente y almacenar el valor en tu base de datos para recuperarlo más tarde.
Puedes encontrar a estos clientes en la página Clientes del Dashboard.
Crea una Checkout SessionLado 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)
Para obtener más información sobre cómo configurar y probar tu integración con Checkout alojado, consulta Aceptar un pago.
Guarda el método de pagoLado del servidor
Después de configurar la integración de Checkout alojada, elige una configuración para que tu integración guarde los métodos de pago utilizados por tus clientes.
De forma predeterminada, los métodos de pago que se utilizan para hacer un pago único con Checkout no están disponibles para usarlos en el futuro.
Guarda métodos de pago para cargarlos fuera de la sesión
Puedes configurar Checkout para guardar los métodos de pago utilizados para realizar un pago único especificando el argumento payment_intent_data.setup_future_usage. Esto es útil si necesitas capturar un método de pago registrado para usarlo en comisiones futuras, como comisiones de cancelación o de no presentación.
Si utilizas Checkout en el modo subscription
, Stripe guarda automáticamente el método de pago para cargar los pagos posteriores. Los métodos de pago con tarjeta guardados para los clientes que utilizan el modo setup_
o subscription
no aparecen para las compras de devolución en Checkout (consulta más información sobre esto a continuación). Te recomendamos que utilices el texto personalizado para incluir un enlace a las condiciones pertinentes relativas al uso de la información de pago guardada.
Precaución
Las leyes internacionales de privacidad son complicadas y tienen muchos matices. Te recomendamos que te pongas en contacto con tu equipo legal y de privacidad antes de implementar setup_future_usage, ya que podría afectar a tu marco existente de cumplimiento de la normativa de privacidad. Consulta la guía emitida por el Consejo Europeo de Protección para obtener más información sobre cómo guardar los datos de pago.
Guarda los métodos de pago para completarlos automáticamente en Checkout
De forma predeterminada, Checkout utiliza Link para ofrecer a tus clientes la opción de guardar y reutilizar de forma segura su información de pago. Si prefieres administrar los métodos de pago tú mismo, usa saved_payment_method_options.payment_method_save al crear una Checkout Session para que tus clientes guarden sus métodos de pago para futuras compras en Checkout.
Si se especifica este parámetro en el modo de pago o suscripción, se muestra una casilla de verificación opcional que permite a los clientes guardar explícitamente su método de pago para futuras compras. Cuando los clientes marcan esta casilla, Checkout guarda el método de pago con allow_redisplay: siempre. Checkout utiliza este parámetro para determinar si un método de pago puede completarse automáticamente en futuras compras. Cuando uses saved_
, no necesitarás transferir setup_
para guardar el método de pago.
Para usar saved_payment_method_options.payment_method_save se requiere un Customer
. Para guardar un nuevo cliente, establece el valor de la sesión de Checkout customer_creation en always
. De lo contrario, la sesión no guarda el cliente ni el método de pago.
Si no se especifica payment_
o si el cliente no acepta guardar el método de pago, Checkout aún guarda los métodos de pago creados en modo subscription
o que utilizan setup_
. Estos métodos de pago tienen un valor allow_
de limited
, lo que evita que se rellenen previamente para devolver compras y te permite cumplir con las reglas de la red de tarjetas y las normativas de protección de datos. Aprende a cambiar el comportamiento predeterminado habilitado por estos modos y cómo cambiar o anular el comportamiento allow_
.
Nota
Puedes usar Checkout para guardar tarjetas y otros métodos de pago para cargarlas fuera de la sesión, pero Checkout solo rellena automáticamente las tarjetas guardadas. Descubre cómo rellenar automáticamente tarjetas guardadas. Para guardar un método de pago sin un pago inicial, usa Checkout en el modo de configuración.