/** * 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()); }