Esempio n. 1
0
 /**
  * The following variables are no longer order specific and should be fixed:
  * pclass, -1 for all Klarna Checkout orders
  * pno, null for all Klarna Checkout orders
  * @param $order
  * @param $method
  * @param $payments
  * @return bool
  */
 function activate($order, $payments)
 {
     $rno = $this->getReservationNumber($payments);
     if (!$rno) {
         return;
         // error already sent
     }
     // TO DO ASK KLARNA ABOUT KLARNA MODE
     //$mode = KlarnaHandler::getKlarnaMode($method,  $this->getPurchaseCountry($method));
     //$ssl = KlarnaHandler::getKlarnaSSL($mode);
     // Instantiate klarna object.
     $this->initKlarnaParams($this->method);
     $klarna = new Klarna_virtuemart();
     $klarna->config($this->merchantid, $this->sharedsecret, $this->country_code_3, NULL, $this->currency_code_3, $this->mode, VMKLARNA_PC_TYPE, KlarnaHandler::getKlarna_pc_type(), $this->ssl);
     $modelOrder = VmModel::getModel('orders');
     try {
         $return = $klarna->activate($rno);
         if ($return[0] == 'ok') {
             VmInfo(vmText::sprintf('VMPAYMENT_KLARNACHECKOUT_ACTIVATE_RESERVATION', $rno));
             $vm_invoice_name = '';
             $invoice_number = $return[1];
             $invoiceURL = $this->getInvoice($invoice_number, $vm_invoice_name);
             $history = array();
             $history['customer_notified'] = 0;
             $history['order_status'] = $this->method->status_activate;
             $history['comments'] = vmText::sprintf('VMPAYMENT_KLARNACHECKOUT_PAYMENT_STATUS_ACTIVATE', $rno);
             // $order['details']['BT']->order_number);
             $modelOrder->updateStatusForOneOrder($order->virtuemart_paymentmethod_id, $history, TRUE);
             $dbValues['order_number'] = $payments[0]->order_number;
             $dbValues['payment_name'] = '';
             $dbValues['virtuemart_paymentmethod_id'] = $payments[0]->virtuemart_paymentmethod_id;
             $dbValues['action'] = 'activate';
             $dbValues['klarna_status'] = 'activate';
             $data["InvoiceNumber"] = $invoice_number;
             $data["InvoicePdf"] = $invoiceURL;
             $dbValues['format'] = 'json';
             $dbValues['data'] = json_encode($data);
             $this->debugLog($dbValues, 'storePSPluginInternalData activate', 'debug');
             $values = $this->storePSPluginInternalData($dbValues, $this->_tablepkey);
         } else {
             VmError('activate returned KO', vmText::sprintf('VMPAYMENT_KLARNACHECKOUT_ERROR_OCCURRED', $this->method->payment_name));
         }
     } catch (Exception $e) {
         VmError($e->getMessage(), vmText::sprintf('VMPAYMENT_KLARNACHECKOUT_ERROR_OCCURRED', $this->method->payment_name));
         $this->debugLog($e->getMessage(), 'activate', 'error');
         return FALSE;
     }
     return true;
 }
Esempio n. 2
0
 /**
  * The following variables are no longer order specific and should be fixed:
  * pclass, -1 for all Klarna Checkout orders
  * pno, null for all Klarna Checkout orders
  * @param $order
  * @param $method
  * @param $payments
  * @return bool
  */
 function activate($order, $payments)
 {
     $rno = $this->getReservationNumber($payments);
     if (!$rno) {
         return;
         // error already sent
     }
     // TO DO ASK KLARNA ABOUT KLARNA MODE
     //$mode = KlarnaHandler::getKlarnaMode($method,  $this->getPurchaseCountry($method));
     //$ssl = KlarnaHandler::getKlarnaSSL($mode);
     // Instantiate klarna object.
     $klarna = new Klarna_virtuemart();
     $klarna->config($this->_currentMethod->merchantid, $this->_currentMethod->sharedsecret, $this->country_code_3, NULL, $this->currency_code_3, $this->mode, VMKLARNA_PC_TYPE, KlarnaHandler::getKlarna_pc_type(), $this->ssl);
     $modelOrder = tmsModel::getModel('orders');
     try {
         $return = $klarna->activate($rno);
         if ($return[0] == 'ok') {
             VmInfo(tsmText::sprintf('VMPAYMENT_KLARNACHECKOUT_ACTIVATE_RESERVATION', $rno));
             $history = array();
             $history['customer_notified'] = 0;
             $history['order_status'] = $this->_currentMethod->status_activate;
             $history['comments'] = tsmText::sprintf('VMPAYMENT_KLARNACHECKOUT_PAYMENT_STATUS_ACTIVATE', $rno);
             // $order['details']['BT']->order_number);
             $modelOrder->updateStatusForOneOrder($order->virtuemart_order_id, $history, false);
             $dbValues['order_number'] = $order->order_number;
             $dbValues['virtuemart_order_id'] = $order->virtuemart_order_id;
             $dbValues['payment_name'] = '';
             $dbValues['virtuemart_paymentmethod_id'] = $payments[0]->virtuemart_paymentmethod_id;
             $dbValues['action'] = 'activate';
             $dbValues['klarna_status'] = 'activate';
         } else {
             $this->KlarnacheckoutError('activate returned KO', tsmText::sprintf('VMPAYMENT_KLARNACHECKOUT_ERROR_OCCURRED', $this->_currentMethod->payment_name));
         }
     } catch (Exception $e) {
         $this->KlarnacheckoutError($e->getMessage(), tsmText::sprintf('VMPAYMENT_KLARNACHECKOUT_ERROR_OCCURRED', $this->_currentMethod->payment_name));
         return FALSE;
     }
     return $return;
 }