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.
1. Paypal Pro 'non-recurring' payments return less information compared to Paypal Standard and Paypal Pro recurring payments. If you look at the Paypal documentation you can see that AMT (amount) is the only variable that is returned, wheras Paypal standard returns both a total and a fee. This explains why fees have not been getting recorded with Paypal Pro transactions. There is nothing we can change about the limited information Paypal chooses to return to us when the transaction is processed...but...2. We can enhance CiviCRM's automated tasks to use the 'cron' to check back in with Paypal later. It works like this: a. each hour or whatever, use CiviCRM's cron to ask paypal for information on contributions and give the transcation id# b. ask paypal for the fee amount c. go back retroactively to contributions with a blank fee, and "fill in the blank"This is not a trivial task, but it's very doable according to Lobo.He estimates between 5 and 15 hours of core team development work to make this a reality.
$contribution->fee_amount = $input['fee_amount']; $contribution->net_amount = $input['amount'] - $input['fee_amount'];
if (CRM_Utils_Array::value('net_amount', $input, 0) == 0 && CRM_Utils_Array::value('fee_amount', $input, 0) != 0 ) { $input['net_amount'] = $input['amount'] - $input['fee_amount']; }
$input['net_amount'] = self::retrieve('settle_amount', 'Money', 'POST', FALSE);
$input['net_amount'] = 0;
Granddesigns, I admire your ambition, but I think you may have misunderstood my previous post about the findings of Lobo and myself. Let me make it super clear: the IPN for PayPalPro does not return the fee amount. This was the result of our testing. You may not believe that, but that's why I included the link to the PaypalPro documentation.While I would love to be mistaken and be proven wrong, I see from your posts that you are assuming that PaypalPro does return the fee in the IPN as PayPal Standard does. But it doesn't. That's the problem.
mc_gross=50.00&invoice=****&protection_eligibility=Ineligible&payer_id=****&tax=0.00&payment_date=10:52:13 Jan 19, 2013 PST&payment_status=Completed&charset=windows-1252&first_name=****&mc_fee=1.40¬ify_version=3.7&custom=&payer_status=unverified&business=****&quantity=1&verify_sign=****&payer_email=****&txn_id=****&payment_type=instant&last_name=****&receiver_email=****&payment_fee=1.40&receiver_id=****&txn_type=web_accept&item_name=Online Contribution: Give a few dollars. Make a big difference.&mc_currency=USD&item_number=&residence_country=US&receipt_id=****&handling_amount=0.00&transaction_subject=&payment_gross=50.00&shipping=0.00&ipn_track_id=****
mc_gross=25.00&invoice=****&protection_eligibility=Ineligible&payer_id=****&tax=0.00&payment_date=09:06:26 Jan 19, 2013 PST&payment_status=Completed&charset=windows-1252&first_name=****&mc_fee=0.85¬ify_version=3.7&custom=&payer_status=unverified&business=****&quantity=1&verify_sign=****&payer_email=****&txn_id=****&payment_type=instant&last_name=****&receiver_email=****&payment_fee=0.85&receiver_id=****&txn_type=web_accept&item_name=Online Contribution: Give a few dollars. Make a big difference.&mc_currency=USD&item_number=&residence_country=US&receipt_id=****&handling_amount=0.00&transaction_subject=&payment_gross=25.00&shipping=0.00&ipn_track_id=****
mc_gross=1.00&invoice=****&protection_eligibility=Ineligible&payer_id=****&tax=0.00&payment_date=06:51:55 Jan 19, 2013 PST&payment_status=Completed&charset=windows-1252&first_name=****&mc_fee=0.32¬ify_version=3.7&custom=&payer_status=unverified&business=****&quantity=1&verify_sign=****&payer_email=****&txn_id=****&payment_type=instant&last_name=****&receiver_email=****&payment_fee=0.32&receiver_id=****&txn_type=web_accept&item_name=Online Contribution: Give a few dollars. Make a big difference.&mc_currency=USD&item_number=&residence_country=US&receipt_id=****&handling_amount=0.00&transaction_subject=&payment_gross=1.00&shipping=0.00&ipn_track_id=****
are we talking of a single payment via paypal pro or a recurring payment via paypal pro?if the former, then civi does not have code that implement IPN for paypal pro. we use the doDirectPayment functionaltiy via NVP as u mentionedBased on your prior post, seems like it is. But civi is not expecting one and hence has not sent any info to paypal with regard to format of IPN (which include module name, contribution id etc) and hence we ignore itbottom line, for civi to handle paypal pro ipn's someone will need to investigate this and submit a patch to take advantage of this