subscription = $subscription; } /** * Tests if the user is currently up * to date with their payments for * a given recurring invoice * * @return bool */ public function isPaidUp(RecurringInvoice $recurring_invoice) :bool { $outstanding_invoices_exist = Invoice::whereIn('status_id', [Invoice::STATUS_SENT, Invoice::STATUS_PARTIAL]) ->where('recurring_id', $recurring_invoice->id) ->where('balance', '>', 0) ->exists(); return ! $outstanding_invoices_exist; } }