Jump to content

HowardR

Members
  • Content count

    45
  • Joined

  • Last visited

Everything posted by HowardR

  1. On June 4, my store suddenly stopped working right. People can still pay in my store if they log into their PayPal accounts, but if they try to pay by credit card without doing so, the payments are successfully captured by PayPal, but the customer receives no confirmation, so they sometimes pay multiple times. Meanwhile my store doesn't find out about them. My guess is that PayPal is not succeeding in logging into my store to tell it that a payment has succeeded. My website is indeed outmoded: OS Commerce Edge 2.3.4. PayPal App 6.010. Centos 6.9 TLS 1.2 according to OpenSSL, but the store PayPal module test says that only TLS1.1 is available. PHP version is 5.5 Does anybody have any idea of what is going on? Might installing an improved .pem file for php help? If so, please refer me to detailed instructions as I am not a php programmer. If the solution requires a complete upgrade, can anybody tell me the minimum that would be needed to guarantee that it would work.
  2. HowardR

    Payments by credit card stopped working on Friday

    Thank you so much for the feedback. It's interesting to hear that a similar problem is happening to Phoenix. By the way, if anybody else starts getting this problem with PayPal and credit cards, I've found a quick fix that just requires changing the PayPal module's configuration: 1. In the Direct Payment tab, change Status from "Live" to "Disabled". (This means that Express Checkout will be the only form of payment.) 2. In the Express Checkout Tab: Status: leave it set to "Live" Checkout Flow: change from "Classic" to "In-Context". PayPal Account Optional: Change from False to True (So people can pay by credit card without having to create a PayPal Account.) Instant Update: can be either "Enabled" or "Disabled" - It works both ways. (My store uses Flat Rate shipping, so I don't need it to be "Enabled".) Transaction Method: leave it set to "Sale" The key changes are: Disable Direct Payment because it's not working. Change Checkout Flow to "In-Context" Make PayPal Account optional so that customers can pay by credit card. My guess is that this configuration works because PayPal has a lower level of security requirement for In Context than it does for Direct Payment and Classic Checkout Flow. Ponce de Leon did an excellent job with putting together this PayPal module. His configuration setting tool gives store owners so many options! I couldn't have fixed this problem without them.
  3. I just got a notice from PayPal that, starting in June 2017, versions older than TLS 1.2 and HTTP/1.1 will not be able to communicate with Payflow. Are we covered in Version 2.3.4? How about my stores that still run 2.3.3 - will I need to upgrade to 2.3.4 before June? https://www.paypal-knowledge.com/infocenter/index?page=content&widgetview=true&id=FAQ1914&viewlocale=en_US
  4. HowardR

    [Contribution] Option Types v2

    I wonder if anybody else has encountered this weird bug? If so, I would be interested in hearing how you solved it. The problem occurred in my second store, for which I upgraded my 2.3.3 store database (which used Option Types) to Edge using the attached file. The weird bug is that in my 2.3.3. store, my database allowed Option Values (for the "select" option type) to be at least 40 characters long, but my new Edge store only allows them to be 32 characters long or less. If I go over 32 characters, I get the following database error from checkout_process.php *after* successful processing of the customer's credit card: At first I thought that all I would have to do was change the "Value Length" for my option names from the transferred in value "0" to "40". But that didn't affect anything. So I "solved" the problem by abbreviating the names of all of my option values that were longer than 32 characters so that they would be 32 characters or less. Howard 233_to_234BS.sql
  5. I am migrating my stores to a secure website that supports TLS 1.2 in time for PayPal's June 30 deadline. My old OSCommerce 2.3.3 store uses PayPal PayFlow Module Version: 1.2. My new store will use the Edge version with the latest PayPal modules (probably 5.010). Anybody have any tips for changes in the way that PayPal Service settings should be set up? For example, in my old store, I used "GET" for my Cancel URL Method and my Enter URL Method. Should those be changed to "POST"? Similarly, in my old store, I set Enable Secure Token to "Yes." Should that be changed to "No"? Any tips that you can give on how you did it would be appreciated. Howard
  6. There will be other people who will be in a rush this week to set up new OSCommerce stores in order to work with PayPal PayFlow. If your store is on an old website that doesn't support TLS 1.2, you have to move fast. My store was on a Centos 5 website which didn't support TLS 1.2. I was paid up until early July, so I waited until now to make the switch. Here's how I got the Edge Version of OS Commerce 2.3.4 working with PayPal PayFlow: 1. Purchased a new dedicated server from GoDaddy. 2. Installed GoDaddy's SSL certificate on the new server. 3. Upgraded the dedicated server from EasyApache 3 to EasyApache 4, in order to get TLS 1.2 level of security. 4. Downloaded OSCommerce with Bootstrap Edge version from the following website: https://github.com/gburton/Responsive-osCommerce/archive/master.zip 5. Changed the root directory of my store to oscommerce234Edge and uploaded the entire directory to the public root directory of my website. 6. Downloaded PayPal App v4.039 from following website: https://apps.oscommerce.com/fZMiN and navigated to catalog\includes\modules\payments in that app and to oscommerce234Edge/includes/modules/payment in my store. I deleted every payment module that was in the online directory. Then I uploaded the four payment modules from the PayPal App directory because they fix the checkout_payment/checkout_success bug that has not yet been fixed in the Edge download. 7. I added "& ~E_DEPRECATED" to the error_reporting line in the BootStrap Edge files oscommerce234Edge/includes/application_top.php and oscommerce234Edge/admin/includes/application_top.php. 8. I used my CPanel to create a new mysql database and gave myself, as user, administrative privileges with that database. 9. I made following changes to Service Settings at PayPal Manager: Changed all URLs to the correct URLs on my new website. (Note that Edge no longer has a "catalog" directory.) Changed Get to Post in two places Changed checkout_process.php to checkout_success.php Set Enable Secure Token to "No." 10. I used Google Chrome to go to to https://mydomain/oscommmerce234Edge/install/. At the prompt for WWW Address I used https://mydomain/oscommerce234Edge/ 11. I downloaded the newly created configuration files and made some slight changes: in the includes/configure.php file I changed define('ENABLE_SSL', false); to define('ENABLE_SSL', true); in the admin/includes/configure.php file I changed define('ENABLE_SSL_CATALOG', 'false'); to define('ENABLE_SSL_CATALOG', 'true'); 12. Then I used Google Chrome, to go to my administration file: https://mydomain/oscommerce234Edge/admin/index.php 13. I clicked on "PayPal" and clicked on "Start". Then I clicked on "Retrieve Live Credentials." And saved the result. (I didn't retireve my sandbox credentials, which was a mistake.) 14. Then I added a $1 item to my products which I called "Bumper Sticker" and I set set Flat Rate shipping to be 0, so that I could buy an item that would just cost $1 15. Then I came into my store and tried to buy the bumper sticker. I was never prompted to enter my name. The only way I was able to check out by clicking on "Check out with PayPal" but I got an error message that my credentials were not installed correctly. (Probably because I had not retrieved by Sandbox Credentials when I should have done so. 16. Then I went back to my administrative tool and clicked on "Modules" and "Payment" to see what payment modules were installed. The only one installed was PayPal Express Checkout. The only option for editing it was the sort order, which I edited and set to 1 and clicked "save". 17. Then I clicked on "Install Module" and installed a second module: "PayPal Payments Pro (Direct Payment)" which took me to a page where the highlighted items (orange with white background) indicated which cards had been enabled and that the status was "Live" and the transaction Method was "Sale". So I Saved those settings. 18. Then I clicked on PayFlow and filled in my credentials which I got from my old store's PayPal Payflow Version 1.2 Payment Module. Where it said "Merchant Login" I put in what was called "Vendor" in my old store. I inserted the same credentials for Sandbox. Then I clicked "Save." 19. Then I went into my store as a customer. I tried to buy a bumper sticker with a credit card, and it worked. 20. Then I went back into my administration tool and clicked on PayPal and credentials to see what the problem was. It showed that I had never entered my Sandbox credentials. When I tried to retrieve those, it sent me to a page where it wanted me to set up a business account, which I already have. So I simply copied my Live Credentials into the boxes for my Sandbox Credentials and I clicked "Save." 21. Later, I went back into the store as a customer and tried to check out with PayPal and everything seemed to be working. Everything that I did could be done in a short time, but it took me hours and hours. I made lots of mistakes such as trying to install Version 5 of the PayPal app which doesn't work with the Edge version and trying to install the PayPal modules before installing the PayPal tool.
  7. clustersolutions: I think I can answer your question. The problem with dropping 5.010 directly into Edge is that it was coded for OSCommerce 2.3.5, not for OSCommerce2.3.4Edge. (I may be wrong about this.) However, according to the V 5.010 thread, you can install 4.039 and then upgrade to 5.010 with just one click. See: Some people who tried that in April got errors due to deprecated syntax in the code. My guess is that those errors could be easily eliminated by installing the compatibility add-on: Add-On Compatibility for 2.3.4 EDGE. If you install 4.039 and then click the button to upgrade to 5.010, please post here how it went. If you succeed, I'll probably do it myself. Howard
  8. HowardR

    Service Settings for new PayPal PayFlow modules

    frankl, The service settings are at https://manager.paypal.com/. If you are wondering about my Service Settings, do check out my thread about how I set up OsCommerce 2.3.4BS EDGE version to work with PayPal PayFlow-- And don't miss my response to my own initial posting in which I described a small change I made in those service settings just before I put my store online. My thread is at: https://forums.oscommerce.com/topic/411221-how-i-got-oscommerce-234bs-edge-working-with-payflow/ My store is online and working. I have been taking orders for a couple of days and they have been coming through without problem. Howard
  9. HowardR

    [Contribution] Option Types v2

    Bonbec's solution worked! I have now uncommented the error-causing line and I don't get an error when I click on "Products Attributes" after clicking on "Catalog" while using the administration tool (/admin/index.php). In my code, the line (about line 29) of /admin/products_attributes.php now reads: Bonbec, you are brilliant! I should have thought of that solution myself! I should have been tipped off by the fact that (int) appears before the $languages variable in the very same command. Tsimi, I love your idea of updating the code and uploading a new add-on. When you do so, *please* put up the updated files also; you would save everyone hours and hours of time! For the record (in case the bug was due to MySQL version), my version is 5.6.35. Howard
  10. I've got my store online. One of the last things I did was change the Return URL in the PayPal Service Settings on the PayPal website to checkout_process.php from checkout_success.php. I did so because checkout_process.php sends out an email before it exits with checkout_success.php.
  11. HowardR

    [Contribution] Option Types v2

    Tsimi, Thank you. You guys are the best! I very much appreciate your fast responses to my questions. And your add-on is the best! I wouldn't use OSCommerce without it! The compatibility link that Raiwa posted was very easy to install, and it solved all of my other "bugs". By the way, I don't think that commenting off that one line has affected my store. Option types appears to be working fine without it. Howard
  12. HowardR

    [Contribution] Option Types v2

    Thank you Naiwa, But the line that I had to comment off does appear to contain a bug. The database is getting the string 'Options_Values_Text_ID' for a value that requires an integer. Howard
  13. HowardR

    [Contribution] Option Types v2

    Here's something else to add to the admin/includes/configure.php file if you are using the boot strap 2.3.4 version: define('FILENAME_PRODUCTS_ATTRIBUTES', 'products_attributes.php');
  14. HowardR

    [Contribution] Option Types v2

    I found and fixed a couple of bugs in the Bootstrap version and I think things are working now: 1. I added the following to both configuration files (includes/configure.php & admin/includes/configure.php): define('DIR_WS_INCLUDES', 'includes/'); 2. I couldn't find the error that I posted about above in the /admin/products_attributes.php file. So I commented off the line that was causing the database error. In other words, I inserted // at the beginning of the line. (It's near the beginning of the file -- about line 29.) If anybody can find the error in this line please post here. I may run into problems as a result of commenting it off. It has to do with the names of attributes in each language: //tep_db_query("insert into " . TABLE_PRODUCTS_OPTIONS_VALUES . " (products_options_values_id, language_id, products_options_values_name) values ('" . OPTIONS_VALUES_TEXT_ID . "', '" . (int)$languages[$i]['id'] . "', '" . TEXT_UPLOAD_NAME . "')");
  15. HowardR

    [Contribution] Option Types v2

    Dear Community: I'm doing a new clean install of Oscommerce 2.3.4BS Edge, and I just added the Option Types for 2.3.4 BS contribution. But when I go into my administration tools and click on "Catalog" and then "Products Attributes", I get the following error message on the admin/products_attributes.php page: Apparently, the database expects an integer value but is getting 'Options_Values_Text_ID' instead. I thought that the error could be due to me having installed admin/products_attributes.php incorrectly, but both of the files that came with the add-on gave me the same error. I even tried carefully installing one-by-one the changes in the products_attributes.php file, but I still got the same error. Has anybody encountered this error before? If so, is there a known fix? I suspect that the problem is that Options_Values_Text_ID is being treated as a literal when it is actually a variable that has an integer value. If I find the fix, I'll post it here. Howard
  16. Burt, Thank you very much for the response. I'm probably wrong about v5. Could you go to PayPal Manager and check out your PayPal Service Settings Set Up? V5 settings are most likely the same as v4. Did you: Use GET or POST? Return to checkout_process.php or checkout_success.php? Enable Secure Tokens? Howard
  17. HowardR

    New Payflow requirement: TLS 1.2 & HTTP/1.1

    Now PayPal says that we have until the end of June before the change goes into affect.
  18. HowardR

    New Payflow requirement: TLS 1.2 & HTTP/1.1

    Actually, the deadline is the *end* of May, not the beginning. Also, the June 9, 2014, add-on has the PayFlow modules while the March 17, 2017 version has other PayPal payment modules as well as some admin improvements that work with the PayFlow modules.
  19. I have been upgrading one of my stores on a Centos 5 website from 2.3.3 to 2.3.4. It has been a slog. I've had to upgrade PHP, CURL and OpenSSL so that my website would be TLS 1.2 compliant. Along the way, I noticed a major change in the PayPal Payflow Payments modules, beginning with Version 3.0 which comes installed with OsCommerce 2.3.4: Older Versions. The PayFlow module (and the check-out window) gets a token from PayPal which it uses to set up a window into the PayPal website. Customers enter credit card numbers on PayPal's website, not on our website, using that window. Versions 3.0 and 3.1. Credit card numbers are collected on our website and passed to PayPal through a secure connection which will have to be TLS 1.2 compliant starting on June 1. Will the earlier versions of the PayFlow Direct Payments module also have to be TLS 1.2 complaint after May 31? I have another store, on a different Centos 5 website, that I'm hoping will continue to work with PayFlow after May 31.
  20. Thank you for the reply. The PayPal App is Version 3.1. My question was about pre 3.1 versions that didn't pass the credit card information to PayPal.
  21. HowardR

    New Payflow requirement: TLS 1.2 & HTTP/1.1

    I think I finally understand the TLS 1.2 issue. This is a very serious issue. There are a lot of OSCommerce owners that will wake up to a nasty surprise on May 1. Those of you who are not new to this, please let me know if I am wrong in any of my statements below: 1. This only affects PayFlow, if you have PayPal Express Checkout also installed in your store, that should keep working. So you won't be able to accept Credit Cards, but you will be able to still accept PayPal payments. 2. PayPal threatened to require TLS 1.2 on May 1, 2016. but they relented. Now they say that they are going to require it on May 1, 2017. I think that they are going to follow through this time. 3. If you have an older PayPal PayFlow module installed, it will stop working on May 1. If you have version 3.1 of the PayFlow module installed on May 1, you are OK. 4. There are two versions of 3.1 on addons created by Harald Ponce de Leon. Both work. The best one is the newest: http://addons.oscommerce.com/info/9184 -- March 1, 2017 -- designed for upcoming OSCommerce 2.3.5 but works with tweaking for earlier versions http://addons.oscommerce.com/info/5660 - June 9, 2014 -- designed for the standard (not responsive) version of OSCommerce 2.3.4 5. These versions require TLS 1.2 (the latest security standard) which does not run on OpenSSL 0.9.8, which just happens to be the version of Open SSL that is installed on most servers these days, due to security problems that were encountered with early versions of OpenSSL 1.0.1 and 1.0.2. You can test which version of TLS 1.2 that you have by using the following php code in a simple php file on your system: <?php function get_tls_version($sslversion = null) { $c = curl_init(); curl_setopt($c, CURLOPT_URL, "https://www.howsmyssl.com/a/check"); curl_setopt($c, CURLOPT_RETURNTRANSFER, true); if ($sslversion !== null) { curl_setopt($c, CURLOPT_SSLVERSION, $sslversion); } $rbody = curl_exec($c); if ($rbody === false) { $errno = curl_errno($c); $msg = curl_error($c); curl_close($c); return "Error! errno = " . $errno . ", msg = " . $msg; } else { $r = json_decode($rbody); curl_close($c); return $r->tls_version; } } echo "<pre>\n"; echo "OS: " . PHP_OS . "\n"; echo "uname: " . php_uname() . "\n"; echo "PHP version: " . phpversion() . "\n"; $curl_version = curl_version(); echo "curl version: " . $curl_version["version"] . "\n"; echo "SSL version: " . $curl_version["ssl_version"] . "\n"; echo "SSL version number: " . $curl_version["ssl_version_number"] . "\n"; echo "OPENSSL_VERSION_NUMBER: " . dechex(OPENSSL_VERSION_NUMBER) . "\n"; echo "TLS test (default): " . get_tls_version() . "\n"; echo "TLS test (TLS_v1): " . get_tls_version(1) . "\n"; echo "TLS test (TLS_v1_2): " . get_tls_version(6) . "\n"; echo "</pre>\n"; ?> So, if you have a store that uses PayFlow and you are using an older PayPal module, you could find yourself in deep doodoo on May 1. You better start making the transition today.
  22. HowardR

    Paypal express and pro nothing works.

    I couldn't tell from your posting whether you were using PayPal Advanced, which uses payflow. I use it to process both credit cards and PayPal payments. Customers are not required to leave my store to make payments. If that is indeed what you want, you will need an add-on to set it up. PayPal once published one for Version 2.3.1, I posted it on after changing one line of code so it would also work correctly with v. 2.3.3, not just 2.3.1. To find the add-on, go to: http://addons.oscommerce.com/info/8780
  23. HowardR

    Cannot find a payment module for Paypal Advanced

    I posted PayPal's add-on for PayPal Advanced. They stopped supporting the site where they had posted it themselves. PayPal's add-on was originally designed to work with OSCommerce 2.3.1. I have changed one line of code so that it would also work correctly with Version 2.3.3. Here's the add-on: http://addons.oscommerce.com/info/8780
  24. HowardR

    paypal advanced paypal payflow

    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
  25. HowardR

    paypal advanced paypal payflow

    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
×