return false; } $user_id = null; //пытаемся зарегистрировать пользователя } else { $user_id = $uData->user_id; } //производим проверку на наличие inv_id $inv_id = $Payqr->objectOrder->getInvId(); if (empty($inv_id)) { payqr_logs::log("Не смогли получить invoice_id"); return false; } payqr_logs::log("Нашли invoice_id:" . $inv_id); // производим проверку на наличие invoice $payqrOrder = new payqr_order($modx, $Payqr); $order_id = $payqrOrder->checkInvoice($inv_id); if (!empty($order_id)) { //заказ с заданнными параметрами уже создавался //производим обновление состояния заказа if ($payqrOrder->updateShopkeeper3Order($order_id)) { payqr_logs::log("Успешно произведено обновление товаров"); } else { payqr_logs::log("Не смогли произвести обновление товаров в заказе"); } } else { //создаем заказ на основе актуализированным данных $order_id = $payqrOrder->createShopkeeper3Order($user_id); $payqrOrder->setInvoice($order_id, $inv_id); } //Получаем стоимость товара с доставкой
<?php if (isset($config, $config['status_paid'])) { $order_id = $Payqr->objectOrder->getOrderId(); if (empty($order_id)) { return false; } $status_paid = payqr_status::getInstance($modx)->getStatusId($config['status_paid']); if (empty($status_paid)) { return false; } $payqrOrder = new payqr_order($modx, $Payqr); $payqrOrder->changeStatus($order_id, $status_paid); }
<?php if (isset($config, $config['status_cancelled'])) { $order_id = $Payqr->objectOrder->getOrderId(); if (empty($order_id)) { return false; } $status_cancelled = payqr_status::getInstance($modx)->getStatusId($config['status_cancelled']); if (empty($status_cancelled)) { return false; } $payqrOrder = new payqr_order($modx, $Payqr); $payqrOrder->changeStatus($order_id, $status_cancelled); }
<?php //получаем способы доставки товара $delivery_cases = array(); $deliveryObj = new payqr_deliverycase($modx); $deliveries = $deliveryObj->getDeliveryCases(); $i = 1; $payqrOrder = new payqr_order($modx, $Payqr); $order_amount = $payqrOrder->getTotal(); foreach ($deliveries as $delivery) { $_delivery = array(); $_delivery['article'] = $delivery['id']; $_delivery['number'] = $i++; $_delivery['name'] = $delivery['label']; $_delivery['description'] = $delivery['label']; $_delivery['amountFrom'] = $_delivery['amountTo'] = $order_amount >= $delivery['free_start'] ? 0 : $delivery['free_start']; $delivery_cases[] = $_delivery; } $Payqr->objectOrder->setDeliveryCases($delivery_cases);