Configurar una suscripción con débito directo SEPA
Una sesión de Checkout representa los detalles de la intención de compra del cliente. Creas una sesión cuando el cliente desea iniciar una suscripción. Después de enviar al cliente a la sesión de Checkout, Stripe le presenta un formulario de pago donde podrá completar la compra. Una vez que el cliente haya completado la compra, se lo redirigirá a tu sitio.
Configurar StripeLado del servidor
Instala el cliente de Stripe que prefieras:
Instala la CLI de Stripe (opcional). La CLI te permite hacer pruebas de webhooks y puedes ejecutarla para crear productos y precios.
Para obtener más opciones de instalación, consulta Cómo empezar a usar la CLI de Stripe.
Crear el modelo de tarifasDashboardCLI de Stripe
Crea los productos con sus precios en el Dashboard o con la CLI de Stripe.
Este ejemplo utiliza un servicio de precio fijo con dos niveles de servicio diferentes: básico y prémium. Para cada opción de nivel de servicio, debes crear un producto y un precio recurrente. (Si quieres agregar un cargo puntual, como el costo de instalación, crea un tercer producto con un precio puntual. Para simplificar, este ejemplo no incluye un cargo puntual).
En este ejemplo, cada producto se factura mensualmente. El precio del producto básico es del 5 EUR. El precio del producto prémium es del 15 EUR.
Para ver otros modelos de tarifas, consulta los ejemplos de facturación.
Crear una sesión de CheckoutLado del clienteLado del servidor
Agrega un botón para finalizar la compra en tu sitio web que llame a un punto de conexión del lado del servidor para crear una sesión de Checkout.
<html> <head> <title>Checkout</title> </head> <body> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
Crea un sesión con el ID de un precio existente. Asegúrate de que el modo esté configurado en subscription
y de especificar al menos un precio recurrente. Puedes agregar precios únicos además de los precios recurrentes. Después de haber creado una sesión de Checkout, redirige a tu cliente a la URL devuelta en la respuesta.
Cuando tu cliente completa correctamente el pago, se lo redirige a la success_url
, una página de tu sitio web que le informa al cliente que su pago se efectuó correctamente. Muestra el ID de sesión en tu página de confirmación incluyendo la variable de plantilla {CHECKOUT_SESSION_ID}
en la success_url
como se muestra en el ejemplo anterior.
Cuando tu cliente hace click en tu logotipo en una sesión de Checkout sin completar el pago, Checkout lo redirige nuevamente a tu sitio web, a la cancel_url
. Por lo general, esta es la página de tu sitio web que el cliente vio antes de ser redirigido a Checkout.
Las sesiones de Checkout vencen 24 horas después de su creación.
Desde el Dashboard, habilita los métodos de pago de tus clientes que quieras aceptar. Checkout acepta varios métodos de pago.
Precaución
No te bases solo en el redireccionamiento a la success_url
para detectar el inicio del pago, ya que:
- Algunos usuarios maliciosos podrían acceder directamente a la
success_url
y tener acceso a los bienes o servicios sin pagar. - Los clientes no siempre llegan a la
success_url
después de un pago correcto, posiblemente porque cierran la pestaña del navegador antes de ser redirigidos.
Confirmar que el pago se efectuó correctamente
Cuando tu cliente completa correctamente el pago, Stripe lo redirige a la URL que especificaste en el parámetro success_url
. Por lo general, esta es una página de tu sitio web que le informa al cliente que su pago se efectuó correctamente.
Sin embargo, SEPA Direct Debit es un método de pago con notificación retrasada, lo que significa que los fondos no están disponibles de inmediato. Ante un pago de SEPA Direct Debit, los fondos suelen demorar three días hábiles en estar disponibles. Debido a esto, te conviene retrasar el pedido hasta que los fondos estén disponibles.. Una vez que se efectúe correctamente el pago, el estado subyacente del PaymentIntent cambia de processing
a succeeded
.
Puedes confirmar que el pago se efectuó correctamente de varias maneras:
Probar la integración
Puedes probar tu integración usando los Códigos Internacionales de Cuenta Bancaria (IBAN) que figuran a continuación. Los detalles del método de pago se recopilan para cada IBAN, pero muestran un comportamiento diferente cuando se cobran.