Gate payment gateway behind Pro and Business plans.
Deploy Ladill POS / deploy (push) Successful in 1m9s

Free accounts keep cash sales only; connecting a gateway and card/MoMo
checkout require a paid plan, with settings upsell copy for free users.
This commit is contained in:
isaacclad
2026-07-15 21:04:09 +00:00
parent 689c9924df
commit 836aa83f41
6 changed files with 133 additions and 32 deletions
@@ -53,6 +53,7 @@ class SettingsController extends Controller
'tables' => $this->scopeToLocation($request, PosTable::owned($owner))
->orderBy('area')->orderBy('position')->orderBy('label')->get(),
'gateway' => $this->gateway->settingFor($account),
'canUsePaymentGateway' => $this->subscriptions->canUsePaymentGateway($account),
]);
}
@@ -144,6 +145,7 @@ class SettingsController extends Controller
/**
* Upsert merchant gateway credentials for the acting account.
* Blank secret fields keep the previously stored encrypted values.
* Free plan cannot connect or change gateway credentials.
*/
protected function persistGateway(Request $request, User $user): void
{
@@ -160,6 +162,11 @@ class SettingsController extends Controller
return;
}
if (! $this->subscriptions->canUsePaymentGateway($user)) {
// Ignore gateway fields on free plan (other settings may still save).
return;
}
$attributes = [
'provider' => $provider !== '' ? $provider : $existing->provider,
'is_active' => $request->boolean('gateway_is_active'),