public function testCreateOrderFromCart() { $cart_srl = 774; try { $cart = new Cart($cart_srl); $order = new Order($cart); $order->save(); $order->saveCartProducts($cart); } catch(Exception $e) { $this->fail($e->getMessage()); } $order_repository = new OrderRepository(); $order = $order_repository->getOrderBySrl($order->order_srl); $this->assertEquals(count($cart->getProducts()), count($order->getProducts())); $this->assertEquals($cart->getShippingMethodName(), $order->shipping_method); $this->assertEquals($cart->getShippingCost(), $order->shipping_cost); $this->assertEquals($cart->getPaymentMethodName(), $order->payment_method); $this->assertEquals($cart->getTotal(), $order->total); }
/** * Handle all incoming IPN notifications from 2checkout */ public function notify() { // Check the sender is 2Checkout $key = Context::get('md5_hash'); $sale_id = Context::get('sale_id'); $vendor_id = $this->sid; $invoice_id = Context::get('invoice_id'); $secret_word = $this->secret_word; $expected_key = strtoupper(md5($sale_id . $vendor_id . $invoice_id . $secret_word)); if(strtoupper($key) != $expected_key) { ShopLogger::log("Invalid 2checkout IPN message received - key " . $key . ' ' . print_r($_REQUEST, TRUE)); return; } $message_type = Context::get('message_type'); if($message_type != 'ORDER_CREATED') { ShopLogger::log("Unsupported IPN 2checkout message received: " . print_r($_REQUEST, TRUE)); return; } $cart_srl = Context::get('vendor_order_id'); $transaction_id = $sale_id; // Hopefully, this is order number $order_repository = new OrderRepository(); // Check if order has already been created for this transaction $order = $order_repository->getOrderByTransactionId($transaction_id); if(!$order) // If not, create it { $cart = new Cart($cart_srl); $this->createNewOrderAndDeleteExistingCart($cart, $transaction_id); } }
public function procShopToolPrintOrder(){ $orderRepo = new OrderRepository(); $order = $orderRepo->getOrderBySrl(Context::get('order_srl')); $this->printPDFOrder($order); }
<?php /** * La classe OrderRepository è solo di esempio e non è implementata. */ $order_manager = new OrderManager(); //... $order = OrderRepository::fetchOrder(); $order_manager->write($order); //... $order_number = OrderRepository::latestOrderByUserId($user_id); $order = $order_manager->read($order_number); //... $orders = OrderRepository::findExpiredOrders(); foreach ($orders as $order) { $order_manager->remove($order->number); }
/** * Given a transaction id, checks if an order was created or not for it * (from an IPN call, for instance) * * @param $transaction_id * @return boolean */ private function orderCreatedForThisTransaction($transaction_id) { $orderRepository = new OrderRepository(); $order = $orderRepository->getOrderByTransactionId($transaction_id); return $order; }
/** * display shop view order * @return Object * @throws ShopException */ public function dispShopViewOrder(){ try{ $orderRepo = new OrderRepository(); $order = $orderRepo->getOrderBySrl(Context::get('order_srl')); $logged_info = Context::get('logged_info'); if($order->member_srl != $logged_info->member_srl) throw new ShopException("This order does not belong to you"); } catch (Exception $e) { $this->setRedirectUrl(getNotEncodedUrl('', 'act', 'dispShopHome')); return new Object(-1, $e->getMessage()); } $this->dispShopToolViewOrder(); $this->setTemplateFile('view_order'); }
/** * Send email to user notifying him of the newly created order */ public static function sendNewOrderEmails($order_srl) { $repo = new OrderRepository(); $order = $repo->getOrderBySrl($order_srl); $shop = new ShopInfo($order->module_srl); // Don't send anything if shop email is not configured if (!$shop->getShopEmail()) { ShopLogger::log("Failed to send order email for order #{$order->order_srl}; Shop email is not configured"); return; } self::sendNewOrderMailToCustomer($shop, $order); self::sendNewOrderMailToAdministrator($shop, $order); }