Событие оплаты заказа
У одного заказа может быть несколько счетов, т.ч. событие оплаты есть только у них. Нам нужно OnSalePaymentEntitySaved.
Пример использования:
\Bitrix\Main\EventManager::getInstance()->addEventHandler('sale', 'OnSalePaymentEntitySaved', "checkPay"); function checkPay(\Bitrix\Main\Event $event) { $oldValues = $event->getParameter("VALUES"); // Значения до изменения оплаты $payment = $event->getParameter("ENTITY"); if ($payment->getField('PAY_SYSTEM_ID') == 1) { // ID оплаты картой if ($oldValues["PAID"] == 'N' && $payment->getField('PAID') == 'Y') { // оплачено if ($payment->getField('SUM') > 0 && $payment->getField('IS_RETURN') == 'N') { $order = \Bitrix\Sale\Order::load($payment->getField('ORDER_ID')); $order->getId(); } } } }
Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.