Jump to content

CubeCart Recommends

Photo

Resolved - PayPal Transaction Log


This topic has been archived. This means that you cannot reply to this topic.
9 replies to this topic

#1 Dirty Butter

Dirty Butter
  • Members
  • 2,918 posts

Posted 20 February 2012 - 05:42 PM

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.

#2 Dirty Butter

Dirty Butter
  • Members
  • 2,918 posts

Posted 09 April 2012 - 10:50 PM

Anyone??

#3 Toucan Web Design

Toucan Web Design
  • Members
  • 146 posts

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:

       	 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 Dirty Butter

Dirty Butter
  • Members
  • 2,918 posts

Posted 10 April 2012 - 07:34 PM

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

#5 Dirty Butter

Dirty Butter
  • Members
  • 2,918 posts

Posted 11 April 2012 - 07:46 PM

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

#6 Toucan Web Design

Toucan Web Design
  • Members
  • 146 posts

Posted 12 April 2012 - 08:00 AM

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

#7 Dirty Butter

Dirty Butter
  • Members
  • 2,918 posts

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 Dirty Butter

Dirty Butter
  • Members
  • 2,918 posts

Posted 14 April 2012 - 04:31 PM

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.

#9 Toucan Web Design

Toucan Web Design
  • Members
  • 146 posts

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

#10 Dirty Butter

Dirty Butter
  • Members
  • 2,918 posts

Posted 13 July 2012 - 12:03 PM

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