Details
-
Type: Bug
-
Status: Done/Fixed
-
Priority: Major
-
Resolution: Fixed/Completed
-
Affects Version/s: 3.0.3, 3.1
-
Fix Version/s: 3.0.4
-
Component/s: CiviContribute
-
Labels:None
Description
When creating a contribution from the "Submit Credit Contribution Screen" in a user record, the choice of payment processor is not honored if multiple processors are available.
I'm using Authorize.net but i believe this is true for all processors. The reason being seems to be that the CRM_Contribute_Form_Contribution::preProcess is run when you click Save. The preProcess method constructs the CRM_Core_Payment_AuthorizeNet object using the default processor. When the postProcess method tries to do build the CRM_Core_Payment_AuthorizeNet object with the processor chosen on the form, line 1057 of CRM/Contribution/Form/Contribution.php, the CRM_Contribute_Payment_AuthorizeNet::singleton method gets skipped because this object was built during the preProcess method.
I'm not sure if the bug is that the preProcess method is being run or that the construction of the CRM_Core_Payment_AuthorizeNet object needs to be skipped.