Пример #1
0
 /**
  * Build the Special Campaign module.
  */
 public function specCamp($cart)
 {
     $this->code = "klarna_SpecCamp";
     if (!isset($this->klarna) || !$this->klarna instanceof Klarna_virtuemart) {
         return 0;
     }
     if (!class_exists('KlarnaAPI')) {
         require JPATH_VMKLARNAPLUGIN . DS . 'klarna' . DS . 'helpers' . DS . 'klarnaapi.php';
     }
     $totalSum = $cart->pricesUnformatted['salesPrice'];
     $this->paymeny_charge_link = "https://online.klarna.com/villkor.yaws?eid=" . $this->eid . "&charge=0";
     if (!class_exists('KlarnaVm2API')) {
         require JPATH_VMKLARNAPLUGIN . DS . 'klarna' . DS . 'helpers' . DS . 'klarna_vm2api.php';
     }
     $kCheckout = new KlarnaVm2API($this->country, $this->lang, 'spec', $totalSum, KlarnaFlags::CHECKOUT_PAGE, $this->klarna, array(KlarnaPClass::SPECIAL), JPATH_VMKLARNAPLUGIN);
     $kCheckout->addSetupValue('eid', $this->eid);
     $kCheckout->addSetupValue('payment_id', 'virtuemart_paymentmethod_id');
     if (strtolower($this->country) == 'de') {
         $vendor_id = 1;
         $link = JRoute::_('index.php?option=com_virtuemart&view=vendor&layout=tos&virtuemart_vendor_id=' . $vendor_id);
         $kCheckout->addSetupValue('agb_link', $link);
     }
     //$kCheckout->addSetupValue('agreementLink', $this->getTermsLink());
     $title = JText::_('VMPAYMENT_KLARNA_SPEC_TITLE');
     if (KlarnaHandler::getKlarnaError($klarnaError, $klarnaOption)) {
         $kCheckout->addSetupValue('red_baloon_content', $klarnaError);
         $kCheckout->addSetupValue('red_baloon_paymentBox', 'klarna_box_' . $klarnaOption);
         KlarnaHandler::clearKlarnaError();
     }
     // Something went wrong, refill what we can.
     if (isset($_SESSION['KLARNA_DATA'])) {
         $this->setPreviouslyFilledIn($_SESSION['KLARNA_DATA']);
     }
     $aParams = $this->getParams();
     $aValues = $this->getValues();
     return array('id' => "klarna_SpecCamp", 'module' => $title, 'fields' => $kCheckout->retrieveLayout($aParams, $aValues), 'pClasses' => $kCheckout->getPClassesInfo());
 }