コード例 #1
0
ファイル: AdtypeService.php プロジェクト: zedx/core
 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];
 }
コード例 #2
0
ファイル: SubscriptionService.php プロジェクト: zedx/core
 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];
 }
コード例 #3
0
ファイル: Payment.php プロジェクト: zedx/core
 /**
  * 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);
 }