♥FWR Media Posted August 15, 2007 Share Posted August 15, 2007 Stowmarket, Ipswich, Norwich - us East Anglian folk are taking over the world. Vger The way it should be ;) Quote Ultimate SEO Urls 5 PRO - Multi Language Modern, Powerful SEO Urls KissMT Dynamic SEO Meta & Canonical Header Tags KissER Error Handling and Debugging KissIT Image Thumbnailer Security Pro - Querystring protection against hackers ( a KISS contribution ) If you found my post useful please click the "Like This" button to the right. Please only PM me for paid work. Link to comment Share on other sites More sharing options...
♥FWR Media Posted August 15, 2007 Share Posted August 15, 2007 I'll uninstall the one we currently use (didn't know there was a better one), and try Chemo's one out. I must say, the old one has been working for a very long time with no problems... Cheers, Laurie. I bet that will solve the problem. Quote Ultimate SEO Urls 5 PRO - Multi Language Modern, Powerful SEO Urls KissMT Dynamic SEO Meta & Canonical Header Tags KissER Error Handling and Debugging KissIT Image Thumbnailer Security Pro - Querystring protection against hackers ( a KISS contribution ) If you found my post useful please click the "Like This" button to the right. Please only PM me for paid work. Link to comment Share on other sites More sharing options...
♥Vger Posted August 15, 2007 Share Posted August 15, 2007 Use version 2.1c - the last one updated by Chemo himself. I wouldn't trust anything later than that. Vger Quote Link to comment Share on other sites More sharing options...
♥FWR Media Posted August 15, 2007 Share Posted August 15, 2007 Hi, thanks for the suggestion. Unfortunately I have already attempted this and it makes no difference. I have no idea if the W3C option is enabled. :blush: Any other suggestions would be really helpful. Regards, Paul. Have you checked the tep_redirect function in includes/functions/general.php to ensure that it is stock and the $url is not being formatted with htmlspecialchars or somesuch? Quote Ultimate SEO Urls 5 PRO - Multi Language Modern, Powerful SEO Urls KissMT Dynamic SEO Meta & Canonical Header Tags KissER Error Handling and Debugging KissIT Image Thumbnailer Security Pro - Querystring protection against hackers ( a KISS contribution ) If you found my post useful please click the "Like This" button to the right. Please only PM me for paid work. Link to comment Share on other sites More sharing options...
Charterhouse Posted August 15, 2007 Share Posted August 15, 2007 Hi, I'm actually using Chemo's Ultimate URL's but still get this problem. I have no other problems with any payment modules just protx direct. Strange..... Any other suggestions? Thanks. Quote Link to comment Share on other sites More sharing options...
Charterhouse Posted August 15, 2007 Share Posted August 15, 2007 Have you checked the tep_redirect function in includes/functions/general.php to ensure that it is stock and the $url is not being formatted with htmlspecialchars or somesuch? Hi Babygurgles, here is the function: function tep_redirect($url) { if ( (strstr($url, "\n") != false) || (strstr($url, "\r") != false) ) { tep_redirect(tep_href_link(FILENAME_DEFAULT, '', 'NONSSL', false)); } if ( (ENABLE_SSL == true) && (getenv('HTTPS') == 'on') ) { // We are loading an SSL page if (substr($url, 0, strlen(HTTP_SERVER)) == HTTP_SERVER) { // NONSSL url $url = HTTPS_SERVER . substr($url, strlen(HTTP_SERVER)); // Change it to SSL } } header('Location: ' . $url); tep_exit(); Our site is heavily customised and cannot remember if this is chemo's code or not.... Anything look stupid to anyone? Quote Link to comment Share on other sites More sharing options...
♥FWR Media Posted August 15, 2007 Share Posted August 15, 2007 Hi Babygurgles, here is the function: function tep_redirect($url) { if ( (strstr($url, "\n") != false) || (strstr($url, "\r") != false) ) { tep_redirect(tep_href_link(FILENAME_DEFAULT, '', 'NONSSL', false)); } if ( (ENABLE_SSL == true) && (getenv('HTTPS') == 'on') ) { // We are loading an SSL page if (substr($url, 0, strlen(HTTP_SERVER)) == HTTP_SERVER) { // NONSSL url $url = HTTPS_SERVER . substr($url, strlen(HTTP_SERVER)); // Change it to SSL } } header('Location: ' . $url); tep_exit(); Our site is heavily customised and cannot remember if this is chemo's code or not.... Anything look stupid to anyone? Well it's a dirty fix and better to find the root of the problem .. but if all else fails .. Replace in that function header('Location: ' . $url); With if (eregi('&', $url)) $url = str_replace('&', '&', $url); //Dirty fix to replace & with & in the url header('Location: ' . $url); Good luck Quote Ultimate SEO Urls 5 PRO - Multi Language Modern, Powerful SEO Urls KissMT Dynamic SEO Meta & Canonical Header Tags KissER Error Handling and Debugging KissIT Image Thumbnailer Security Pro - Querystring protection against hackers ( a KISS contribution ) If you found my post useful please click the "Like This" button to the right. Please only PM me for paid work. Link to comment Share on other sites More sharing options...
Charterhouse Posted August 15, 2007 Share Posted August 15, 2007 Well it's a dirty fix and better to find the root of the problem .. but if all else fails .. Replace in that function header('Location: ' . $url); With if (eregi('&', $url)) $url = str_replace('&', '&', $url); //Dirty fix to replace & with & in the url header('Location: ' . $url); Good luck Hi, Thanks for the fix. Works perfectly. I'll have to spend some time to find out excatly why it seems to get encoded but at least our customers can see any protential issues with the payment model. Thanks again, Paul. Quote Link to comment Share on other sites More sharing options...
Guest Posted August 15, 2007 Share Posted August 15, 2007 Regarding the issue with & in the urls with seo urls installed see this post earlier in the thread (it's a fix taken from the ultimate seo urls thread some time ago) http://www.oscommerce.com/forums/index.php?act...amp;pid=1099546 Tom Quote Link to comment Share on other sites More sharing options...
brownowl Posted August 16, 2007 Share Posted August 16, 2007 I bet that will solve the problem. Ok, I've removed the SEO stuff I was using, flushed all caches, turned off the "search engine friendly URLs" thingy in admin, and the site now works, albeit without SEO enabled. I'll now tar the site up and add in Chemo's stuff. Will report back. On another peripheral note, is anyone else in the East Anglian contingent a member of ALUG (Anglian Linux User Group)? PM me if you are or want to be, please. Cheers, Laurie. Quote Link to comment Share on other sites More sharing options...
brownowl Posted August 17, 2007 Share Posted August 17, 2007 Use version 2.1c - the last one updated by Chemo himself. I wouldn't trust anything later than that. Vger I did as you advise, and the site is now working fine. There is one caveat though. The 2.1c version isn't properly compatible with MySQL5. There's a later replacement for seo.class.php which changes the database tables slightly (see: Fixed seo.class.php jpweber 25 Nov 2006) . Ideally, the new version should be installed before first running the app, so the database is properly configured. However, if, as I did, one runs the app as per the instructions, SE-friendly URLs don't work for categories, and clearing the SEO cache dies with the following error: "1146 - Table '<your-database>.cache' doesn't exist DELETE FROM cache WHERE cache_name LIKE '%seo_urls%'" It is also not possible to create new categories. The solution is to take the SQL code from seo.class.php which creates the cache table and execute it your favourite way. Everything works fine thereafter. Many thanks to all who helped here, and especially Tom for a great plug-in. Cheers, Laurie. Quote Link to comment Share on other sites More sharing options...
nafri Posted August 18, 2007 Share Posted August 18, 2007 hi guys.. i got a uk shop running protx form.. i been testing protx direct for a while and everything looks ok. I am using the version 4.4 protx direct. i am trying to add a surcharge facility .i used this contribution http://www.oscommerce.com/community/contri...ch,payment+type .In uk it is legal to add surcharge. the problem i am having is that it adds surcharge regardless of what type of card is being used.i wanna add surcharge to only credit card not debit card, e.g mastercard and visa. i am looking for few pointers on how to achive this using protx direct 4.4.is it possible to have two protx direct modules running at the same time, label one as debit card and the other credit card.then i can add a surcharge to the credit card. At the moment i have added the surcharge to over all price of the good but this makes certain goods way over priced compared to other shops. i been looking at protx direct to replicate it but with no luck.. i am kind of lost here..what files do i need to replcate ?? no sure . many thanks in advance nafri Quote Link to comment Share on other sites More sharing options...
Guest Posted August 19, 2007 Share Posted August 19, 2007 It would be possible to have 2 protx_direct modules but you would need to modify them so they don't clash with each other. You would need to duplicate the includes/modules/payment/protx_direct.php file and the corresponding language file. The files would need to be renamed and then you would need to change the class (i.e. class protx_direct to class protx_direct2 )and constructor function name (i.e function protx_direct() to function protx_direct2() ) as well as the code name (i.e $this->code ="protx_direct" ). You would also need to change the name of the various constants within the module (e.g MODULE_PAYMENT_PROTX_DIRECT....). Finally you would also need to change the fieldnames for the checkout/confirmation pages - these are the fields such as protx_direct_cc_type as used in several of the functions. You would need to duplicate the protx_process.php file and update the names of those variables you have used as above. In summary it is possible but will just take a little bit of work! Tom Quote Link to comment Share on other sites More sharing options...
nafri Posted August 19, 2007 Share Posted August 19, 2007 It would be possible to have 2 protx_direct modules but you would need to modify them so they don't clash with each other. You would need to duplicate the includes/modules/payment/protx_direct.php file and the corresponding language file. The files would need to be renamed and then you would need to change the class (i.e. class protx_direct to class protx_direct2 )and constructor function name (i.e function protx_direct() to function protx_direct2() ) as well as the code name (i.e $this->code ="protx_direct" ). You would also need to change the name of the various constants within the module (e.g MODULE_PAYMENT_PROTX_DIRECT....). Finally you would also need to change the fieldnames for the checkout/confirmation pages - these are the fields such as protx_direct_cc_type as used in several of the functions. You would need to duplicate the protx_process.php file and update the names of those variables you have used as above. In summary it is possible but will just take a little bit of work! Tom Many thanks tom.. you saved me alot of hadache here.. .i made the changes in the module and language file but forgot to do it in the protx_process.php. thanks again. nafri Quote Link to comment Share on other sites More sharing options...
Guest Posted August 21, 2007 Share Posted August 21, 2007 (edited) hi just installed this update version 4.4 which works great apart from when not entering certain card information i'm getting the following code show up on my site in checkout_payment.php: TEXT_CCVAL_ERROR_INVALID_DATE TEXT_CCVAL_ERROR_INVALID_NUMBER and so on, have i missed something. how can i modify the page layout for when you get the two new screens appear once you have hit confirm order? when the boxes come up my site in the background only shows the header. also how can i have 'please select' on the card drop down box rather than just electron there, i'm sure people will not see this correctly otherwise. Edited August 21, 2007 by blagger Quote Link to comment Share on other sites More sharing options...
Guest Posted August 21, 2007 Share Posted August 21, 2007 (edited) If those strings are appearring then the following defines are missing from your includes/languages/english.php file - they are standard osC defies and not part fo the module - they must have been deleted at some pint define('TEXT_CCVAL_ERROR_INVALID_DATE', 'The expiry date entered for the credit card is invalid.<br>Please check the date and try again.'); define('TEXT_CCVAL_ERROR_INVALID_NUMBER', 'The credit card number entered is invalid.<br>Please check the number and try again.'); define('TEXT_CCVAL_ERROR_UNKNOWN_CARD', 'The first four digits of the number entered are: %s<br>If that number is correct, we do not accept that type of credit card.<br>If it is wrong, please try again.'); The page layout can be modifyied by changing the code in protx_process.php file. It designed to only show the header so that the customer knows they are still on your site but prevent them from clicking away from the 3D-Secure box (thus reducing cart abandonment) - this is n the verified by visa implementation guidelines To add a "please select" (planned for next release) edit includes/modules/payment/protx_direct.php. Find the section with: if (MODULE_PAYMENT_PROTX_DIRECT_USE_AMEX != 'False') { $cc_type[] = array('id' => 'AMEX', 'text' => 'American Express'); } Add the following line BEFORE THE OTHER LINES: $cc_type[0] = array('id' =>'NOTSELECTED', 'text' => 'Please select ...'); I would also suggest in the same file finding if (($result == false) || ($result < 1)) { $payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode($error) . '&protx_direct_cc_owner=' . urlencode($HTTP_POST_VARS['protx_direct_cc_owner']) . '&protx_direct_cc_expires_month=' . $HTTP_POST_VARS['protx_direct_cc_expires_month'] . '&protx_direct_cc_expires_year=' . $HTTP_POST_VARS['protx_direct_cc_expires_year']; tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, $payment_error_return, 'SSL', true, false)); } and inserting immediately before if ($HTTP_POST_VARS['protx_direct_cc_type'] == 'NOTSELECTED') { $error = TEXT_CCVAL_ERROR_SELECT_CARD_TYPE; $result = false; } You will then need to add the following line to includes/languages/english.php define('TEXT_CCVAL_ERROR_SELECT_CARD_TYPE', 'Please select your card type and try again'); Tom Edited August 21, 2007 by perfectpassion Quote Link to comment Share on other sites More sharing options...
Guest Posted August 21, 2007 Share Posted August 21, 2007 Thanks again for the superb expertise Tom. Not sure what we would do with out you! (make sure you train somebody up before you retire! :thumbsup: ) Quote Link to comment Share on other sites More sharing options...
pynchon Posted August 22, 2007 Share Posted August 22, 2007 Hi, I have finally got round to installing v4.4 (an upgrade from v3.2) and all seems to work as it should. There is one issue however that I'm hoping there is a solution to. When viewing an order in the admin section there was a neat table showing Time, Payment Type, Status etc., this worked perfectly prior to the upgrade but now there are several fields missing/blank ... namely AVS/CV2 check, Address Check, Postcode, CV2 check and Status. I have gone through everything to make sure I've followed all the necessary steps but I can't see anything obvious that I may have neglected to do. Any ideas ? John K p.s. many thanks to you for the help and support that was given and received on this and the Protx forum through what was a very testing time ... I seriously wish there was something I could do in return. Quote Link to comment Share on other sites More sharing options...
♥FWR Media Posted August 22, 2007 Share Posted August 22, 2007 Hi, I have finally got round to installing v4.4 (an upgrade from v3.2) and all seems to work as it should. There is one issue however that I'm hoping there is a solution to. When viewing an order in the admin section there was a neat table showing Time, Payment Type, Status etc., this worked perfectly prior to the upgrade but now there are several fields missing/blank ... namely AVS/CV2 check, Address Check, Postcode, CV2 check and Status. I have gone through everything to make sure I've followed all the necessary steps but I can't see anything obvious that I may have neglected to do. Any ideas ? John K p.s. many thanks to you for the help and support that was given and received on this and the Protx forum through what was a very testing time ... I seriously wish there was something I could do in return. You may have done it but I would suggest firstly checking the protx table in phpmyadmin against the following ensuring to change any fields that differ. CREATE TABLE `protx_direct` ( `id` int(11) unsigned NOT NULL auto_increment, `customer_id` int(11) NOT NULL default '0', `order_id` int(11) NOT NULL default '0', `vendortxcode` varchar(40) default NULL, `txtype` varchar(16) default NULL, `value` decimal(15,4)default NULL, `vpstxid` varchar(50) default NULL, `status` varchar(15) default NULL, `statusdetail` varchar(100) default NULL, `txauthno` varchar(10) default NULL, `securitykey` varchar(10) default NULL, `avscv2` varchar(50) default NULL, `address_result` varchar(20) default NULL, `postcode_result` varchar(20) default NULL, `CV2_result` varchar(20) default NULL, `3DSecureStatus` varchar(12) default NULL, `CAVV` varchar(32) default NULL, `txtime` timestamp NOT NULL, UNIQUE KEY `id` (`id`) ) TYPE=MyISAM AUTO_INCREMENT=1; Quote Ultimate SEO Urls 5 PRO - Multi Language Modern, Powerful SEO Urls KissMT Dynamic SEO Meta & Canonical Header Tags KissER Error Handling and Debugging KissIT Image Thumbnailer Security Pro - Querystring protection against hackers ( a KISS contribution ) If you found my post useful please click the "Like This" button to the right. Please only PM me for paid work. Link to comment Share on other sites More sharing options...
pynchon Posted August 22, 2007 Share Posted August 22, 2007 You may have done it but I would suggest firstly checking the protx table in phpmyadmin against the following ensuring to change any fields that differ. the only line that I can see that differs is the 'txtime' .... is this safe to change ? and if it is what do I do? thanks for helping with this .... at times my brain feels as small as a walnut JK Quote Link to comment Share on other sites More sharing options...
Guest Posted August 22, 2007 Share Posted August 22, 2007 don't worry about the txtime. Is it all transactions that are failing to have the details displayed? If you set debug to true and do a test order can you post the details? (NOTE: now that 3D-secure is active you will need to leave debug to false, start the test order, once the 3D-secure iframe appears set debug to true in another browser window then submit the 3D-secure form). Tom Quote Link to comment Share on other sites More sharing options...
pynchon Posted August 22, 2007 Share Posted August 22, 2007 (edited) don't worry about the txtime. Is it all transactions that are failing to have the details displayed? Tom Tom, so far yes ... this is what is returned. I'll run a test order shortly ... I'll need to clear it with me gaffer first. cheers John K Edited August 22, 2007 by pynchon Quote Link to comment Share on other sites More sharing options...
Mighty Mike Posted August 22, 2007 Share Posted August 22, 2007 (edited) Hi, Can anybody help me with a change i need to do? if ($authorised === true) { tep_redirect(tep_href_link(FILENAME_CHECKOUT_PROCESS, 'protx_id='.$protx_id, 'SSL')); } else { tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'payment_error=protx_direct&error=' . urlencode($error_detail), 'SSL', true, false)); } I need to change this statement so that the redirect goes to a certain page dependent upon the products category.. Ie. "if $authorised === true 'and' $categories_id = 'xxx' goto FILENAME_CHECKOUT_PROCESS_XXX else FILENAME_CHECKOUT_PROCESS" Is there an easy way to do this? is the $categories_id available to use? Thanks to anyone who can shed any light on how to do this... Edited August 22, 2007 by Mighty Mike Quote Link to comment Share on other sites More sharing options...
Guest Posted August 22, 2007 Share Posted August 22, 2007 something really weird has happened to my site with regards to payment. it was working perfectly fine, until i tried to change the prots system to test, which when i did, i kept getting an error saying "Please select a payment method for your order" when using the test card details in the site, so i changed back to live. now whenever i try to place an order i keep getting "Please select a payment method for your order". I have made sure that the protx payment is on in admin and made sure I have entered all the details correctly on admin side (i actually did a screen capture to make sure i do all the details correct). anyone any ideas please. Quote Link to comment Share on other sites More sharing options...
Guest Posted August 22, 2007 Share Posted August 22, 2007 ^^^^PLEASE IGNORE 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.