<?php

namespace App\Factories;

use App\Enum\PaymentProvider;
use App\Service\ThirdParty\BaniService;
use App\Service\ThirdParty\Interfaces\PaymentGatewayInterface;
use App\Service\ThirdParty\KoraService;
use App\Service\ThirdParty\MonnifyService;
use App\Service\ThirdParty\PalmPayService;
use App\Service\ThirdParty\SafeHeavenService;
use Faker\Provider\ar_EG\Payment;

class PaymentGatewayFactory
{
    public static function create(string $gateway): PaymentGatewayInterface
    {
        switch ($gateway) {
            case PaymentProvider::BONI:
                return new BaniService();
            case PaymentProvider::KORA:
                return new KoraService(); 
            case PaymentProvider::MONNIFY:
                return new MonnifyService(); 
            case PaymentProvider::SH:
                return new SafeHeavenService();
            case PaymentProvider::PALMPAY:
                return new PalmPayService();
            default:
                return new MonnifyService(); 
        }
    }
}
