I've been meaning to ask this for a long time. I see this in the log for the standard PP payment transactions. I do not use the PP Pro version.
Payer Status: unverified Amount paid didn't match amount on invoice
Customers ARE paying the correct amount, so I'm just curious as to why it's reported.
Resolved - PayPal Transaction Log
Started by Dirty Butter, Feb 20 2012 05:42 PM
9 replies to this topic
#1
Posted 20 February 2012 - 05:42 PM
#2
Posted 09 April 2012 - 10:50 PM
Anyone??
#3
Posted 10 April 2012 - 09:38 AM
A client had a similar problem, try taking a backup of: modules\gateway\PayPal\gateway.class.php then make the following change, see if it fixes
FIND:
And try changing to:
Don't think they ever got back to say whether or not it had actually worked though, but I was suspecting that it might be trying to compare a string variable to a double or something along those lines. Let us know if that helps
FIND:
if (isset($_POST['mc_gross']) && trim($_POST['mc_gross']) !== $order_summary['prod_total']) {
$transData['notes'][] = "Amount paid didn't match amount on invoice.";
}
And try changing to:
if(isset($_POST['mc_gross'])){
$_POST['mc_gross'] == trim($_POST['mc_gross']);
if((float)$_POST['mc_gross'] !== (float)$order_summary['prod_total']){
$transData['notes'][] = "Amount paid didn't match amount on invoice.";
}
}
Don't think they ever got back to say whether or not it had actually worked though, but I was suspecting that it might be trying to compare a string variable to a double or something along those lines. Let us know if that helps
#4
Posted 10 April 2012 - 07:34 PM
Thanks. I've tried it. I'll let you know if it works.
#5
Posted 11 April 2012 - 07:46 PM
No - newest order still has the funny transaction error message.
#6
Posted 12 April 2012 - 08:00 AM
Hmm, next step then is just to try debugging it really.. try changing:
To
Should print out the values for both on the transaction log then, maybe will give a clue as to what's going on and why they're not tallying up
$transData['notes'][] = "Amount paid didn't match amount on invoice.";
To
$transData['notes'][] = "Amount paid didn't match amount on invoice. ".$_POST['mc_gross']." vs ".$order_summary['prod_total'];
Should print out the values for both on the transaction log then, maybe will give a clue as to what's going on and why they're not tallying up
#7
Posted 12 April 2012 - 12:28 PM
I changed the line, but nothing different shows on the transaction log page. Do I need to wait until the next order? Enable debugging?
#8
Posted 14 April 2012 - 04:31 PM
OK. Latest order shows
Don't know if this is the problem, but the _order_summary table uses total, not prod_total as the column name. As a test while I wait to hear back from you, I'm going to try changing that to just total and see what happens.
Payer Status: verified Amount paid didn't match amount on invoice. 40.35 vs. So it's not picking up the order summary product total yet.
Don't know if this is the problem, but the _order_summary table uses total, not prod_total as the column name. As a test while I wait to hear back from you, I'm going to try changing that to just total and see what happens.
#9
Posted 16 April 2012 - 08:08 AM
Ah, that may well be the problem then, I didn't notice that one, still used to the old style ones. It's trying to compare it to a non existent value then, did changing it to total sort the issue out?
Had best find out who else asked me and let them know
Had best find out who else asked me and let them know
#10
Posted 13 July 2012 - 12:03 PM
This error in the Transaction log stopped when I updated to 5.1.1.
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users











