Документация для разработчиков
Темная тема

PayOrder

Описание и параметры

Метод устарел. Рекомендуется использовать методы класса \Bitrix\Sale\Order.

int
CSaleOrder::PayOrder(
 int ID,
 string val[,
 bool bWithdraw = True[,
 bool bPay = True[,
 int recurringID = 0[,
 array arAdditionalFields = array()]]]]
);

Метод меняет значение флага "заказ оплачен" (поле PAYED) на значение параметра Val для заказа с кодом ID. Кроме флага оплаты заказа, устанавливаются также поля даты изменения значения флага (DATE_PAYED) и кода пользователя, изменившего значение флага (EMP_PAYED_ID). Нестатический метод.

Перед изменением флага вызываются обработчики события OnSaleBeforePayOrder модуля магазина, в которых можно отменить изменение флага вернув значение false. После изменения флага вызываются обработчики события OnSalePayOrder модуля магазина.

В случае установки флага генерируется почтовое событие типа SALE_ORDER_PAID.

Параметры вызова

ПараметрОписаниеС версии
IDКод заказа.
valНовое значение флага оплаты заказа (Y/N).
bWithdrawЗначение true отражает изменение флага на внутреннем счете пользователя. Значение false изменяет только флаг, не затрагивая счет. 4.0.6
bPayЕсли параметр bWithdraw установлен в true, то установка параметра bPay в true приведет к тому, что необходимая сумма денег будет внесена на счет покупателя перед оплатой, а установка в false приведет к тому, что оплата будет происходить целиком с внутреннего счета.

Если параметр bWithdraw установлен в false, то операции со счетом не производятся и значение параметра bPay не играет роли.
4.0.6
recurringIDДолжен быть равен 0. 4.0.6
arAdditionalFieldsМассив дополнительно обновляемых параметров (обычно это номер и дата платежного поручения). 4.0.6

Возвращаемые значения

Возвращается код заказа или false в случае ошибки. Повторная оплата заказа невозможна.

Пример использования

<?
if (!CSaleOrder::PayOrder($ID, "Y", True, True, 0, array("PAY_VOUCHER_NUM" => "19210")))
{
   echo "Ошибка обновления заказа";
}
?>


© «Битрикс», 2001-2020, «1С-Битрикс», 2020
Наверх