public function setUp() { $config = (new Config())->addProvider(new ProviderConfig('zarinpal', 'fknnfgloshgwl353dkvjdoif'))->setDefaultProvider('zarinpal'); $proxy = new ProxyConfig(); $proxy->setType(ProxyConfig::TYPE_HTTP); $proxy->setHost('localhost'); $proxy->setPort(8123); $proxy->setEnabled(true); $config->setProxy($proxy); $this->provider = new ZarinpalTestProvider($config->toArray()); parent::setUp(); // TODO: Change the autogenerated stub }
<?php use Laratalks\PaymentGateways\Configs\Config; use Laratalks\PaymentGateways\Configs\ProviderConfig; use Laratalks\PaymentGateways\Configs\ProxyConfig; use Laratalks\PaymentGateways\GatewayManager; use Laratalks\PaymentGateways\Providers\ProviderInterface; use Laratalks\PaymentGateways\ValueObjects\PaymentNeeds; use Laratalks\PaymentGateways\ValueObjects\PaymentRequestNeeds; use Laratalks\PaymentGateways\ValueObjects\PaymentRequestResponse; use Laratalks\PaymentGateways\ValueObjects\PaymentVerifyResponse; use Symfony\Component\HttpFoundation\Request; $config = (new Config())->addProvider(new ProviderConfig('upal', 'fknnfgloshgwl353dkvjdoif'))->addProvider(new ProviderConfig('zarinpal', 'nafngwithtgngt'))->setDefaultProvider('upal'); $proxy = new ProxyConfig(); $proxy->setType(ProxyConfig::TYPE_HTTP); $proxy->setHost('localhost'); $proxy->setPort(8123); $proxy->setEnabled(true); $config->setProxy($proxy); // The facade to all abilities $manager = new GatewayManager($config); /** * Extending your own provider */ class ExampleProvider implements ProviderInterface { public function getName() { return 'example'; } public function callPaymentRequest(PaymentRequestNeeds $needs)