Exemplo n.º 1
0
 public function processIpn(Kwc_Shop_Cart_Checkout_Payment_Wirecard_LogRow $row, $param)
 {
     if ($row->paymentState == 'SUCCESS' || $row->paymentState == 'PENDING') {
         $order = Kwf_Model_Abstract::getInstance(Kwc_Abstract::getSetting($this->getData()->parent->parent->componentClass, 'childModel'))->getReferencedModel('Order')->getRow($param['orderId']);
         if (!$order) {
             throw new Kwf_Exception("Order not found!");
         }
         $order->payment_component_id = $this->getData()->componentId;
         $order->checkout_component_id = $this->getData()->parent->componentId;
         $order->cart_component_class = $this->getData()->parent->parent->componentClass;
         if ($row->paymentState == 'SUCCESS') {
             $order->status = 'payed';
             $order->payed = date('Y-m-d H:i:s');
         }
         if (!$order->confirm_mail_sent) {
             foreach ($this->getData()->parent->parent->getComponent()->getShopCartPlugins() as $p) {
                 $p->orderConfirmed($order);
             }
             foreach ($order->getChildRows('Products') as $p) {
                 $addComponent = Kwc_Shop_AddToCartAbstract_OrderProductData::getAddComponentByDbId($p->add_component_id, $this->getData());
                 if ($addComponent) {
                     $addComponent->getComponent()->orderConfirmed($p);
                 }
             }
             $this->sendConfirmMail($order);
             $order->date = date('Y-m-d H:i:s');
             $order->confirm_mail_sent = date('Y-m-d H:i:s');
         }
         $order->save();
         return true;
     } else {
         throw new Kwf_Exception('Error by processing ipn');
     }
     return false;
 }
Exemplo n.º 2
0
 public function getTemplateVars(Kwf_Component_Renderer_Abstract $renderer)
 {
     $ret = parent::getTemplateVars($renderer);
     $addCmp = Kwc_Shop_AddToCartAbstract_OrderProductData::getAddComponentByDbId($this->getData()->chained->row->add_component_id, $this->getData());
     if ($addCmp) {
         $ret['product'] = $addCmp->getComponent()->getProduct();
         $ret['row'] = $this->getData()->chained->row;
         $ret['price'] = $addCmp->getComponent()->getPrice($ret['row']);
         $ret['text'] = $addCmp->getComponent()->getProductText($ret['row']);
     }
     return $ret;
 }
Exemplo n.º 3
0
 public function confirmOrder($order)
 {
     $order->payment_component_id = $this->getData()->componentId;
     $order->checkout_component_id = $this->getData()->parent->componentId;
     $order->cart_component_class = $this->getData()->parent->parent->componentClass;
     $order->status = 'ordered';
     $order->confirm_mail_sent = date('Y-m-d H:i:s');
     $order->date = date('Y-m-d H:i:s');
     $order->save();
     $plugins = Kwf_Model_Abstract::getInstance(Kwc_Abstract::getSetting($this->getData()->chained->parent->parent->componentClass, 'childModel'))->getReferencedModel('Order')->getShopCartPlugins();
     foreach ($plugins as $p) {
         $p->orderConfirmed($order);
     }
     foreach ($order->getChildRows('Products') as $p) {
         $addComponent = Kwc_Shop_AddToCartAbstract_OrderProductData::getAddComponentByDbId($p->add_component_id, $this->getData());
         $addComponent->getComponent()->orderConfirmed($p);
     }
     $this->sendConfirmMail($order);
 }
