コード例 #1
0
ファイル: klarna.php プロジェクト: joselapria/virtuemart
 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;
 }