Details
-
Type: Bug
-
Status: Done/Fixed
-
Priority: Major
-
Resolution: Fixed/Completed
-
Affects Version/s: 2.1.4
-
Fix Version/s: 2.2.0
-
Component/s: CiviContribute
-
Labels:None
Description
Given that CiviCRM is configured (a) with a Google Checkout payment processor and (b) with a non-default language, the GoogleIPN.php processes notifications incorrectly.
Under normal conditions, each contribution is assigned a "source" value beginning with the string "Online Contribution" or "Online Event Registration". However, if CiviCRM is configured with an alternate language file, then this string will be translated.
The GoogleIPN::getContext() method examines the "source" value and proceeds to perform contribution-related or event-related logic. The examination executes incorrectly if the string was translated, and GoogleIPN ultimately treats all contributions as if they are event registrations. This breaks handling of plain contributions and membership fees.
The attached patch should fix the pressing issue. However, the "source" string processing logic may be susceptible to other (albeit less significant) bugs, and the patch doesn't try to fix them.