Witam!
Nie sprawdzałem działania całego overrida jednakże może pomóc zamiana w pliku /override/classes/PaymentModule:
if (!$this->context->cart->isVirtualCart() && ($this->context->cart->getOrderTotal() > 0) && Module::getInstanceByName('shiptopay')->active) {
na
if ($this->context->cart && !$this->context->cart->isVirtualCart() && ($this->context->cart->getOrderTotal() > 0) && Module::getInstanceByName('shiptopay')->active) {
Pozdrawiam,
Piotrek