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; }
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; }
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); }
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; }
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; }
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; }
public function getAddToCartForm() { return Kwc_Shop_AddToCartAbstract_OrderProductData::getAddComponentByDbId($this->getData()->row->add_component_id, $this->getData()); }