Изменить флаг оплаты по условию, если сумма меньше или равно 0

324
09 июня 2017, 12:33

Здравствуйте, подскажите функцию которой можно изменить флаг оплаты на "оплачено". Пытаюсь сделать следующее, если сумма заказа равна или меньше 0, то заказ "ОПЛАЧЕН".

в файле bitrix/php_interface/s1/init.php пишу

<?php 
   AddEventHandler('sale',"OnOrderUpdate" , 'PayedIfNoEMoney');
     function PayedIfNoEMoney( $orderId , $arFields='' , $arOrder='' ) {
       if($arFields["PRICE"] <= 0){
          CSaleOrder::StatusOrder($orderId, 'Y');
          CSaleOrder::PayOrder($ID, "Y");   
       }
    }
?>

но меняется только статус оплаты, а флаг остается "не оплачено"

подскажите как изменить флаг оплаты?

Answer 1

У вас не объявленная переменная $ID исправьте строку:

   CSaleOrder::PayOrder($orderId, "Y");   
READ ALSO
загрузка файла на сервер и перемещение в папку,папка защищена от записи, рhp

загрузка файла на сервер и перемещение в папку,папка защищена от записи, рhp

Помогите разобраться, вопрос/проблема вот в чём:

396
Обработка определённой области PHP

Обработка определённой области PHP

Как сделать чтобы была обработка определённой области кода в файле indexphp, а другую часть кода он игнорировал

252
PHP BITRIX работа с корзиной

PHP BITRIX работа с корзиной

Нужно, чтобы в поле сумма выводилась сумма заказов из корзины Каким образом это осуществить

215
Не получается вывести массив в таблицу PHP

Не получается вывести массив в таблицу PHP

День добрыйЕсть проблема с выводом массива данных в таблицу

319