Laravel Facade
<?php
Psp::setDriver($tenant->payment_provider);
$isPaid = Psp::isPaid();
vs:
Factory method pattern
<?php
$driver = PaymentProviderFactory::create($tenant->payment_provider);
$isPaid = $driver->isPaid();
<?php
Psp::setDriver($tenant->payment_provider);
$isPaid = Psp::isPaid();
vs:
<?php
$driver = PaymentProviderFactory::create($tenant->payment_provider);
$isPaid = $driver->isPaid();