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);
}
//Получаем стоимость товара с доставкой
Example #2
0
<?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);
}
Example #3
0
<?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);