Post by matthew.russo » Tue Aug 07, 2012 6:00 pm

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

Newbie

Posts

Joined
Tue Aug 07, 2012 5:52 pm

Post by MaxD » Tue Aug 07, 2012 9:56 pm

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?

User avatar
Active Member

Posts

Joined
Fri Jul 06, 2012 6:37 pm


Post by matthew.russo » Wed Aug 08, 2012 4:42 am

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.
Last edited by matthew.russo on Wed Aug 08, 2012 8:09 pm, edited 2 times in total.

Newbie

Posts

Joined
Tue Aug 07, 2012 5:52 pm

Post by MaxD » Wed Aug 08, 2012 6:41 am

Glad it helped :-)

User avatar
Active Member

Posts

Joined
Fri Jul 06, 2012 6:37 pm


Post by jonraabe » Fri Jan 10, 2014 12:23 pm

So how and where did you actually update that rounding issue. Is it in paypal or on opencart somewhere?

Newbie

Posts

Joined
Wed Nov 30, 2011 12:31 am

Post by ifyouseek » Sun Mar 16, 2014 10:52 pm

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:

Active Member

Posts

Joined
Thu May 06, 2010 4:40 pm

Post by MaxD » Mon Mar 17, 2014 9:27 am

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))

User avatar
Active Member

Posts

Joined
Fri Jul 06, 2012 6:37 pm


Post by ifyouseek » Wed Mar 19, 2014 7:18 pm

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!?

Active Member

Posts

Joined
Thu May 06, 2010 4:40 pm

Post by MaxD » Wed Mar 19, 2014 9:52 pm

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.

User avatar
Active Member

Posts

Joined
Fri Jul 06, 2012 6:37 pm


Post by webcookie » Sat Jun 28, 2014 3:56 am

Im sure your customer would not appreciate their email address and transaction details listed publically on a forum! :crazy:

Newbie

Posts

Joined
Sun Jan 13, 2013 10:58 pm


Post by frankleng » Thu Aug 28, 2014 12:30 am

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.

Active Member

Posts

Joined
Sun Apr 22, 2012 5:49 pm

Post by frankleng » Sun Sep 28, 2014 10:37 am

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

Active Member

Posts

Joined
Sun Apr 22, 2012 5:49 pm
Who is online

Users browsing this forum: No registered users and 394 guests