Guest Posted September 19, 2009 Share Posted September 19, 2009 every time i get an order thru paypal i get this message on the order in my admin side PayPal IPN Verified [Completed (Verified; $2,995.00); PayPal transaction value (2995.00) does not match order value (2,995.00)] can anyone tell me if this is normal or if i possibly have something set improperly? Link to comment Share on other sites More sharing options...
Xpajun Posted September 19, 2009 Share Posted September 19, 2009 I think it may be a PayPal thing - I've had it once although there was a difference of 0.01 in my case Only thing I can think of in your case is maybe on a currency exchange the value paid would be something like $2,995.00356 which in the eyes aof the PayPal computer would not equal $2,995.00 although the same program rounded it down :rolleyes: My store is currently running Phoenix 1.0.3.0 I'm currently working on 1.0.7.2 and hope to get it live before 1.0.8.0 arrives (maybe 🙄 ) I used to have a list of add-ons here but I've found that with the ones that supporters of Phoenix get any other add-ons are not really neccessary Link to comment Share on other sites More sharing options...
Guest Posted September 19, 2009 Share Posted September 19, 2009 I think it may be a PayPal thing - I've had it once although there was a difference of 0.01 in my case Only thing I can think of in your case is maybe on a currency exchange the value paid would be something like $2,995.00356 which in the eyes aof the PayPal computer would not equal $2,995.00 although the same program rounded it down :rolleyes: well this is not just once its on every order i get is there a way i can find out what is exactly causeing it i though it might be the format cause one has a dollar sign and the other one dont Link to comment Share on other sites More sharing options...
♥ecartz Posted September 19, 2009 Share Posted September 19, 2009 I think that it doesn't like the comma. In ext/modules/payment/paypal/standard_ipn.php, find if ($HTTP_POST_VARS['mc_gross'] != number_format($total['value'] * $order['currency_value'], $currencies->get_decimal_places($order['currency']))) { $comment_status .= '; PayPal transaction value (' . tep_output_string_protected($HTTP_POST_VARS['mc_gross']) . ') does not match order value (' . number_format($total['value'] * $order['currency_value'], $currencies->get_decimal_places($order['currency'])) . ')'; } and you could try changing it to if ($HTTP_POST_VARS['mc_gross'] != number_format($total['value'] * $order['currency_value'], $currencies->get_decimal_places($order['currency']), $currencies->currencies[$order['currency']['decimal_point'], '')) { $comment_status .= '; PayPal transaction value (' . tep_output_string_protected($HTTP_POST_VARS['mc_gross']) . ') does not match order value (' . number_format($total['value'] * $order['currency_value'], $currencies->get_decimal_places($order['currency'])) . ')'; } Always back up before making changes. Link to comment Share on other sites More sharing options...
Guest Posted September 21, 2009 Share Posted September 21, 2009 thanks will give it a try Link to comment Share on other sites More sharing options...
♥ecartz Posted September 22, 2009 Share Posted September 22, 2009 Looking at it again, the code is missing a bracket. Revised version: if ($HTTP_POST_VARS['mc_gross'] != number_format($total['value'] * $order['currency_value'], $currencies->get_decimal_places($order['currency']), $currencies->currencies[$order['currency']]['decimal_point'], '')) { $comment_status .= '; PayPal transaction value (' . tep_output_string_protected($HTTP_POST_VARS['mc_gross']) . ') does not match order value (' . number_format($total['value'] * $order['currency_value'], $currencies->get_decimal_places($order['currency'])) . ')'; } Always back up before making changes. Link to comment Share on other sites More sharing options...
Guest Posted September 26, 2009 Share Posted September 26, 2009 thanks for the update i will add it I am having another problem with my paypal standard too that i just figured out was happening when a customer places an order with paypal standard and they log in to there account to see there orders they dont have any orders is that because of a setting i dont have right ? Link to comment Share on other sites More sharing options...
♥ecartz Posted September 30, 2009 Share Posted September 30, 2009 Customers should be able to see those of their orders that are in an order status that is public. You can change the public status for an order status in admin >> Localization >> Orders Status. Alternately, you may want to change the PayPal module settings to give them a different order status. This might also mean that your standard_ipn.php file is not processing the notification from PayPal properly. That could keep the order from ever moving into a public order status. This is likely to be the problem if all the orders are showing as status Preparing [PayPal Standard]. Always back up before making changes. Link to comment Share on other sites More sharing options...
AndreD Posted October 12, 2010 Share Posted October 12, 2010 Looking at it again, the code is missing a bracket. Revised version: if ($HTTP_POST_VARS['mc_gross'] != number_format($total['value'] * $order['currency_value'], $currencies->get_decimal_places($order['currency']), $currencies->currencies[$order['currency']]['decimal_point'], '')) { $comment_status .= '; PayPal transaction value (' . tep_output_string_protected($HTTP_POST_VARS['mc_gross']) . ') does not match order value (' . number_format($total['value'] * $order['currency_value'], $currencies->get_decimal_places($order['currency'])) . ')'; } Even with this, I still get: (Unverified; 232,00kr); PayPal transaction value (232.00) does not match order value (232.00)] Could you please help me with the last part of formatting ? - strip the "kr" (currency) and replace "," with "." should do. -Thank you Link to comment Share on other sites More sharing options...
♥ecartz Posted October 12, 2010 Share Posted October 12, 2010 (Unverified; 232,00kr); PayPal transaction value (232.00) does not match order value (232.00)]The first one doesn't matter. It doesn't have to match anything. It's only the last two that need to match. Anyway, try this version: $verify_order_total = number_format($total['value'] * $order['currency_value'], $currencies->get_decimal_places($order['currency'])); if ($HTTP_POST_VARS['mc_gross'] != $verify_order_total) { $comment_status .= '; PayPal transaction value (' . tep_output_string_protected($HTTP_POST_VARS['mc_gross']) . ') does not match order value (' . $verify_order_total . ')'; } and if that doesn't work, try $verify_order_total = number_format($total['value'] * $order['currency_value'], $currencies->get_decimal_places($order['currency'])); if (tep_output_string_protected($HTTP_POST_VARS['mc_gross']) != $verify_order_total) { $comment_status .= '; PayPal transaction value (' . tep_output_string_protected($HTTP_POST_VARS['mc_gross']) . ') does not match order value (' . $verify_order_total . ')'; } If that doesn't work, then I'm not understanding what the problem is. An encoding issue maybe? Always back up before making changes. Link to comment Share on other sites More sharing options...
AndreD Posted October 12, 2010 Share Posted October 12, 2010 Thank you very much, testing the first now. Will use it for a while, need to see both values like 100.00 and 1,000.00 to be sure whatever it works or not. - then test the other one. Yes, I guess this it may be related to regional settings /currency formatting. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.