Details
-
Type: Bug
-
Status: Won't Do
-
Priority: Minor
-
Resolution: Won't Do
-
Affects Version/s: 4.6.10
-
Fix Version/s: 4.6.16
-
Component/s: Core CiviCRM
-
Labels:None
-
Versioning Impact:Patch (backwards-compatible bug fixes)
-
Documentation Required?:None
-
Funding Source:Contributed Code
Description
Starting around when doQuery() was added to CRM/Core/Payment/PayPalImpl.php
https://github.com/civicrm/civicrm-core/commit/9d2f24ee82241815353d5fc7ddb951312c79bbed
These messages started appearing in our web server error logs
PHP Fatal error: Class 'Civi\\Payment\\Exception
PaymentProcessorException' not found in CRM/Core/Payment/PayPalImpl.php on line 419
It didn't present much of problem until recently when submitting a recurring donation would result in a white screen (or maybe it wasn't reported to us until recently). The recurring transaction is correctly submitted to PayPal and correctly recorded and reconciled in Civi.
The above exception is thrown because the $param array for the recurring profile doesn't include a trxn_id. There's this note about $params
processor_id Id of a recurring contribution series as stored in the civicrm_contribution_recur table.
But I don't see it implemented within the function. Is this pending? This function is returning the fee and net amounts, which aren't determined at the point that the recurring profile is created (maybe because PayPal changed their reconciliation process recently? An account-specific change?). I can submit a patch for this with some guidance on what the expected return values should be if as in this case, we don't know yet. If this is a deeper problem, i.e. this function shouldn't be called when creating a recurring profile, I'll need guidance on what needs to be done but can still offer to work on this.
Attachments
Issue Links
- has patch in
-
CRM-11338 CiviCRM does not record processing fees for certain PayPalPro transactions
- Done/Fixed
- links to