Ir a contenido
Crea una cuenta
o
Inicia sesión
Logotipo de Stripe Docs
/
Pregúntale a la IA
Crear una cuenta
Iniciar sesión
Empieza ahora
Pagos
Ingresos
Plataformas y marketplaces
Gestión del dinero
Recursos para desarrolladores
Resumen
Acerca de Stripe Payments
Actualiza tu integración
Análisis de pagos
Pagos electrónicos
ResumenEncuentra tu caso de usoPagos administrados
Usa Payment Links
Crea una página del proceso de compra
    Resumen
    Guías de inicio rápido
    Personaliza el estilo
    Recopila información adicional
    Cobrar impuestos
    Actualiza en forma dinámica el proceso de compra
    Gestiona tu catálogo de productos
    Suscripciones
    Gestiona los métodos de pago
    Permite que los clientes paguen en su moneda local
    Agrega descuentos, ventas adicionales y artículos opcionales
    Configurar pagos futuros
    Guardar los datos de pago durante el pago
      Clientes invitados
    Aprueba pagos manualmente en tu servidor
    Después del pago
    Elements con registro de cambios beta de la API Checkout Sessions
    Migrar desde un proceso de compra heredado
    Migrar Checkout para usar Prices
Desarrolla una integración avanzada
Desarrolla una integración en la aplicación
Métodos de pago
Agrega métodos de pago
Gestiona los métodos de pago
Finalización de compra más rápida con Link
Interfaces de pago
Payment Links
Checkout
Elements para la web
Elements en la aplicación
Escenarios de pago
Administrar varias monedas
Flujos de pago personalizados
Capacidad adquirente flexible
Orquestación
Pagos en persona
Terminal
Más allá de los pagos
Constituye tu empresa
Criptomonedas
Financial Connections
Climate
Comprender el fraude
Protección contra fraudes de Radar
Gestionar disputas
Verificar identidades
InicioPagosBuild a checkout page

Guarda datos de pago durante el pago

Aprende a aceptar un pago y guardar los datos de pago de tu cliente para futuras compras.

Nota

La compatibilidad con métodos de pago guardados con Elements y la API Checkout Sessions solo incluye tarjetas. No es compatible con otros métodos de pago guardados, como cuentas bancarias.

Habilita los métodos de pago guardados

Para permitir que un cliente guarde su método de pago para uso futuro, especifica el parámetro saved_payment_method_options.payment_method_save al crear la sesión Checkout.

Para guardar un método de pago es necesario un objeto Customer. Pasa un cliente existente o, para crear un nuevo cliente, configura customer_creation de la sesión de Checkout en always.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "line_items[0][price]"=
{{PRICE_ID}}
\ -d "line_items[0][quantity]"=2 \ -d mode=payment \ -d ui_mode=custom \ -d customer_creation=always \ -d "saved_payment_method_options[payment_method_save]"=enabled

Después de crear la sesión de Checkout, usa el secreto de cliente devuelto en la respuesta para crear la página de confirmación de compra.

Obtén el consentimiento

Precaución

Las leyes sobre privacidad a nivel mundial son complicadas y están llenas de matices. Antes de implementar la capacidad de almacenar los datos de los métodos de pago de los clientes, consulta a tu equipo legal para asegurarte de que coincida con tu marco de privacidad y cumplimiento.

En la mayoría de los casos, debes obtener el consentimiento del cliente antes de guardar sus métodos de pago. En el ejemplo siguiente se muestra cómo obtener el consentimiento mediante una casilla de verificación.

index.html
<label> <input type="checkbox" id="save-payment-method-checkbox" /> Save my payment information for future purchases </label> <button id="pay-button">Pay</button> <div id="confirm-errors"></div>

Indica a Stripe si tu cliente ha dado su consentimiento cuando llames a confirm pasando el parámetro savePaymentMethod. Cuando guardas los datos de pago de un cliente, eres responsable de cumplir con todas las leyes, normativas y normas de la red aplicables.

checkout.js
stripe.initCheckout({fetchClientSecret}).then((checkout) => { const button = document.getElementById('pay-button'); const errors = document.getElementById('confirm-errors'); const checkbox = document.getElementById('save-payment-method-checkbox'); button.addEventListener('click', () => { // Clear any validation errors errors.textContent = ''; const savePaymentMethod = checkbox.checked; checkout.confirm({savePaymentMethod}).then((result) => { if (result.type === 'error') { errors.textContent = result.error.message; } }); }); });

Reutiliza un método de pago guardado previamente

Puedes volver a mostrar los métodos de pago guardados anteriormente para que el cliente los utilice durante el proceso de compra.

Identifica a tu cliente

Cada método de pago guardado está vinculado a un objeto Customer. Antes de crear la sesión de Checkout, autentica a tu cliente y pasa el ID de cliente correspondiente a la sesión de Checkout.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "line_items[0][price]"=
{{PRICE_ID}}
\ -d "line_items[0][quantity]"=2 \ -d mode=payment \ -d ui_mode=custom \ -d customer=
{{CUSTOMER_ID}}

Renderiza los métodos de pago guardados

Usa la matriz savedPaymentMethods en el front-end para representar los métodos de pago disponibles para el cliente.

Nota

La matriz savedPaymentMethods incluye solo los métodos de pago que se han allow_redisplay configurado en always. Sigue los pasos para obtener el consentimiento de tu cliente, que garantiza que allow_redisplay esté configurado correctamente.

index.html
<div id="saved-payment-methods"></div>
checkout.js
stripe.initCheckout({fetchClientSecret}).then((checkout) => { const container = document.getElementById('saved-payment-methods'); checkout.session().savedPaymentMethods.forEach((pm) => { const label = document.createElement('label'); const radio = document.createElement('input'); radio.type = 'radio'; radio.value = pm.id; label.appendChild(radio); label.appendChild(document.createTextNode(`Card ending in ${pm.card.last4}`)); container.appendChild(label); }); });

Confirma con un método de pago guardado

Cuando tu cliente haya seleccionado un método de pago guardado y esté listo para completar el proceso de compra, llama a confirm e introduce el ID de paymentMethod.

index.html
<button id="pay-button">Pay</button>
checkout.js
stripe.initCheckout({fetchClientSecret}).then((checkout) => { const button = document.getElementById('pay-button'); button.addEventListener('click', () => { checkout.confirm({paymentMethod: selectedPaymentMethod}).then((result) => { if (result.error) { // Confirmation failed. Display the error message. } }); }); });
¿Te fue útil esta página?
SíNo
  • ¿Necesitas ayuda? Ponte en contacto con soporte.
  • Únete a nuestro programa de acceso anticipado.
  • Echa un vistazo a nuestro registro de cambios.
  • ¿Tienes alguna pregunta? Contacto.
  • ¿LLM? Lee llms.txt.
  • Con tecnología de Markdoc