Plugin could not be activated because it triggered a fatal error?

Contact plugin’s developer and ask him to fix?.. But I guess that is probably not an option if plugin is broken badly and remains that way.

For a quick band-aid try this right after object is created, to handle case of constructor not setting up field properly:

if( !isset( $paypal_ipn->paypal_post_vars ) )
    $paypal_ipn->paypal_post_vars = array();