Propósito
Los servicios existen para comunicarse con sistemas externos (Stripe, APIs, integraciones de terceros). Cuando existe un servicio, no debe contener lógica de dominio que pertenezca a un modelo ni gestionar directamente el estado del modelo.
Los servicios de pago pueden llamar métodos SDK del framework que realizan flujos de facturación externos, como los builders de suscripciones de Laravel Cashier, los métodos del ciclo de vida de suscripciones (newSubscription(), checkout(), cancelNow(), addPriceAndInvoice(), removePrice(), swap()), y los métodos de formas de pago (addPaymentMethod(), updateDefaultPaymentMethod(), deletePaymentMethod()). Trátalos como operaciones externas de Stripe, no como escrituras ordinarias del modelo de dominio, siempre que el servicio no esté asignando manualmente atributos de Eloquent no relacionados ni llamando métodos genéricos de persistencia para estado de la aplicación.