Программно отменить заказ Битрикс D7

Скрипт js, в котором передаем id текущего заказа:

$('body').on('click', '#cancel-detail', function(e){
$cancel = confirm("Вы уверены, что хотите отменить заказ?");
if($cancel) {
$id = $(this).data('order');
var sendData = {
id: $id
};
sendAjax(sendData, '/ajax/personal/personal-cancel.php', successCancelRep);
}
}); function sendAjax(sendData, link, func) { $.ajax({
url: link,
type: 'POST',
data: ({sendData: sendData}),
dataType: "html",
error: error,
success: func
})
} function error(){
alert('Ошибка при загрузке данных!');
} function successCancelRep(result){
window.location.reload();
}

Содержимое файла personal-cancel.php:

<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
if (CModule::IncludeModule("sale") && CModule::IncludeModule("catalog"))
{
$order_id = $_POST['sendData']['id'];

$order = \Bitrix\Sale\Order::loadByAccountNumber($order_id);
$r = $order->setField('STATUS_ID', 'C');
if (!$r->isSuccess())
{
var_dump($r->getErrorMessages());
}
$r = $order->save();
if (!$r->isSuccess())
{
var_dump($r->getErrorMessages());
} else {
echo $_POST['sendData']['id'];
}
}?>

bitrixone © 2024