Page 1 of 1

Paypal Standard RECEIVER EMAIL MISMATCH

Posted: Tue Aug 07, 2012 6:00 pm
by matthew.russo
Hi Everyone :), hoping to get some help on an issue I am getting.

I have created a new site, new install have installed some modules etc. I am currently testing standard paypal in sandbox mode. I have products with downloads, If i purchase one product and proceed through the order, payment goes through and the status is changed to completed and the user can download. However if I add more than one product (still downloads) I get the below error and the status of the order when purchased is 'Pending'. I have tried disabling all addons I have installed and checked the original install files for file overwritten as well.

Here is the error I am getting. IPN seems to be going through but fails on the email address, which I have double checked is correct.

Code: Select all

2012-08-07 9:53:49 - PP_STANDARD :: IPN REQUEST: cmd=_notify-validate&mc_gross=10.01&invoice=41+-+Matthew+Russo&protection_eligibility=Ineligible&address_status=unconfirmed&item_number1=100+Down&tax=0.00&item_number2=3+Minute+Killer&payer_id=HCPZW2ERXCQEE&item_number3=&address_street=28+Harran+Street&payment_date=02%3A53%3A41+Aug+07%2C+2012+PDT&payment_status=Completed&charset=UTF-8&address_zip=4215&mc_shipping=0.00&mc_handling=0.00&first_name=Matthew&mc_fee=0.54&address_country_code=AU&address_name=Matthew+Russo¬ify_version=3.5&custom=bGk%3D&payer_status=verified&business=buyer_1344329124_biz%40iamrusso.com&address_country=Australia&num_cart_items=3&mc_handling1=0.00&mc_handling2=0.00&mc_handling3=0.00&address_city=Southport&verify_sign=AQU0e5vuZCvSg-XJploSa.sGUDlpAt6M3JX38vIar5BBJu34mfDAdiZ-&payer_email=test_1331528880_per%40iamrusso.com&mc_shipping1=0.00&mc_shipping2=0.00&mc_shipping3=0.00&tax1=0.00&tax2=0.00&tax3=0.00&txn_id=4RT72761CF1033350&payment_type=instant&last_name=Russo&address_state=&item_name1=100+Down&receiver_email=buyer_1344329124_biz%40iamrusso.com&item_name2=3+Minute+Killer&payment_fee=&item_name3=Shipping%2C+Handling%2C+Discounts+%26+Taxes&quantity1=1&quantity2=1&receiver_id=5NKGE9H9BPPFL&quantity3=1&txn_type=cart&mc_gross_1=4.55&mc_currency=AUD&mc_gross_2=4.55&mc_gross_3=0.91&residence_country=AU&test_ipn=1&transaction_subject=bGk%3D&payment_gross=&ipn_track_id=5863b7393347c
2012-08-07 9:53:49 - PP_STANDARD :: IPN RESPONSE: VERIFIED
2012-08-07 9:53:49 - PP_STANDARD :: RECEIVER EMAIL MISMATCH! buyer_1344329124_biz@iamrusso.com

Re: Paypal Standard RECEIVER EMAIL MISMATCH

Posted: Tue Aug 07, 2012 9:56 pm
by MaxD
I know the ussues of PayPal Standart module - faced a lot of them while developing PayPal Digital.

You get "RECEIVER EMAIL MISMATCH" message when the payment amount doesn't match order. In your example mc_gross=10.01. Does order has the same total?

Re: Paypal Standard RECEIVER EMAIL MISMATCH

Posted: Wed Aug 08, 2012 4:42 am
by matthew.russo
MaxD wrote:In your example mc_gross=10.01. Does order has the same total?
You are a legend!! The gross amont wasn't matching the order total between the store and paypal because of rounding. I had a price set as $4.4545 with 10% tax that rounded it to $5.005 but on the store showed as $5.00 hence a different total of $10.00 but the real total was $10.01. To resolve my issue I could either change the currency rounding to $X.XXXX instead of $X.XX or change the pricing to $X.XX (eg. $4.54) which is what I did.

Re: Paypal Standard RECEIVER EMAIL MISMATCH

Posted: Wed Aug 08, 2012 6:41 am
by MaxD
Glad it helped :-)

Re: Paypal Standard RECEIVER EMAIL MISMATCH

Posted: Fri Jan 10, 2014 12:23 pm
by jonraabe
So how and where did you actually update that rounding issue. Is it in paypal or on opencart somewhere?

Re: Paypal Standard RECEIVER EMAIL MISMATCH

Posted: Sun Mar 16, 2014 10:52 pm
by ifyouseek
I am getting the same problem... It sounds like the guy above just changed the price of his product by a penny. This is ok when you only have 1 currency but when you have live excchange rates updating evey day you will always run in to this problem. For me it is currently happen for every 1 in 10 orders we get through paypal.

You would think after a few years of this problem being known someone would have fixed it by now!!!!

Can anyone suggest a fix. It seems the price is announced as 115.29 eur to the IPN but gets saved in my cart as 115.30 eur.

Would removing some of the decimal places off the currency exchange rate make any different? ..... actually i notice this is fixed to 8 decimal places.... So if I were to find the code that updates the exchange rate and then change it from 8 decimal place to maybe 2 or 3 decimal places, would this decrease the chances of a price mismatch? :choke:

Re: Paypal Standard RECEIVER EMAIL MISMATCH

Posted: Mon Mar 17, 2014 9:27 am
by MaxD
The easiest way to fix is to remove sum check. At catalog/controller/payment/pp_standard.php remove

Code: Select all

 && ((float)$this->request->post['mc_gross'] == $this->currency->format($order_info['total'], $order_info['currency_code'], $order_info['currency_value'], false))

Re: Paypal Standard RECEIVER EMAIL MISMATCH

Posted: Wed Mar 19, 2014 7:18 pm
by ifyouseek
Is there any potential issues doing this, will all payments come through as complete or pending?... I would be forever checking if the payment amount matched the order total if i removed the code that checks if payment is correct amount.

Thanks for the advice, but have you got any other solution to fixing this bug!?

Re: Paypal Standard RECEIVER EMAIL MISMATCH

Posted: Wed Mar 19, 2014 9:52 pm
by MaxD
They will come as complete. If someone hacks inside your payment page code, he will have an ability to pay "wrong" sum. But thats nearly fantastic scenario.

Re: Paypal Standard RECEIVER EMAIL MISMATCH

Posted: Sat Jun 28, 2014 3:56 am
by webcookie
Im sure your customer would not appreciate their email address and transaction details listed publically on a forum! :crazy:

Re: Paypal Standard RECEIVER EMAIL MISMATCH

Posted: Thu Aug 28, 2014 12:30 am
by frankleng
MaxD wrote:The easiest way to fix is to remove sum check. At catalog/controller/payment/pp_standard.php remove

Code: Select all

 && ((float)$this->request->post['mc_gross'] == $this->currency->format($order_info['total'], $order_info['currency_code'], $order_info['currency_value'], false))
thanks. i have the same problem. have a try.

Re: Paypal Standard RECEIVER EMAIL MISMATCH

Posted: Sun Sep 28, 2014 10:37 am
by frankleng
I tried MaxD's method, but that error still comes.
I found another solution, but when working with free shipping, it will bring another problem.
Currently i have disable free shipping to let paypal work.

http://forum.opencart.com/viewtopic.php?f=20&t=131470
http://forum.opencart.com/viewtopic.php?f=20&t=131297