Exemple #1
0
 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];
 }
Exemple #2
0
 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];
 }
Exemple #3
0
 /**
  * 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);
 }
Exemple #4
0
 /**
  * Enable/Disable a gateway.
  *
  * @param Gateway $gateway
  *
  * @return Response
  */
 public function switchStatus(Gateway $gateway)
 {
     $gateway->enabled = !$gateway->enabled;
     $gateway->save();
 }
Exemple #5
0
 protected function create($name, $title, $help, $options, $driver, $enabled)
 {
     return Gateway::create(['name' => $name, 'title' => $title, 'help' => $help, 'options' => $options, 'driver' => $driver, 'enabled' => $enabled]);
 }