Details

    • Type: Bug
    • Status: Done/Fixed
    • Priority: Minor
    • Resolution: Fixed/Completed
    • Affects Version/s: 3.2.1, 3.2.2, 3.2.3, 3.2.4
    • Fix Version/s: 3.3.beta
    • Component/s: Core CiviCRM
    • Labels:
      None

      Description

      This issue effects recording and reporting the transaction fee's made with PayPal as a processor and likely only affects PayPal processing accounts outside of the USA. In our case, using PayPal Canada we were not able to record the processing fee that PayPal applies to transactions.

      After some investigation we found that PayPal has depreciated some of the variables that it passes back via IPN (instant payment notification) and two civiCRM processing files make reference to these variables; in particular 'payment_fee'.

      The files in question are in: CRM/Core/Payment and are PayPalIPN.php and PayPalProIPN.php

      The lines affected in the version we looked at (3.2.1 & 3.2.4) are in function getInput( &$input, &$ids ), line 320 in PayPalIPN.php and 345 PayPalProIPN.php

      The existing line is as follows:
      $input['fee_amount'] = self::retrieve( 'payment_fee' , 'Money' , 'POST', false );

      In order to fix it, payment_fee will need to be changed to mc_fee as follows:
      $input['fee_amount'] = self::retrieve( 'mc_fee' , 'Money' , 'POST', false );

      More information can be found on this thread in the civiCRM forums: http://forum.civicrm.org/index.php?topic=16284.new;topicseen#new

        Attachments

          Activity

            People

            • Assignee:
              rahulbile Rahul Bile
              Reporter:
              awasson Andrew Wasson
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: