public function cart(Adtype $adtype) { $currency = setting('currency'); $gateways = Gateway::enabled()->get(); if ($adtype->price > 0) { return ['data' => compact('adtype', 'currency', 'gateways')]; } return ['data' => null]; }
public function cart(Subscription $subscription) { $currency = setting('currency'); $gateways = Gateway::enabled()->get(); if ($subscription->price > 0) { return ['data' => compact('subscription', 'currency', 'gateways')]; } return ['data' => null]; }
/** * Retrieve transaction params. * * @param array $transaction * * @return array */ protected function getParams($transaction) { $gatewayId = $transaction['gatewayId']; $gateway = Gateway::enabled()->findOrFail($gatewayId); if (!$this->order) { $this->createOrder($transaction, $gateway); } $gateways[$gateway->name] = ['driver' => $gateway->driver, 'options' => json_decode($gateway->options, true)]; Config::set('laravel-omnipay.gateways', $gateways); Omnipay::setGateway($gateway->name); $gatewayClass = "\\ZEDx\\Gateways\\" . studly_case($gateway->driver); $driver = new $gatewayClass(); if ($driver instanceof Driver === false) { throw new Exception("Driver [ {$gatewayClass} ] class must extend ZEDx\\Gateways\\Driver class"); } $encryptedOrderId = Crypt::encrypt($this->order->id); $urls = ['transactionId' => $this->order->id, 'cancelUrl' => route('payment.cancel', $encryptedOrderId), 'returnUrl' => route('payment.return', $encryptedOrderId), 'notifyUrl' => route('payment.notify', $encryptedOrderId)]; $params = $driver->getConfig($transaction); return array_merge($params, $urls); }
/** * Enable/Disable a gateway. * * @param Gateway $gateway * * @return Response */ public function switchStatus(Gateway $gateway) { $gateway->enabled = !$gateway->enabled; $gateway->save(); }
protected function create($name, $title, $help, $options, $driver, $enabled) { return Gateway::create(['name' => $name, 'title' => $title, 'help' => $help, 'options' => $options, 'driver' => $driver, 'enabled' => $enabled]); }