Как доработать класс ораничение по весу чтобы работал для службы оплаты?

проверял не приходит вес в функцию

<?php

//bitrix/php_interface/init.php
$eventManager2 = \Bitrix\Main\EventManager::getInstance();
$eventManager2->addEventHandler(
    'sale',
    'onSalePaySystemRestrictionsClassNamesBuildList',
    'onCheckRulePayment'
);


  function onCheckRulePayment()
    {
        $filePayments = '/bitrix/php_interface/classes/restrictions/payments.php';

        return new \Bitrix\Main\EventResult(
            \Bitrix\Main\EventResult::SUCCESS,
            array(
                '\checkPayBrand' => $filePayments,              // по бренду
                '\checkPayDiscount' => $filePayments,           // по скидкам
                '\checkvesovie' => $filePayments,           // по скидкам
            )
        );
    }

//php_interface/classes/restrictions/payments.php
use Bitrix\Sale\Delivery\Restrictions;
use Bitrix\Sale\Services\Base;
use Bitrix\Sale\Internals\CollectableEntity;
use Bitrix\Sale\Internals\Entity;
use Bitrix\Sale\Order;

use Bitrix\Main\Localization\Loc;
use Bitrix\Sale\Shipment;


/**
 * Class ByWeight
 * Restricts delivery by weight
 * @package Bitrix\Sale\Delivery\Restrictions
 */
class checkvesovie extends Restrictions\Base
{
    public static function getClassTitle()
    {
        return Loc::getMessage("SALE_DLVR_RSTR_BY_WEIGHT_NAME");
    }

    public static function getClassDescription()
    {
        return Loc::getMessage("SALE_DLVR_RSTR_BY_WEIGHT_DESCRIPT");
    }


    public static function check($weight, array $restrictionParams, $serviceId = 0)
    {
         file_put_contents('/var/www/www-root/data/www/shop.mercury-market.ru/bitrix/php_interface/classes/restrictions/log.php', print_r($weight, true));
        if(empty($restrictionParams))
            return true;

        $weight = floatval($weight);

        if(isset($restrictionParams["MIN_WEIGHT"]) && floatval($restrictionParams["MIN_WEIGHT"]) > 0  && $weight < floatval($restrictionParams["MIN_WEIGHT"]))
            return false;

        if(isset($restrictionParams["MAX_WEIGHT"]) && floatval($restrictionParams["MAX_WEIGHT"]) > 0 && $weight > floatval($restrictionParams["MAX_WEIGHT"]))
            return false;

        return true;
    }

    protected static function extractParams(Entity $entity)
    {
        if (!($entity instanceof Shipment))
            return false;

        return $entity->getWeight();
    }

    public static function getParamsStructure($entityId = 0)
    {
        return array(
            "MIN_WEIGHT" => array(
                'TYPE' => 'NUMBER',
                'DEFAULT' => "0",
                'MIN' => 0,
                'LABEL' => "минимальный вес(грамм)"
            ),
            "MAX_WEIGHT" => array(
                'TYPE' => 'NUMBER',
                'DEFAULT' => "0",
                'MIN' => 0,
                'LABEL' => "максимальный вес(грамм)"
            )
        );
    }
} 

Ответы (0 шт):