Алексей, позволь пару замечаний: 1. Если не получа

Алексей, позволь пару замечаний:

  1. Если не получается подключить пакет, то почему не прерывается процесс? Это я про вот это:
echo "\naddPackage " . ($success? 'OK' : 'Failed');
$success = $modx->loadClass('Paysystem');

То есть если !success,тоиloadClassделатьнетсмысла.Этожекасаетсяипопыткиподключениякласса—еслинеудалосьподключитькласс,тоисоздаватьновыйобъектнетсмысла.Кслову,success, то и loadClass делать нет смысла. Это же касается и попытки подключения класса — если не удалось подключить класс, то и создавать новый объект нет смысла. К слову, modx->newObject() и прочие методы в принципе включают в себя метод $modx->loadClass(), так что не надо специально его вызывать заранее.

  1. Данный код крайне избыточный, особенно имея ввиду то, что пакет billing имеется в экспеншенах, и выполняется автоматически. Соответственно, его нет смысла подключать через $modx->addPackage().

В итоге, конечный работающий код будет выглядеть вот так:

if(!$object = $modx->newObject('Paysystem', array(
    "name"       => "EdinayaKassa",
    "comment"    => "Единая касса приема платежей",
))){
    print "Не удалось создать новый объект платежной системы";
    return;
}

// else
if(!$object->save()){
    print "Не удалось сохранить новый объект платежной системы";
    return;
}

// else
print "Был создан новый объект платежной системы с id ". $object->id;