Aceptar un pago
Acepta pagos en línea en modo seguro.
Crea un formulario de pago o usa una página de confirmación de compra prediseñada para comenzar a aceptar pagos electrónicos.
Crea una página de confirmación de compra en tu sitio web con Stripe Elements y Checkout Sessions, una integración que gestiona impuestos, descuentos, tasas de envío y mucho más.
Configurar el servidorLado del servidor
Antes de comenzar, debes registrarte para obtener una cuenta de Stripe.
Usa las bibliotecas oficiales de Stripe para acceder a la API desde tu aplicación.
Configura el SDK para que use, como mínimo, la versión de la API 2025-03-31..
Crea una sesión de CheckoutLado del servidor
Agrega un punto de conexión en el servidor que cree una sesión de Checkout y devuelva su secreto de cliente al front-end. Una sesión de Checkout representa la sesión del cliente cuando paga por compras únicas o suscripciones. Las sesiones de Checkout vencen 24 horas después de su creación.
Recopila datos de pagoLado del cliente
Recopila los datos de pago del cliente con el Payment Element. Payment Element es un componente de interfaz de usuario prediseñado que simplifica la recopilación de datos de pago para una variedad de métodos de pago.
Prueba tu integración
- Navega a tu página de finalización de compra.
- Completa los datos de pago con un método de pago de la siguiente tabla. Para pagos con tarjeta:
- Ingresa una fecha futura como fecha de vencimiento.
- Ingresa cualquier número de 3 dígitos como CVC.
- Ingresa un código postal de facturación.
- Envía el pago a Stripe.
- Ve al Dashboard y busca el pago en la página Transacciones. Si tu pago se realizó correctamente, lo verás en esa lista.
- Haz clic en tu pago para ver más detalles, como la información de facturación y la lista de artículos comprados. Puedes utilizar esta información para completar el pedido.
Consulta Pruebas para obtener información adicional para probar tu integración.
OpcionalCrear productos y precios
Antes de crear una sesión de Checkout, puedes crear productos y precios por adelantado. Utiliza productos para representar diferentes bienes físicos o niveles de servicio, y precios para representar los precios de cada producto.
Por ejemplo, puedes crear una camiseta como producto con un precio de USD 20. Esto te permite actualizar y agregar precios sin necesidad de cambiar los detalles de tus productos subyacentes. Puedes crear productos y precios con el Dashboard de Stripe o la API. Obtén más información sobre cómo funcionan los productos y los precios.
Cada precio que creas tiene un ID. Cuando crees una Checkout Session, haz referencia al ID del precio y a la cantidad. Si vendes en múltiples monedas, haz que tu Precio sea en múltiples monedas. Checkout automáticamente determina la moneda local del cliente y presenta esa moneda si el Precio la admite.
OpcionalCompletar automáticamente los datos de los clientesLado del servidor
Si ya tienes el correo electrónico del cliente y quieres completarlo automáticamente en la sesión de Checkout, especifica customer_email cuando crees una sesión de Checkout.
OpcionalGuardar datos de métodos de pago
Obtén información sobre cómo aceptar un pago y guardar los datos de pago de tu cliente para futuras compras.
OpcionalEscucha los cambios de la sesión de Checkout
Escucha los cambios de la sesión de Checkout
Puedes escuchar los cambios en la sesión de Checkout agregando un oyente de eventos en el evento change con checkout.on.
OpcionalRecopila las direcciones de facturación y envío
Reopilar una dirección de facturación
De forma predeterminada, una Checkout Session recopila los detalles mínimos de facturación necesarios para el pago a través del Payment Element.
Cómo usar el Billing Address Element
Puedes recopilar direcciones de facturación completas con el Billing Address Element.
Primero, especifica billing_address_collection=required cuando crees la Checkout Session.
Uso de un formulario personalizado
Puedes crear tu propio formulario para recopilar direcciones de facturación.
- Si tu página de confirmación de compra tiene un paso distinto para recopilar la dirección antes de la confirmación, llama a updateBillingAddress cuando el cliente envíe la dirección.
- De lo contrario, puedes enviar la dirección cuando tu cliente haga clic en el botón «pagar» pasando billingAddress para confirmar.
Recopila direcciones de facturación parcial
Para recopilar direcciones de facturación parciales, como solo el país y el código postal, especifica billing_address_collection=auto.
Cuando recopiles direcciones de facturación parciales, debes recopilar direcciones manualmente. De forma predeterminada, el Payment Element recopila automáticamente los datos mínimos de facturación necesarios para el pago. Para evitar la doble recopilación de datos de facturación, especifica fields.billingDetails=never cuando crees el Payment Element. Si solo tienes la intención de recopilar un subconjunto de datos de facturación (como el nombre del cliente), especifica never solo en los campos que pretendes recopilar tú mismo.
Recopilar una dirección de envío
Para recopilar la dirección de envío de un cliente, especifica el parámetro shipping_address_collection cuando crees la Checkout Session.
Cuando recopilas una dirección de envío, también debes especificar a qué países se permiten los envíos. Configura la propiedad allowed_countries con una matriz de códigos ISO de país de dos letras.
Cómo usar el Element Shipping Address
Puedes recopilar direcciones de envío completas con el Element Shipping Address.
Escucha los cambios de la sesión de Checkout
Puedes escuchar los cambios en la sesión de Checkout agregando un receptor de eventos para manejar los cambios relacionados con la dirección.
Usa un formulario personalizado
Puedes crear tu propio formulario para recopilar direcciones de envío.
- Si tu página de confirmación de compra tiene un paso distinto de recopilación de direcciones antes de la confirmación, llama a updateShippingAddress cuando tu cliente envíe la dirección.
- De lo contrario, puedes enviar la dirección cuando el cliente haga clic en el botón «pagar» especificando shippingAddress para confirmar.
OpcionalSeparar la autorización de la capturaLado del servidor
Stripe admite los pagos con tarjeta en dos pasos, de modo que primero puedes autorizar una tarjeta y luego capturar los fondos. Cuando Stripe autoriza un pago, el emisor de la tarjeta garantiza los fondos y retiene el importe del pago en la tarjeta del cliente. Luego tienes un cierto tiempo para capturar los fondos, según la tarjeta). Si no capturas el pago antes del vencimiento de la autorización, se cancela el pago y el emisor libera los fondos retenidos.
Separar la autorización y la captura es útil si tienes que tomar medidas adicionales entre la confirmación de que el cliente puede pagar y el cobro de los fondos. Por ejemplo, si vendes artículos de stock limitado y un cliente compra un producto con Checkout, es posible que tengas que confirmar si hay stock del artículo antes de capturar el pago y completar la compra. Para conseguirlo, usa el siguiente flujo de trabajo:
- Confirma que Stripe autorizó el método de pago del cliente.
- Consulta tu sistema de gestión de inventario para confirmar si hay stock del artículo.
- Actualiza tu sistema de gestión de inventario para indicar que el cliente ha comprado el artículo.
- Captura el pago del cliente.
- Informa a tu cliente si se concretó la compra en tu página de confirmación.
Para indicar que quieres separar la autorización de la captura, debes establecer el valor de payment_intent_data.capture_method en manual al crear la sesión de Checkout. Esto le indica a Stripe que solo debe autorizar el importe en la tarjeta del cliente.
Para capturar un pago que solo fue autorizado, puedes usar el punto de conexión del Dashboard o de captura. Para capturar pagos mediante programación, es necesario acceder al PaymentIntent creado durante la sesión de Checkout, al que llegas desde el objeto Session.
OpcionalGestión de cuentas de clientesSin código
Para permitir que tus clientes gestionen sus propias cuentas, comparte un enlace a tu portal de clientes. El portal de clientes les permite a los clientes iniciar sesión con su correo electrónico para gestionar las suscripciones, actualizar los métodos de pago, etc.
OpcionalGestión logística del pedido
Obtén información sobre cómo programar la recepción de una notificación cuando un cliente paga.