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

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-2019, «1С-Битрикс», 2019
Наверх