Здравствуйте, нашел сниппет на просторах интернета, и не понимаю почему он может не срабатывать?
Main\EventManager::getInstance()->addEventHandler(
'sale', 'OnSaleOrderSaved', 'PayLink'
);
function PayLink(Main\Event $event) {
CModule::IncludeModule("sale");
$order = $event->getParameter("ENTITY");
$paymentIds = $order->getPaymentSystemId();
$personTypeId = $order->getPersonTypeId();
$propertyCollection = $order->getPropertyCollection();
if ($paymentIds[0] == 10) {
$orderPropertyId = ($personTypeId == 1) ? 55 : 56;
$somePropValue = $propertyCollection->getItemByOrderPropertyId($orderPropertyId);
if (!$somePropValue) {
CSaleOrderPropsValue::Add(array(
'ORDER_ID' => $order->getId(),
'ORDER_PROPS_ID' => $orderPropertyId,
'NAME' => "Ссылка на оплату",
'VALUE' => "https://" . $_SERVER["SERVER_NAME"] . "/pay.php?ORDER_ID=" . $order->getId(),
'CODE' => "PAY_LINK",
));
} else {
$propValue = $somePropValue->getValue();
if (empty($propValue)) {
// $somePropValue->setValue("https://pk-optex.ru/personal/order/payment/?ORDER_ID=".$order->getId());
$somePropValue->setValue("https://" . $_SERVER["SERVER_NAME"] . "/pay.php?ORDER_ID=" . $order->getId());
$somePropValue->save();
}
}
}
}