all(), [ 'paypal-client_id' => 'nullable|string', 'paypal-client-secret' => 'nullable|string', 'paypal-sandbox-secret' => 'nullable|string', 'stripe-secret-key' => 'nullable|string', 'stripe-endpoint-secret' => 'nullable|string', 'stripe-test-secret-key' => 'nullable|string', 'stripe-test-endpoint-secret' => 'nullable|string', 'stripe-methods' => 'nullable|string', 'sales-tax' => 'nullable|numeric', ]); if ($validator->fails()) { return redirect(route('admin.settings.index').'#payment')->with('error', __('Payment settings have not been updated!'))->withErrors($validator) ->withInput(); } $values = [ //SETTINGS::VALUE => REQUEST-VALUE (coming from the html-form) 'SETTINGS::PAYMENTS:PAYPAL:SECRET' => 'paypal-client-secret', 'SETTINGS::PAYMENTS:PAYPAL:CLIENT_ID' => 'paypal-client-id', 'SETTINGS::PAYMENTS:PAYPAL:SANDBOX_SECRET' => 'paypal-sandbox-secret', 'SETTINGS::PAYMENTS:PAYPAL:SANDBOX_CLIENT_ID' => 'paypal-sandbox-id', 'SETTINGS::PAYMENTS:STRIPE:SECRET' => 'stripe-secret', 'SETTINGS::PAYMENTS:STRIPE:ENDPOINT_SECRET' => 'stripe-endpoint-secret', 'SETTINGS::PAYMENTS:STRIPE:TEST_SECRET' => 'stripe-test-secret', 'SETTINGS::PAYMENTS:STRIPE:ENDPOINT_TEST_SECRET' => 'stripe-endpoint-test-secret', 'SETTINGS::PAYMENTS:STRIPE:METHODS' => 'stripe-methods', 'SETTINGS::PAYMENTS:SALES_TAX' => 'sales-tax', ]; foreach ($values as $key => $value) { $param = $request->get($value); Settings::where('key', $key)->updateOrCreate(['key' => $key], ['value' => $param]); Cache::forget('setting'.':'.$key); } return redirect(route('admin.settings.index').'#payment')->with('success', __('Payment settings updated!')); } }