Exemplo n.º 4
0
 public function getTemplateVars(Kwf_Component_Renderer_Abstract $renderer)
 {
     $ret = parent::getTemplateVars($renderer);
     $ret['order'] = $this->_getOrder();
     $items = $ret['order']->getChildRows('Products');
     $ret['items'] = array();
     $ret['additionalOrderDataHeaders'] = array();
     foreach ($items as $i) {
         $addComponent = Kwc_Shop_AddToCartAbstract_OrderProductData::getAddComponentByDbId($i->add_component_id, $this->getData());
         $additionalOrderData = $addComponent->getComponent()->getAdditionalOrderData($i);
         foreach ($additionalOrderData as $d) {
             if (!isset($ret['additionalOrderDataHeaders'][$d['name']])) {
                 $ret['additionalOrderDataHeaders'][$d['name']] = array('class' => $d['class'], 'text' => $d['name']);
             }
         }
         $ret['items'][] = (object) array('product' => $addComponent->parent, 'row' => $i, 'additionalOrderData' => $additionalOrderData, 'price' => $i->getProductPrice(), 'text' => $addComponent->getComponent()->getProductText($i));
     }
     $ret['sumRows'] = $this->_getSumRows($this->_getOrder());
     $ret['tableFooterText'] = '';
     $ret['footerText'] = '';
     return $ret;
 }
Exemplo n.º 5
0
 public function processIpn(Kwf_Util_PayPal_Ipn_LogModel_Row $row, $param)
 {
     if ($row->txn_type == 'web_accept') {
         $order = Kwf_Model_Abstract::getInstance(Kwc_Abstract::getSetting($this->getData()->parent->parent->componentClass, 'childModel'))->getReferencedModel('Order')->getRow($param['orderId']);
         if (!$order) {
             throw new Kwf_Exception("Order not found!");
         }
         $order->payment_component_id = $this->getData()->componentId;
         $order->checkout_component_id = $this->getData()->parent->componentId;
         $order->cart_component_class = $this->getData()->parent->parent->componentClass;
         if ($row->payment_status == 'Completed') {
             $order->status = 'payed';
             $order->payed = date('Y-m-d H:i:s');
         }
         if (!$order->confirm_mail_sent) {
             foreach ($this->getData()->parent->parent->getComponent()->getShopCartPlugins() as $p) {
                 $p->orderConfirmed($order);
             }
             foreach ($order->getChildRows('Products') as $p) {
                 $addComponent = Kwc_Shop_AddToCartAbstract_OrderProductData::getAddComponentByDbId($p->add_component_id, $this->getData());
                 $addComponent->getComponent()->orderConfirmed($p);
             }
             $this->sendConfirmMail($order);
             $order->date = date('Y-m-d H:i:s');
             $order->confirm_mail_sent = date('Y-m-d H:i:s');
         }
         $order->save();
         return true;
     } else {
         $mail = new Zend_Mail('utf-8');
         $mail->setBodyText(print_r($row->toArray(), true))->setSubject('shop paypal: unbekannte notification');
         $mail->addTo('*****@*****.**');
         $mail->send();
     }
     return false;
 }
Exemplo n.º 6
0
 private function _getProductsData(Kwf_Component_Data $subroot = null)
 {
     $ret = array();
     $items = $this->getChildRows('Products');
     $ret = array();
     foreach ($items as $i) {
         $data = Kwc_Shop_VoucherProduct_AddToCart_OrderProductData::getInstance($i->add_component_class);
         $r = array('id' => $i->id, 'additionalOrderData' => $data->getAdditionalOrderData($i), 'price' => $this->_getProductPrice($i), 'amount' => $data->getAmount($i), 'text' => $data->getProductText($i));
         if ($subroot) {
             $addComponent = Kwc_Shop_AddToCartAbstract_OrderProductData::getAddComponentByDbId($i->add_component_id, $subroot);
             if (!$addComponent) {
                 //product doesn't exist anymore, also delete from cart
                 $i->delete();
                 continue;
             } else {
                 $r['product'] = $addComponent->parent;
                 $r['text'] = $addComponent->getComponent()->getProductText($i);
             }
         }
         $ret[] = (object) $r;
     }
     return $ret;
 }
Exemplo n.º 7
0
 public function getAddToCartForm()
 {
     return Kwc_Shop_AddToCartAbstract_OrderProductData::getAddComponentByDbId($this->getData()->row->add_component_id, $this->getData());
 }