Enviar las facturas de Cashier por email con Laravel 7

arrow_back Blog

Para enviar las facturas de Cashier por email en Laravel lo único que debemos tener guardado en base de datos es el invoice_id, algo que Stripe nos ofrece si por ejemplo realizamos el pago con el método invoiceFor.

Yo en mi caso guardo la columna invoice_id en la tabla Orders, así, cuando Stripe me notifica que el pago ha sido correcto, puedo obtener esa factura y adjuntarla en un email para que el cliente la pueda recibir.

El ejemplo que voy a poner aquí es algo que cubrimos en el curso Plataforma de cursos con Laravel 7: Roles, Pagos con Stripe SCA, Cupones, Xdebug. Instalar laravel-dompdf para adjuntar PDF Crear un Mailable para enviar facturas con Cashier

Una vez tenemos el Mailable StudentNewOrder (cuando un cliente ha realizado un pago), vamos a añadir lógica a este archivo.

A este mailable simplemente le pasamos el cliente y el pedido. La factura que nos retorna Stripe a través de los WebHooks la podemos obtener con el método findInvoice de Cashier, tal y como lo hacemos aquí.

Gracias al método attachData seremos capaces de adjuntar en este caso un archivo PDF en este correo.

Para finalizar el ejemplo sólo nos falta utilizar el método send de la clase Mail para enviar el email al cliente:

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