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.
Crea una página del proceso de compra en tu sitio web con Stripe Elements y Checkout Sessions, una integración que gestiona impuestos, descuentos, tarifas de envío y mucho más.
Configura el servidorLado del servidor
Antes de comenzar, debes registrarte para obtener una cuenta de Stripe.
Utiliza las bibliotecas oficiales de Stripe para acceder a la API desde tu aplicación.
Configura el SDK para que utilice al menos la versión de la API 2025-03-31..
Crea una Checkout SessionLado del servidor
Añade a tu servidor un punto de conexión que cree una sesión de Checkout y devuelve el secreto de cliente a tu front end. Una sesión de Checkout representa la sesión de tu cliente mientras paga por compras o suscripciones únicas. Las sesiones de Checkout caducan a las 24 horas de crearse.
Recopilar los datos de pagoLado del cliente
Recolecta los datos de pago del cliente con el Payment Element. El Payment Element es un componente de interfaz de usuario prediseñado que simplifica la recolección de datos de pago para varios métodos de pago.
Prueba tu integración
- Dirígete a tu página del proceso de compra.
- Rellena los datos de pago con un método de pago de la siguiente tabla. Para pagos con 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.
- Envía el pago a Stripe.
- Ve al Dashboard y busca el pago en la página de transacciones. Si tu pago se ha efectuado correctamente, lo verás en esa lista.
- Haz clic en el pago para ver más detalles, como la información de facturación y la lista de artículos comprados. Puedes usar 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. Usa 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 20 USD. Esto te permite actualizar y añadir precios sin necesidad de cambiar los detalles de tus productos subyacentes. Puedes crear productos y precios con el Dashboard de Stripe o con la API. Obtén más información sobre Cómo funcionan los productos y los precios.
Cada precio que crees tiene un ID. Al crear una Checkout Session, haz referencia al ID del precio y a la cantidad. Si vendes en varias divisas, haz que tu Precio esté en múltiples divisas. El proceso de compra determina la divisa local del cliente automáticamente y la presenta si el Precio lo admite.
OpcionalRellenar automáticamente los datos del clienteLado del servidor
Si ya has recopilado el correo electrónico de tu cliente y quieres que se rellene automáticamente en la Checkout Session, especifica customer_email al crear una Checkout Session.
OpcionalGuarda los datos de los métodos de pago
Descubre cómo aceptar un pago y guardar los datos de pago de tu cliente para futuras compras.
OpcionalEscuchar los cambios en la sesión de Checkout
Escuchar los cambios en la sesión de Checkout
Puedes escuchar los cambios en la Checkout Session añadiendo un oyente de eventos en el evento change con checkout.on.
OpcionalRecolecta las direcciones de facturación y de envío
Recolecta direcciones de facturación
De forma predeterminada, una sesión de Checkout recolecta la cantidad mínima de datos de facturación necesarios para el pago a través del Payment Element.
Cómo usar el Billing Address Element
Puedes recolectar direcciones de facturación completas utilizando el Billing Address Element.
En primer lugar, especifica billing_address_collection=required cuando crees la sesión de Checkout.
Usa un formulario personalizado
Puedes crear tu propio formulario para recolectar direcciones de facturación.
- Si tu página de proceso de compra tiene un paso distinto de recolección de direcciones antes de la confirmación, llama a updateBillingAddress cuando tu cliente envíe la dirección.
- De lo contrario, puedes enviar la dirección cuando tu cliente haga clic en el botón «Pagar» especificando billingAddress en confirm.
Recolecta direcciones de facturación parciales
Para recolectar direcciones de facturación parciales, como el país y el código postal solamente, especifica billing_address_collection=auto.
Al recolectar direcciones de facturación parciales, debes recolectar las direcciones manualmente. De forma predeterminada, el Payment Element recolecta automáticamente los datos de facturación mínimos necesarios para el pago. Para evitar la doble recolección de datos de facturación, especifica fields.billingDetails=never al crear el Payment Element. Si solo tienes la intención de recolectar un subconjunto de los datos de facturación (como el nombre del cliente), especifica never solo en los campos que tengas la intención de recolectar tú mismo.
Recolecta las direcciones de envío
Para recolectar la dirección de envío de un cliente, especifica el parámetro shipping_address_collection al crear la sesión de Checkout.
Cuando recolectas una dirección de envío, también debes especificar a qué países se permitirá el envío. Configura la propiedad allowed_countries con una matriz de códigos ISO de país de dos letras.
Cómo usar el Shipping Address Element
Puedes recolectar las direcciones de envío completas con el Shipping Address Element.
Escuchar los cambios en la sesión de Checkout
Puedes escuchar los cambios en la Checkout Session añadiendo un oyente de eventos para gestionar los cambios relacionados con la dirección.
Usar un formulario personalizado
Puedes crear tu propio formulario para recolectar direcciones de envío.
- Si tu página del proceso de compra tiene un paso distinto de recolecció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 tu cliente haga clic en el botón «Pagar» especificando shippingAddress en confirm.
OpcionalSeparar la autorización y la capturaLado del servidor
Stripe acepta 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 período para capturar los fondos, dependiendo de la tarjeta). Si no capturas el pago antes de que caduque la autorización, el pago se cancela y el emisor libera los fondos retenidos.
Separar la autorización de la captura es útil si necesitas 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 existencias limitadas y un cliente compra un producto con Checkout, es posible que tengas que confirmar si hay existencias del artículo antes de capturar el pago y completar la compra. Para conseguirlo, usa el siguiente flujo de trabajo:
- Confirma que Stripe ha autorizado el método de pago del cliente.
- Consulta tu sistema de gestión de inventario para confirmar que el artículo sigue disponible.
- Actualiza tu sistema de gestión de inventario para indicar que un cliente ha comprado el artículo.
- Captura el pago del cliente.
- Si la compra se realiza correctamente, informa a tu cliente en tu página de confirmación.
Para indicar que deseas separar la autorización y 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 de la tarjeta del cliente.
Para capturar un pago no capturado, puedes utilizar el punto de conexión del Dashboard o de captura. La captura de pagos mediante programación requiere acceso a los PaymentIntent creados durante la sesión de Checkout, que puedes obtener desde el objeto Session.
OpcionalGestión de cuentas de clientesSin programación
Permite a tus clientes gestionar sus propias cuentas compartiendo un enlace a tu portal de clientes. El portal de clientes 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 de pedidos
Descubre cómo obtener una notificación mediante programación cuando un cliente paga.