<?php

namespace Gaco\SnapBi\Services\Config;

use Gaco\SnapBi\Contracts\ConfigInterface;
use Gaco\SnapBi\Traits\HasConfig;
use Gaco\SnapBi\Traits\HasSelfCall;

/**
 * OCBC Bank Configuration
 */
final class OcbcConfig implements ConfigInterface
{
    use HasConfig, HasSelfCall;

    /**
     * Override required config fields for OCBC
     * OCBC requires additional fields: biller_id and company_code
     */
    protected static function getRequiredConfigFields(): array
    {
        return [
            'client_id',
            'client_secret',
            'public_key',
            'private_key',
            'biller_id',
            'company_code',
        ];
    }
}
