[Ref] Throw exceptions from Authorize.net rather than return errors
Created by: eileenmcnaughton
Overview
This is part of 'modelling good behaviour' - curently doPayment converts the errors to thrown exceptions, but the recommendation is that the payment processor functions should throw exceptions themselves. If they do they willl bypass the doPayment handling, but acheive the same thing
Before
return self::error(9001, 'Payment interval must be at least one week');
is received by CRM_Core_Payment::doPayment and which then throws an exception
After
Exception thrown in the first place
Technical Details
@KarinG basically we need to do this in a bunch of places - in core & also encourage extension writers to do so.