Archived

This topic is now archived and is closed to further replies.

Resolved - PayPal Transaction Log

0 posts in this topic

Posted

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.

Share this post


Link to post
Share on other sites

Posted

Anyone??

Share this post


Link to post
Share on other sites

Posted

A client had a similar problem, try taking a backup of: modulesgatewayPayPalgateway.class.php then make the following change, see if it fixes

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

Share this post


Link to post
Share on other sites

Posted

Thanks. I've tried it. I'll let you know if it works.

Share this post


Link to post
Share on other sites

Posted

No - newest order still has the funny transaction error message.

Share this post


Link to post
Share on other sites

Posted

Hmm, next step then is just to try debugging it really.. try changing:


$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

Share this post


Link to post
Share on other sites

Posted

I changed the line, but nothing different shows on the transaction log page. Do I need to wait until the next order? Enable debugging?

Share this post


Link to post
Share on other sites

Posted

OK. Latest order shows

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.

Share this post


Link to post
Share on other sites

Posted

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

Share this post


Link to post
Share on other sites

Posted

This error in the Transaction log stopped when I updated to 5.1.1.

Share this post


Link to post
Share on other sites