Исправлено в версии 1.2.3, следующие функции принимают mixed для обратной совместимости
AntistressStore\CdekSDK2\Entity\Requests\Order::setServices()
public function setServices(mixed $services)
AntistressStore\CdekSDK2\Entity\Requests\Order::setPackages()
public function setPackages(mixed $packages)
Можно передавать как раньше один экземпляр класса Package или Services в этом случае добавитcя единичная упаковка или сервис, можно передавать целым массивом, тогда массив элементов добавиться к существующим. Важно помнить, что массив должен содержать подготовленные классы Package [Package,Package,...] или Services [Services,Services,...], пример для
$packages:
\\ вариант 1 Один экземпляр класса
$packages =
(new \AntistressStore\CdekSDK2\Entity\Requests\Package())
->setNumber('1')
->setWeight(500)
->setHeight(10)
->setWidth(10)
->setLength(10)
;
$order->setPackages($packages);
\\ массив c экземплярами класса
$packages = [];
$packages[] =
(new \AntistressStore\CdekSDK2\Entity\Requests\Package())
->setNumber('1')
->setWeight(500)
->setHeight(10)
->setWidth(10)
->setLength(10)
;
$order->setPackages($packages);
Для добавления сервисов есть более удобная экспресс функция ->addServices(['INSURANCE' => 1000]) в которую передается массив ключ - значение, а функция сама подготовит правильный класс.