From 3bc24a8bd76d1541b7fac9ae0dafbe3fac75eb1d Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 9 Jan 2023 22:09:07 +1100 Subject: [PATCH] Fixes for subscriptions where invoices were not being attached correctly back to the recurring invoice: --- app/Services/Subscription/SubscriptionService.php | 13 ++++++++++++- app/Services/Subscription/ZeroCostProduct.php | 3 +++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/Services/Subscription/SubscriptionService.php b/app/Services/Subscription/SubscriptionService.php index 05b17e08b085..4b2d7d1cfc48 100644 --- a/app/Services/Subscription/SubscriptionService.php +++ b/app/Services/Subscription/SubscriptionService.php @@ -239,6 +239,11 @@ class SubscriptionService ->where('status_id', Invoice::STATUS_PAID) ->first(); +if($last_invoice) + nlog($last_invoice->toArray()); +else + nlog("no invoice found"); + $refund = $this->calculateProRataRefundForSubscription($last_invoice); if($use_credit_setting != 'off') @@ -709,6 +714,12 @@ class SubscriptionService $recurring_invoice = $this->createNewRecurringInvoice($old_recurring_invoice); + //update the invoice and attach to the recurring invoice!!!!! + $invoice = Invoice::find($payment_hash->fee_invoice_id); + $invoice->recurring_id = $recurring_invoice->id; + $invoice->is_proforma = false; + $invoice->save(); + $context = [ 'context' => 'change_plan', 'recurring_invoice' => $recurring_invoice->hashed_id, @@ -910,7 +921,7 @@ class SubscriptionService $invoice = InvoiceFactory::create($this->subscription->company_id, $this->subscription->user_id); $invoice->line_items = $subscription_repo->generateLineItems($this->subscription); $invoice->subscription_id = $this->subscription->id; - $invoice->is_proforman = true; + $invoice->is_proforma = true; if(strlen($data['coupon']) >=1 && ($data['coupon'] == $this->subscription->promo_code) && $this->subscription->promo_discount > 0) { diff --git a/app/Services/Subscription/ZeroCostProduct.php b/app/Services/Subscription/ZeroCostProduct.php index b16aea48ce26..45439845c1cd 100644 --- a/app/Services/Subscription/ZeroCostProduct.php +++ b/app/Services/Subscription/ZeroCostProduct.php @@ -66,6 +66,9 @@ class ZeroCostProduct extends AbstractService ->start() ->save(); + $invoice->recurring_id = $recurring_invoice->id; + $invoice->save(); + $context = [ 'context' => 'recurring_purchase', 'recurring_invoice' => $recurring_invoice->hashed_id,