Somewhere there is missing code and it is not testing as enabled when the checkout_payment page is run ...

This could be a typo or a test blocking the:
$this->enabled

from evaluating as true when the module is run ...