Событие оплаты заказа

279
Алексей,

У одного заказа может быть несколько счетов, т.ч. событие оплаты есть только у них. Нам нужно 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();
			}
		}
	}
}
Опубликовано 5 Ноября 2019 | Обновлено 6 Ноября 2019
примеры d7, оплата

Возврат к списку

Комментарии