Have a question about CiviCRM? Get it answered quickly at the new CiviCRM Stack Exchange Q+A siteThis forum was archived on 25 November 2017. Learn more.How to get involved.What to do if you think you've found a bug.
I'm not familiar w/ that code, and I'm a bit confused by the terms. What's the difference between mc_fee and payment_fee? Is this related to the original poster's distinction between a transaction using a PayPal account vs. a credit card?If indeed payment_fee is 'name' used in the IPN's for a fee that needs to be logged by CiviCRM - it doesn't seem to be handled at all in either PayPalIPN.php or PayPalProIPN.php - and hence this is a bug. Would be great if you could nail this down, implement a fix, and file an issue w/ a patch on the issue tracker.
$input['is_test'] = self::retrieve('test_ipn', 'Integer', 'POST', FALSE); $input['fee_amount'] = self::retrieve('mc_fee', 'Money', 'POST', FALSE); $input['net_amount'] = self::retrieve('settle_amount', 'Money', 'POST', FALSE); $input['trxn_id'] = self::retrieve('txn_id', 'String', 'POST', FALSE);
CRM_Core_Error::debug_var( 'REQUEST', $_REQUEST );
static function retrieve($name, $type, $location = 'POST', $abort = TRUE) { static $store = NULL; $value = CRM_Utils_Request::retrieve($name, $type, $store, FALSE, NULL, $location ); CRM_Core_Error::debug_var( 'REQUEST', $_REQUEST ); if ($abort && $value === NULL) { CRM_Core_Error::debug_log_message("Could not find an entry for $name in $location"); echo "Failure: Missing Parameter<p>"; exit(); } return $value; }