Как отменить создание заказа битрикс

Иногда, необходимо не дать пользователю оформить заказ, при каких-то определенны условиях. Например, не выполнено какое-то условие, это может быть все что угодно: не достаточная сумма, не выбрана доставка или просто Венера не в том созвездии.

На самом деле, все очень просто. Необходимо зарегистрировать обработчик события OnSaleOrderBeforeSaved и вернуть в нем:

<?php
return new \Bitrix\Main\EventResult(
    \Bitrix\Main\EventResult::ERROR,
    new \Bitrix\Sale\ResultError(
           'Нет доступной службы доставки',
           'SALE_EVENT_WRONG_ORDER'
         ),
    'sale'
);

В таком случае, при попытке сохранить заказ, мы получим ошибку “Нет доступной службы доставки”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *