Guest Posted July 30, 2012 Share Posted July 30, 2012 I have installed everything correctly for PayPal Advanced except I get this error when I try to pay for the cart: Some required information is missing or incorrect. Please correct the fields below and try again. Error: Invalid Merchant or Merchant doesn't exist! I know the merchant exists and the tech people at paypal don't have a problem and do not get the error. Any body have this problem? Quote Link to comment Share on other sites More sharing options...
fdegree Posted July 31, 2012 Share Posted July 31, 2012 I did see that error before, but I can't remember what solved the problem. I think it may have been when I was trying to test everything through the PayPal Sandbox...I never could get that to work properly. PayPal support people even said nothing was wrong with how I had the Sandbox account set-up, but they could not get it to work either. They finally admitted that their Sandbox is problematic, and suggested I switch everything to "Live". After switching to "Live" everything worked perfectly. Again, I'm not sure if this was when I saw that error, so this is purely a guess. Quote Link to comment Share on other sites More sharing options...
Dano87 Posted September 25, 2012 Share Posted September 25, 2012 (edited) Ben, were you ever able to solve this problem? I am receiving the exact same error message (Error: Invalid Merchant or Merchant doesn't exist!) when I attempt to check out with certain items in my cart. Strangely, I only receive this error message when both of the following two conditions are met: i) I have one of the two most expensive items that I sell on my site in the shopping cart, and ii) The transaction is subject to sales tax. If these two conditions are not met, the checkout process is completed perfectly w/ no issues from PayPal. I am using osC v2.3.3, PayPal Payments Advanced (Layout C), and PayPal Payflow as my payments module. When I spoke w/ a PayPal Integration representative, he said my site was not receiving a secure token from PayPal in the cases when I receive this error message, so something about two items I sell combined with sales tax being charged is causing a problem with the secure token being sent and received from PayPal. I am of course happy to provide any additional information as needed. Thanks very much to anyone who can help me, and thanks to all the smart/helpful people on this forum who have allowed me to get this far! Edited September 25, 2012 by Dano87 Quote Link to comment Share on other sites More sharing options...
DanielleB Posted October 13, 2012 Share Posted October 13, 2012 I have encountered this same problem, I am using Paypal's Layout C. I fixed the issue by going to Admin > Configuration > My Store and changed the "Display Prices with Tax" to true. When set to true the problem resolved, when set to false the error message displays. Quote Link to comment Share on other sites More sharing options...
ameliacutebows4girls Posted March 25, 2013 Share Posted March 25, 2013 I first encountered the first error, but I changed to Live from Sandbox. I'm currently getting this error now so please let me know how I can go to resolve this issue. I have encountered an error below even I changed Admin > Configuration > My Store and it is currently displayed as false. Some required information is missing or incorrect. Please correct the fields below and try again. Error: Token is missing. Please return to the website from where you started your purchase and try again. Thanks, Quote Link to comment Share on other sites More sharing options...
ameliacutebows4girls Posted March 25, 2013 Share Posted March 25, 2013 I changed Admin > Configuration > My Store and changed the "Display Prices with Tax" to true, but I still get the same error. Some required information is missing or incorrect. Please correct the fields below and try again. Error: Token is missing. Please return to the website from where you started your purchase and try again. Please help me out if you have any idea how to resolve this issue. Thanks, Tom Quote Link to comment Share on other sites More sharing options...
HowardR Posted April 1, 2013 Share Posted April 1, 2013 (edited) I solved the "Error: Invalid Merchant or Merchant doesn't exist!" problem in the weirdest way you can imagine. All I did was move the info box from the right side of the page back to its default place on the left side! In the middle of March I installed two OSCommerce 2.3.3 stores and got them both working with PayPal Payflow -- I have the new "Advanced" account. I even put through several small transactions on my own credit card to make sure everything was working. After that, I continued to make changes in the store appearance, and in the process PayPal Payflow stopped working in one of them. I spent at least 12 hours trying to solve the problem. I restored the files that I had changed. I spent about 3 hours on the phone with the PayPal tech staff, convinced that the problem must be on their end. I even tried installing a new user on the manager.paypal side. They were convinced that the problem must be on my end, and I only half believed them. Since one of my stores was working and the other wasn't, I decided to make everything in the non-working store identical to the one that was working. So I downloaded all of the oscommerce-2.3.3 files (except the configuration files) from the store that was working and uploaded them to the store that wasn't working. But it still didn't work. So I kept looking for any difference, any difference whatsoever, between the two stores. And the only difference that I could find was that I had moved the info box in the non-working store from its default place on the left side of the page to the right side of the page. So I moved the info box back to the left side and, voila, it worked! I am about 90% sure that this was the solution, but I am not positive, and I am not going to check by putting the info box back on the right! Now that it's working, I'm not planning to change anything! Howard Edited April 1, 2013 by HowardR Quote Link to comment Share on other sites More sharing options...
HowardR Posted April 1, 2013 Share Posted April 1, 2013 Whoops! I was wrong. The location of the info box was not the problem. The problem depends upon which products are in the cart. It only seemed to work after I moved the info box back from the right to the left because at the same time I changed the product that I was using in my test of the store. DanO87 was on the right track when he wrote that this error depends upon which items are in the cart: SBen, were you ever able to solve this problem? I am receiving the exact same error message (Error: Invalid Merchant or Merchant doesn't exist!) when I attempt to check out with certain items in my cart. Strangely, I only receive this error message when both of the following two conditions are met: i) I have one of the two most expensive items that I sell on my site in the shopping cart, and ii) The transaction is subject to sales tax. If these two conditions are not met, the checkout process is completed perfectly w/ no issues from PayPal. I am using osC v2.3.3, PayPal Payments Advanced (Layout C), and PayPal Payflow as my payments module. When I spoke w/ a PayPal Integration representative, he said my site was not receiving a secure token from PayPal in the cases when I receive this error message, so something about two items I sell combined with sales tax being charged is causing a problem with the secure token being sent and received from PayPal. I have isolated the problem to the fact that PayPal doesn't return the securetokenID in a form usable by catalog/checkout_confirmation.php when checkout_confirmation.php?osCsid=... is called by catalog/checkout_payment.php. My next attempt will be to solve the problem by going back to the checkout_payment.php and the checkout_confirmation.php of v2.3.1. Quote Link to comment Share on other sites More sharing options...
HowardR Posted April 2, 2013 Share Posted April 2, 2013 Oh well, uploading checkout_payment.php from v2.3.1 didn't help and I was already using the version of checkout_confirmation.php supplied by PayPal. I am getting this error message with some products but not others. I can't see a pattern, other than that all of the products that don't work are taxable ones. Quote Link to comment Share on other sites More sharing options...
Guest Posted April 2, 2013 Share Posted April 2, 2013 @@HowardR You should NOT see the OSCID= in the URL. If you do, that means you have a session error which might be preventing you from checking out. Chris Quote Link to comment Share on other sites More sharing options...
HowardR Posted April 2, 2013 Share Posted April 2, 2013 Thank you, Danielle. Your solution worked for me. In Admin > Configuration > My Store I changed the "Display Prices with Tax" to true. It's weird to have prices displayed with sales tax, but it works. Quote Link to comment Share on other sites More sharing options...
HowardR Posted April 2, 2013 Share Posted April 2, 2013 @@DunWeb, Sorry for not being clear. I was looking at the html source code of running php files, as generated by my browser when doing the checkout process. I was comparing code when the process would work correctly with the process when it would not. I meant to say that found no significant differences in the file checkout_payment.php, other than that the value of the osCsid was different in statements such as: <form name="checkout_payment" action = "... checkout_confirmation?osCsid=gjl...."> and checkout_payment_address.php?osCsid=gjl... But I did find a significant difference in the html source code of checkout_confirmation.php, namely that the good version had a value for securetokenID and the bad one did not. I suspect that the problem is with the getToken function in catalog/includes/modules/payment/paypal_payflow_link.php, furnished by PayPal. But I haven't taken the time to examine the values for $key and for $value when the function is working and when it is not working. I would look for either an "=" or an "&" in a $key or in the $value. Such a character could throw everything off since keys and values are paired using the equal sign and separated from each other using the ampersand, i.e.: $apiStr .= $key . '=' . $value . '&'; I'm not sure whether I will take the time to explore this further. If my store works ok with sales tax included, I may just let it be. Howard Quote Link to comment Share on other sites More sharing options...
HowardR Posted April 4, 2013 Share Posted April 4, 2013 I found the PayPal Payflow bug! The payflow module provided by PayPal (catalog/includes/modules/payment/paypal_payflow_link.php) gives an " Error: Invalid Merchant or Merchant doesn't exist!" when you are using PayPal Advanced with OS Commerce v2.3.3. Instead of a PayPal IFrame comming up in catalog/checkout_confirmation.php, you get an error message. The problem occurs in the pre_confirmation_check() function in the paypal_payflow_link.php file whenever the amount of the transaction has more than 2 decimal places. In other words, the PayPal IFrame comes up in catalog/checkout_confirmation.php if AMT=7.08 But instead you get "Error: Invalid Merchant or Merchant doesn't exist" if AMT=7.0876 To fix the bug a few lines of code need to be inserted into the file catalog/includes/modules/payment/paypal_payflow_link.php so as to round the amount to the nearest penny. I'll post my solution code here, once I write it unless someone else posts one first. Howard Quote Link to comment Share on other sites More sharing options...
HowardR Posted April 4, 2013 Share Posted April 4, 2013 Here's my fix: In the file catalog/includes/modules/payment/paypal_payflow_link.php replace line 86, which currently reads: . "&AMT=" . $order->info['total'] so that it reads: . "&AMT=" . tep_round($order->info['total'], '2') Howard Quote Link to comment Share on other sites More sharing options...
HowardR Posted April 7, 2013 Share Posted April 7, 2013 Here's what I think happened: In the update from v2.3.1 to v2.3.3, a rounding error was fixed by storing the amount of a transaction with 4 decimal places, instead of just 2. Meanwhile, when PayPal code read that amount, it failed whenever the amount had more than 2 decimal places. The fix is simple, you just need to change one line of code in order to round the amount of the transaction, as supplied to PayPal, to two decimal places. I have notified PayPal Support about the bug and its fix. Once they update their code at x.com, PayPal Advanced should work equally well with versions 2.3.1 and 2.3.3. In the meantime, if you plan to use PayPal Advanced you can either install 2.3.1 or you can install 2.3.3 and fix the one line of code yourself. Howard Quote Link to comment Share on other sites More sharing options...
HowardR Posted May 14, 2013 Share Posted May 14, 2013 I posted my fix as an addon. You should be able to find it at: http://addons.oscommerce.com/info/8780 If you are planning to install PayPal Advanced with OSCommerce 2.3, I also recommend that you watch the following helpful video by Ryan from PayPal: https://www.youtube.com/watch?v=Hca2o94gD-E&list=PL3E37BD5019E92D63&index=13&feature=plpp_video Quote Link to comment Share on other sites More sharing options...
Landho Posted August 11, 2013 Share Posted August 11, 2013 What are you doing for customers who cancel at the PayPal site? That is - they choose to pay via paypal so they punch out to the PayPal site, but there they choose to "Cancel and return to store page"... If you do not configure payflow for a page, it doesn't return them to the store... if you configure it for checkout_success.php, obviously the order appears to go through... I've configured my return url to https://www.<site>.com/store/checkout_payment.php - and this is working okay, but would love to hear what others are doing. Quote Link to comment Share on other sites More sharing options...
esm Posted August 14, 2013 Share Posted August 14, 2013 I need to install PayPal Advanced and I have tried to watch that video but half of the audio part is missing. I'm wondering if there's a transcript of that video somewhere? Thanks, Ed Quote Link to comment Share on other sites More sharing options...
ksmaltz Posted November 19, 2013 Share Posted November 19, 2013 (edited) I'm struggling with the Paypal Advanced/Payflow module. I've picked up all these changes and thought I had everything up and working on my test server. But I've run into 2 issues. The first is that I have everything set as "Test" server and sandbox, but it won't accept any test credit cards and when I put in a real card, it actually charges it! This has made my second and more serious problem harder to diagnose. The second problem is that on the local server, it appears to work fine. Payment processed, order shows up in the admin, and I get taken to the checkout_success page. When I put it live on my server (and update the manager.paypal), it instead shows the login page in the iframe, the payment gets sent to PayPal, but nothing shows up in the admin, so the order cannot be tracked or logged in. I feel like I must have missed something obvious, but I can't figure it out. And with it sending all orders as real orders, it is a pain because I have to refund everything. Any ideas? Thanks, Kristin Edited November 19, 2013 by ksmaltz Quote Link to comment Share on other sites More sharing options...
negativeexistence Posted December 3, 2013 Share Posted December 3, 2013 @@ksmaltz The second problem is that on the local server, it appears to work fine. Payment processed, order shows up in the admin, and I get taken to the checkout_success page. When I put it live on my server (and update the manager.paypal), it instead shows the login page in the iframe, the payment gets sent to PayPal, but nothing shows up in the admin, so the order cannot be tracked or logged in. I feel like I must have missed something obvious, but I can't figure it out. And with it sending all orders as real orders, it is a pain because I have to refund everything. I am having the same issue... I have set this up on 2 other websites without any problems. Now all of the sudden this iFrame loop thing. I have called paypal and they told me to reinstall but it didn't help. Any ideas would be appreciated. Quote Link to comment Share on other sites More sharing options...
negativeexistence Posted December 5, 2013 Share Posted December 5, 2013 I now believe this to be a php.ini issue. I uploaded my php.ini file from my other sites and it crashed my new site - 500 Internal Server Error register_globals = on extension=mysql.so my host is powweb - not sure if that is relavant... Quote Link to comment Share on other sites More sharing options...
negativeexistence Posted December 5, 2013 Share Posted December 5, 2013 okay - apparently this particular host (powweb) will not allow me to edit the php.ini file. i had to call in and ask for the following changes "Turn on register_globals and enable the MySQL extension" - they will be resetting the server shortly & I will place a test order and repost if that did the trick. Quote Link to comment Share on other sites More sharing options...
negativeexistence Posted December 9, 2013 Share Posted December 9, 2013 no dice... I have been on the phone with Paypal for several hours trying various things all without any luck. Quote Link to comment Share on other sites More sharing options...
negativeexistence Posted December 17, 2013 Share Posted December 17, 2013 Anyone successfully using this module with powweb? Quote Link to comment Share on other sites More sharing options...
annethomas Posted February 1, 2014 Share Posted February 1, 2014 Thanks that was a HUGE help in setting up payflow!! I have it up and working now- only one last difficulty- it is sending the state in long form (ie.. Georgia) instead of short form (ie GA) which messes up things a bit- anyone know where that is happening? Thanks I found the PayPal Payflow bug! The payflow module provided by PayPal (catalog/includes/modules/payment/paypal_payflow_link.php) gives an " Error: Invalid Merchant or Merchant doesn't exist!" when you are using PayPal Advanced with OS Commerce v2.3.3. Instead of a PayPal IFrame comming up in catalog/checkout_confirmation.php, you get an error message. The problem occurs in the pre_confirmation_check() function in the paypal_payflow_link.php file whenever the amount of the transaction has more than 2 decimal places. In other words, the PayPal IFrame comes up in catalog/checkout_confirmation.php if AMT=7.08 But instead you get "Error: Invalid Merchant or Merchant doesn't exist" if AMT=7.0876 To fix the bug a few lines of code need to be inserted into the file catalog/includes/modules/payment/paypal_payflow_link.php so as to round the amount to the nearest penny. I'll post my solution code here, once I write it unless someone else posts one first. Howard Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.