diff --git a/app/Models/Client.php b/app/Models/Client.php index 823df416b65d..bfbcc9e7c4e9 100644 --- a/app/Models/Client.php +++ b/app/Models/Client.php @@ -448,28 +448,30 @@ class Client extends BaseModel implements HasLocalePreference if ($company_gateways) { $gateways = $this->company->company_gateways->whereIn('id', $payment_gateways); //this will never hit } else { - $gateways = $this->company->company_gateways; + $gateways = $this->company->company_gateways->where('is_deleted', false); } - $gateways->filter(function ($method) use ($amount) { + $valid_gateways = $gateways->filter(function ($method) use ($amount) { - $fees_and_limits = $method->fees_and_limits; - - if(!$fees_and_limits) - return false; + if(isset($method->fees_and_limits)) + $fees_and_limits = $method->fees_and_limits->{"1"}; + else + return true; - if ((property_exists($fees_and_limits, 'min_limit')) && $fees_and_limits->min_limit !== null && $amount < $fees_and_limits->min_limit) { - return false; - } - if ((property_exists($fees_and_limits, 'max_limit')) && $fees_and_limits->max_limit !== null && $amount > $fees_and_limits->min_limit) { + if ((property_exists($fees_and_limits, 'min_limit')) && $fees_and_limits->min_limit !== null && $amount < $fees_and_limits->min_limit) + return false; + + if ((property_exists($fees_and_limits, 'max_limit')) && $fees_and_limits->max_limit !== null && $amount > $fees_and_limits->min_limit) return false; - } - }); + + return true; + + })->all(); $payment_methods = []; - foreach ($gateways as $gateway) { + foreach ($valid_gateways as $gateway) { foreach ($gateway->driver($this)->gatewayTypes() as $type) { $payment_methods[] = [$gateway->id => $type]; }