public function createOrder() { $order = new PayqrOrder(); $orderId = $order->createOrder(); $this->invoice->setOrderId($orderId); $invoice_id = $this->invoice->getInvoiceId(); if ($order->getOrderPaidStatus($invoice_id)) { } //отправка сообщений $module = new PayqrModule(); if ($module->getOption("message-invoice-order-creating")) { $message = $this->invoice->getMessage(); if ($message) { $message->article = $module->getOption("message-invoice-order-creating-article"); $message->text = $module->getOption("message-invoice-order-creating-text"); $message->imageUrl = $module->getOption("message-invoice-order-creating-imageUrl"); $message->url = $module->getOption("message-invoice-order-creating-url"); $this->invoice->setMessage($message); } } //сохраняем заказ $db = PayqrModuleDb::getInstance(); $id = $db->insert(PayqrModuleDb::getInvoiceTable(), array("invoice_id" => $this->invoice->getInvoiceId(), "order_id" => $orderId, "invoice_type" => "invoice.order.creating"), array("%s", "%s", "%s")); //сохраняем логи $id = $db->insert(PayqrModuleDb::getLogTable(), array("event_id" => $this->invoice->getInvoiceId(), "order_id" => $orderId, "event_type" => "invoice.order.creating", "payqr_number" => $this->invoice->getPayqrNumber(), "datetime" => date("Y-m-d H:i:s"), "data" => file_get_contents("php://input")), array("%s", "%s", "%s", "%s", "%s", "%s")); }
public function createOrder() { $order = new PayqrOrder($this->invoice, $this->diafan); $orderId = $order->createOrder(); PayqrLog::log("Создали заказ:" . $orderId); $this->invoice->setOrderId($orderId); PayqrLog::log("Получаем invoice_id"); $invoice_id = $this->invoice->getInvoiceId(); PayqrLog::log("Получили invoice_id: " . $invoice_id); if ($order->getOrderPaidStatus($invoice_id)) { } /** * Устанавливаем общую стоимость заказа */ PayqrLog::log("Устанавливаем сумму заказа"); $total = $order->getTotalAmount(); /** * Устанавливаем пользовательские данные */ $order->setUserOrderData($orderId); /** * Получаем стоимость доставки */ $delivery = 0; $deliverySelected = $this->invoice->getDeliveryCasesSelected(); if (isset($deliverySelected, $deliverySelected->amountFrom) && !empty($deliverySelected->amountFrom)) { $delivery = round((double) $deliverySelected->amountFrom, 2); $order->updateDeliverySumm($orderId, $deliverySelected->article, $delivery); } $this->invoice->setAmount(round($total + $delivery)); PayqrLog::log("Установили сумму заказа вместе с доставкой: " . $total . "+" . $delivery . " = " . ($total + $delivery)); //отправка сообщений $module = new PayqrModule(); if ($module->getOption("message-invoice-order-creating")) { $message = $this->invoice->getMessage(); if ($message) { $message->article = $module->getOption("message-invoice-order-creating-article"); $message->text = $module->getOption("message-invoice-order-creating-text"); $message->imageUrl = $module->getOption("message-invoice-order-creating-imageUrl"); $message->url = $module->getOption("message-invoice-order-creating-url"); $this->invoice->setMessage($message); } } //сохраняем заказ $db = PayqrModuleDb::getInstance(); $id = $db->insert(PayqrModuleDb::getInvoiceTable(), array("invoice_id" => $this->invoice->getInvoiceId(), "order_id" => $orderId, "invoice_type" => "invoice.order.creating"), array("%s", "%s", "%s")); //сохраняем логи $id = $db->insert(PayqrModuleDb::getLogTable(), array("event_id" => $this->invoice->getInvoiceId(), "order_id" => $orderId, "event_type" => "invoice.order.creating", "payqr_number" => $this->invoice->getPayqrNumber(), "datetime" => date("Y-m-d H:i:s"), "data" => file_get_contents("php://input")), array("%s", "%s", "%s", "%s", "%s", "%s")); return true; }
public function handle($data) { PayqrConfig::setConfig(); if (isset($data["invoice_action"])) { $order_id = $data["order_id"]; $action = $data["invoice_action"]; $invoice_id = $data["invoice_id"]; if ($this->validate($data)) { $invAction = new PayqrInvoiceAction(); switch ($action) { case "invoice_cancel": $invAction->invoice_cancel($invoice_id); $order = new PayqrOrder(); $order->cancelOrder(); break; case "invoice_revert": $revert_amount = $data["invoice_revert_amount"]; $invAction->invoice_revert($invoice_id, $revert_amount); break; case "invoice_confirm": $invAction->invoice_confirm($invoice_id); break; case "invoice_execution_confirm": $invAction->invoice_execution_confirm($invoice_id); break; case "invoice_message": $text = $data["invoice_message_text"]; $image_url = $data["invoice_message_image_url"]; $click_url = $data["invoice_message_click_url"]; $invAction->invoice_message($invoice_id, $text, $image_url, $click_url); break; case "invoice_sync_data": $order = new PayqrOrder(); $order->syncOrder(); break; } } } }