diff --git a/app/Http/Livewire/BillingPortalPurchase.php b/app/Http/Livewire/BillingPortalPurchase.php index 9916b46d0102..8053b6c67a50 100644 --- a/app/Http/Livewire/BillingPortalPurchase.php +++ b/app/Http/Livewire/BillingPortalPurchase.php @@ -360,7 +360,7 @@ class BillingPortalPurchase extends Component $this->invoice = $this->subscription ->service() - ->createInvoice($data) + ->createInvoice($data, $this->quantity) ->service() ->markSent() ->fillDefaults() diff --git a/app/Repositories/SubscriptionRepository.php b/app/Repositories/SubscriptionRepository.php index 0b41dca74911..cbd3a481a7ed 100644 --- a/app/Repositories/SubscriptionRepository.php +++ b/app/Repositories/SubscriptionRepository.php @@ -28,6 +28,8 @@ class SubscriptionRepository extends BaseRepository { use CleanLineItems; + public int $quantity = 1; + public function save($data, Subscription $subscription): ?Subscription { $subscription->fill($data); @@ -124,7 +126,7 @@ class SubscriptionRepository extends BaseRepository private function makeLineItem($product, $multiplier) { $item = new InvoiceItem; - $item->quantity = $product->quantity; + $item->quantity = $this->quantity; $item->product_key = $product->product_key; $item->notes = $product->notes; $item->cost = $product->price*$multiplier; diff --git a/app/Services/Subscription/SubscriptionService.php b/app/Services/Subscription/SubscriptionService.php index c16c20bfd909..c4f3ff7bc260 100644 --- a/app/Services/Subscription/SubscriptionService.php +++ b/app/Services/Subscription/SubscriptionService.php @@ -706,11 +706,12 @@ class SubscriptionService * @param array $data * @return Invoice */ - public function createInvoice($data): ?\App\Models\Invoice + public function createInvoice($data, $quantity = 1): ?\App\Models\Invoice { $invoice_repo = new InvoiceRepository(); $subscription_repo = new SubscriptionRepository(); + $subscription_repo->quantity = $quantity; $invoice = InvoiceFactory::create($this->subscription->company_id, $this->subscription->user_id); $invoice->line_items = $subscription_repo->generateLineItems($this->subscription);