Laravel Cashier 10 y Stripe SCA

arrow_back Blog

Hace pocos días que Laravel Cashier lanzó su versión 10 para ponerse al día con Stripe y los nuevos requisitos SCA (Strong Customer Authentication). Si estás utilizando Stripe en tu aplicación entonces debes tener en cuenta esta guía de actualización que ofrece el equipo de Laravel Cashier o directamente desde la documentación de Laravel, en ella se explican los pasos necesarios para subir de versión y qué debemos tener en cuenta.

El nuevo requerimiento (SCA) sólo afecta a los pagos en línea que se procesen en Europa a través de Stripe, estas regulaciones fueron impuestas en septiembre de 2019 por la Unión Europea para evitar el fraude de pagos.

Sobrescribir la template SCA Uno de los temas más importantes que debemos tener en cuenta si debemos cumplir con el SCA ocurre al momento de procesar nuevas suscripciones en nuestra plataforma. Para asegurarnos que todo funciona correctamente deberemos controlar la excepción IncompletePayment de la siguiente forma:

Eso lo que hará será controlar si es necesario solicitar datos adicionales al cliente, en caso de ser necesario, Laravel Cashier mostrará el contenido de la template vendor/laravel/cashier/payment.blade.php, la cual te recomiendo sobrescribir utilizando el comando php artisan vendor:publish, una vez lo hagas podrás modificar su código ubicado en el archivo en resources/views/vendor/cashier/payment.blade.php que tiene algo parecido a lo siguiente:

Nuevas variables de Entorno de Cashier Por si todo lo anterior fuese poco, además Laravel Cashier nos ofrece nuevas variables de entorno que yo recomiendo sobrescribir para tener un mayor control y evitar problemas entre otros con los Webhooks:

Cada variable habla por sí sola y todas son realmente importantes. La nueva columna stripe_status de la tabla Subscriptions La tabla subscriptions ha sido actualizada con una nueva columna que permite conocer el estado de las suscripciones de una forma sencilla, esta es su nueva apariencia:

Notificaciones de pago fuera de sesión Dado que el SCA requiere que los clientes verifiquen ocasionalmente sus detalles de pago incluso cuando su suscripción está activa, Laravel Cashier puede enviar una notificación de pago al cliente cuando se requiere confirmación de pago fuera de sesión. Por ejemplo, esto puede ocurrir cuando una suscripción se renueva. La notificación de pago de Cashier se puede habilitar configurando la variable de entorno CASHIER_PAYMENT_NOTIFICATION. Por defecto, esta notificación está deshabilitada. Por supuesto, Cashier incluye una clase Notification que se puede utilizar para este propósito, pero puedes proporcionar tu propia clase de notificación si lo deseas:

Dicha notificación tendrá la siguiente apariencia:

Simplemente te recomiendo sobrescribirla para que se adecúe a las necesidades de tu aplicación.

Cursosdesarrolloweb Cursosdesarrolloweb

Cursosdesarrolloweb es una plataforma educativa con cursos y tutoriales en texto y vídeo.

Términos y condiciones Política de privacidad Formulario de contacto

Copyright 2024 © Todos los derechos reservados.

Contacto