protected function getListFEPayment(VirtueMartCart $cart, $method) { $currency_code = ShopFunctions::getCurrencyByID($cart->pricesCurrency, 'currency_code_3'); $this->_getCartAddressCountryCode($cart, $country_code, $countryId); if (!($cData = $this->checkCountryCondition($method, $country_code, $cart))) { return NULL; } $pclasses = KlarnaHandler::getPClasses(NULL, $country_code, KlarnaHandler::getKlarnaMode($method), $cData); $this->getNbPClasses($pclasses, $specCamp, $partPay); $sessionKlarnaData = $this->getKlarnaSessionData(); $klarna_paymentmethod = ""; if (isset($sessionKlarnaData->KLARNA_DATA['klarna_paymentmethod'])) { $klarna_paymentmethod = $sessionKlarnaData->KLARNA_DATA['klarna_paymentmethod']; } $html = ''; $payments = new klarna_payments($cData, KlarnaHandler::getShipToAddress($cart)); $payment_params = $payments->invoice($method); $payment_form = $this->renderByLayout('payment_form', array('checkout' => $payment_params['fields']['checkout'], 'input' => $payment_params['fields']['input'], 'value' => $payment_params['fields']['value'], 'setup' => $payment_params['fields']['setup'], 'sType' => $payment_params['fields']['sType'], 'pClasses' => $payment_params['pClasses']), 'klarna', 'payment'); $html .= $this->renderByLayout('displaypayment', array('stype' => 'invoice', 'id' => $payment_params['id'], 'module' => $payment_params['module'], 'klarna_form' => $payment_form, 'virtuemart_paymentmethod_id' => $method->virtuemart_paymentmethod_id, 'klarna_paymentmethod' => $klarna_paymentmethod)); if ($partPay > 0) { if ($payment_params = $payments->partPay($cart)) { $payment_form = $this->renderByLayout('payment_form', array('checkout' => $payment_params['fields']['checkout'], 'input' => $payment_params['fields']['input'], 'value' => $payment_params['fields']['value'], 'setup' => $payment_params['fields']['setup'], 'sType' => $payment_params['fields']['sType'], 'pClasses' => $payment_params['pClasses']), 'klarna', 'payment'); $html .= $this->renderByLayout('displaypayment', array('stype' => 'part', 'id' => $payment_params['id'], 'module' => $payment_params['module'], 'klarna_form' => $payment_form, 'virtuemart_paymentmethod_id' => $method->virtuemart_paymentmethod_id, 'klarna_paymentmethod' => $klarna_paymentmethod)); } } if ($specCamp > 0) { if ($payment_params = $payments->specCamp($cart)) { $payment_form = $this->renderByLayout('payment_form', array('checkout' => $payment_params['fields']['checkout'], 'input' => $payment_params['fields']['input'], 'value' => $payment_params['fields']['value'], 'setup' => $payment_params['fields']['setup'], 'sType' => $payment_params['fields']['sType'], 'pClasses' => $payment_params['pClasses']), 'klarna', 'payment'); $html .= $this->renderByLayout('displaypayment', array('stype' => 'spec', 'id' => $payment_params['id'], 'module' => $payment_params['module'], 'klarna_form' => $payment_form, 'virtuemart_paymentmethod_id' => $method->virtuemart_paymentmethod_id, 'klarna_paymentmethod' => $klarna_paymentmethod)); } } // TO DO add html: $pluginHtml = $html; return $pluginHtml; }