'boolean', 'is_secure' => 'boolean', 'recommended' => 'boolean', 'visible' => 'boolean', 'updated_at' => 'timestamp', 'created_at' => 'timestamp', 'fields' => 'json', ]; /** * @return mixed */ public function getFields() { if ($this->isCustom()) { return [ 'name' => '', 'text' => '', ]; } else { return Omnipay::create($this->provider)->getDefaultParameters(); } } /** * Test if gateway is custom * @return boolean TRUE|FALSE */ public function isCustom() :bool { return in_array($this->id, [62, 67, 68]); //static table ids of the custom gateways } }