'integer', 'is_default' => 'boolean', 'extra_json' => 'array', 'iframe_allowed_origins' => 'array', 'wallet_timeout_seconds' => 'integer', ]; } public function isEnabled(): bool { return (int) $this->status === 1; } public function decryptedSsoJwtSecret(): ?string { return $this->decryptSecret($this->sso_jwt_secret_encrypted); } public function decryptedWalletApiKey(): ?string { return $this->decryptSecret($this->wallet_api_key_encrypted); } private function decryptSecret(?string $encrypted): ?string { if (! is_string($encrypted) || $encrypted === '') { return null; } try { return decrypt($encrypted); } catch (\Throwable) { return null; } } }