peterbuzzin

Members
  • Content count

    53
  • Joined

  • Last visited

  • Days Won

    4

peterbuzzin last won the day on May 19 2016

peterbuzzin had the most liked content!

Community Reputation

7 Neutral

1 Follower

About peterbuzzin

Profile Information

  • Real Name
    Pete Batin
  • Gender
    Male
  • Location
    Kent, England

Contact Methods

  1. Are you using the bootstrap version of OSC? If so add this to your CSS If this solves your issue please mark the post solved @[member=media] print { a[href]:after { content: ""; } }
  2. How long did it take to upload the CSV and process it? The only legitimate thing that might happen in that scenario is that if it takes longer than the idle period of oscommerce then you'll be logged out. If it's happening in a very short time then it's not likely to be an idle timeout but rather incorrect hosting settings on the server with regards to sessions or the server processes are crashing and then restarting which will lose the existing session and create a new one.
  3. Hi Harald, I don't think this is as clear cut as you think. I'm unfortunately suffering from this problem too on a production site and to test it wasn't any addons/customisations I've loaded a brand new 2.3.4 install without any addons/customisations. Please see here http://forums.oscommerce.com/topic/409406-oscommerce-bug-brand-new-234-install-without-customisationsaddons/
  4. Hi, Does anyone still require an updated version of the contribution? Pete
  5. Guess it depends on the version of OSC but it's already updated in this contribution http://addons.oscommerce.com/info/7151
  6. Ello, Couple of points. 1: WorldPay Hosted and WorldPay Junior are the same thing (That's marketing for you) . Since the release of the OSC 2.3 WorldPay has changed their payment URLs so the URL's contained in the default WorldPay Modules will need updating. (The official response was "The old URL's may or may not work all the time") From https://select.wp3.rbsworldpay.com/wcc/purchase To https://secure.wp3.rbsworldpay.com/wcc/purchase 2: OSC 2.3 ext/modules/payment/hosted_callback.php still contains deprecated code. Depending on your server it could fail on the very first line of code (line 13) if (isset($HTTP_POST_VARS['M_sid']) && !empty($HTTP_POST_VARS['M_sid'])) { There are compatibility functions within OSC that will check if $HTTP_POST_VARS is valid/supported and if not change them to the new standard $_POST, however the line of code that does this is executed AFTER if (isset($HTTP_POST_VARS['M_sid']) && !empty($HTTP_POST_VARS['M_sid'])) { if (isset($HTTP_POST_VARS['M_sid']) && !empty($HTTP_POST_VARS['M_sid'])) { chdir('../../../../'); require ('includes/application_top.php'); So line 13 (or 1 depending on your perspective) checks to see if M_sid value is set and not empty, if it's set and exists it moves on and on line 15 (or 3) includes application_top.php which will then start the compatibility code conversions. That's not going to help if you continuously fail at line 13 (or 1). So change the above to $_POST. Make sure you have set up different order status for prepairing and successful WorldPay transactions. Check the field (in html source code) of checkout_confirmation.php to make sure the field MC_callback contains a valid return link. Make sure your "Production/Live" configuration in your WorldPay configuration is set up correctly. If your test environment works then just copy the settings from your "Text/Development" WorldPay configuration settings (at the bottom of the page in your WorldPay control panel) to the "Live/Production". Also just so you know if your callback page is being accessed by WorldPay you could insert code to the top of your callback page which will send you an email when it's being accessed with the post values (see below). // Define your debug email address $RBSPostEmail = ''; // e.g $RBSPostEmail = 'youremail@yourdomain.com'; $RBSDebugActive = false; //Change to false to disable debug emails. // Build Email $message = "RBS WorldPay Post Values\n".'\n'; foreach($_POST as $name => $value) { $message .= "$name : $value "; } // In case any of our lines are larger than 70 characters, we should use wordwrap() $message = wordwrap($message, 70); if($RBSDebugActive){ // Send Email mail($RBSPostEmail, 'RBS WorldPay Post Values', $message); } Good Luck!
  7. Worldpay changed their security policy for response pages. The original that comes with OSC contains Javascript which is no longer permittable by Worldpay and also contains an older style of PHP coding that is no longer supported by new versions of PHP. Sadly it looks like Harald (the creator of OSC and the original Worldpay module) is concentrating his energies somewhere other than OSC as I've reported the original module a couple of times but it's still available to download and still marked as certified when it doesn't work.
  8. Ok Guys, try this. I've added some code to help you debug any issues. Enter your email address in the field below and you'll get sent an email with WorldPay values in it. This is good for two things, 1 to make sure WorldPay is accessing the script (if you dont receive an email then Worldpay cannot access the page) and 2 you can make sure you're recieving the values you need. Give it a go and let me know the results, I'll add it to the package later tonight if it all goes well. <?php /* UPDATED 26-05-2010 Added Debugging Support Via Email Included Meta Refresh Redirect Removed whitespace added by user g_p causing PHP Header/Session Errors Removed unknown post variables added by user g_p ($_POST['hash'] should be $_POST['M_hash']) UPDATED 04-12-2009 Deprecated $HTTP_POST_VARS replaced with $_POST to enable callback on all platforms/php versions. Javascript dependancy for page redirection replaced with form action otherwise Worldpay removes javascript and leaves visitors stranded. Updated By Pete Batin (petebuzzin in Oscommerce forums) Based on Contribution by Harald Ponce de Leon ($Id: junior_callback.php 1807 2008-01-13 00:50:08Z hpdl $) No gaurantees are expressed in anyway, always backup and test before production usage osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Released under the GNU General Public License */ // Define your debug email address $RBSPostEmail = 'youremail@yourdomain.com'; $RBSDebugActive = true; //Change to false to disable debug emails. // Build Email $message = "RBS WorldPay Post Values\n".'\n'; foreach($_POST as $name => $value) { $message .= "$name : $value "; } // In case any of our lines are larger than 70 characters, we should use wordwrap() $message = wordwrap($message, 70); if($RBSDebugActive){ // Send Email mail($RBSPostEmail, 'RBS WorldPay Post Values', $message); } if (isset($_POST['M_sid']) && !empty($_POST['M_sid'])) { chdir('../../../../'); require ('includes/application_top.php'); if ($_POST['transStatus'] == 'Y') { $pass = false; if (isset($_POST['M_hash']) && !empty($_POST['M_hash']) && ($_POST['M_hash'] == md5($_POST['M_sid'] . $_POST['M_cid'] . $_POST['cartId'] . $_POST['M_lang'] . number_format($_POST['amount'], 2) . MODULE_PAYMENT_WORLDPAY_JUNIOR_MD5_PASSWORD))) { $pass = true; } if (isset($_POST['callbackPW']) && ($_POST['callbackPW'] != MODULE_PAYMENT_WORLDPAY_JUNIOR_CALLBACK_PASSWORD)) { $pass = false; } if (tep_not_null(MODULE_PAYMENT_WORLDPAY_JUNIOR_CALLBACK_PASSWORD) && !isset($_POST['callbackPW'])) { $pass = false; } if ($pass == true) { include('includes/languages/' . basename($_POST['M_lang']) . '/modules/payment/worldpay_junior.php'); $order_query = tep_db_query("select orders_status, currency, currency_value from " . TABLE_ORDERS . " where orders_id = '" . (int)$_POST['cartId'] . "' and customers_id = '" . (int)$_POST['M_cid'] . "'"); if (tep_db_num_rows($order_query) > 0) { $order = tep_db_fetch_array($order_query); if ($order['orders_status'] == MODULE_PAYMENT_WORLDPAY_JUNIOR_PREPARE_ORDER_STATUS_ID) { $order_status_id = (MODULE_PAYMENT_WORLDPAY_JUNIOR_ORDER_STATUS_ID > 0 ? (int)MODULE_PAYMENT_WORLDPAY_JUNIOR_ORDER_STATUS_ID : (int)DEFAULT_ORDERS_STATUS_ID); tep_db_query("update " . TABLE_ORDERS . " set orders_status = '" . $order_status_id . "', last_modified = now() where orders_id = '" . (int)$_POST['cartId'] . "'"); $sql_data_array = array('orders_id' => $_POST['cartId'], 'orders_status_id' => $order_status_id, 'date_added' => 'now()', 'customer_notified' => '0', 'comments' => 'WorldPay: Transaction Verified'); tep_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array); if (MODULE_PAYMENT_WORLDPAY_JUNIOR_TESTMODE == 'True') { $sql_data_array = array('orders_id' => $_POST['cartId'], 'orders_status_id' => $order_status_id, 'date_added' => 'now()', 'customer_notified' => '0', 'comments' => MODULE_PAYMENT_WORLDPAY_JUNIOR_TEXT_WARNING_DEMO_MODE); tep_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array); } ?> <meta http-equiv="refresh" content="10; url=<?php echo tep_href_link(FILENAME_CHECKOUT_PROCESS, tep_session_name() . '=' . $_POST['M_sid'] . '&hash=' . $_POST['M_hash'], 'SSL', false); ?>"> <style> .pageHeading { font-family: Verdana, Arial, sans-serif; font-size: 20px; font-weight: bold; color: #9a9a9a; } .main { font-family: Verdana, Arial, sans-serif; font-size: 11px; line-height: 1.5; } </style> <p class="pageHeading"><?php echo STORE_NAME; ?></p> <p class="main" align="center"><?php echo MODULE_PAYMENT_WORLDPAY_JUNIOR_TEXT_SUCCESSFUL_TRANSACTION; ?></p> <form action="<?php echo tep_href_link(FILENAME_CHECKOUT_PROCESS, tep_session_name() . '=' . $_POST['M_sid'] . '&hash=' . $_POST['M_hash'], 'SSL', false); ?>" method="post"> <div align="center"> <input name="submit" type="submit" value="<?php echo sprintf(MODULE_PAYMENT_WORLDPAY_JUNIOR_TEXT_CONTINUE_BUTTON, addslashes(STORE_NAME)); ?>" /> </div> </form> <p> </p> <WPDISPLAY ITEM=banner> <?php } } } }else{ include('includes/languages/' . basename($_POST['M_lang']) . '/modules/payment/worldpay_junior.php'); ?> <meta http-equiv="refresh" content="10; url=<?php echo tep_href_link(FILENAME_CHECKOUT_PAYMENT, tep_session_name() . '=' . $_POST['M_sid'] . '&hash=' . $_POST['M_hash'], 'SSL', false); ?>"> <style> .pageHeading { font-family: Verdana, Arial, sans-serif; font-size: 20px; font-weight: bold; color: #9a9a9a; } .main { font-family: Verdana, Arial, sans-serif; font-size: 11px; line-height: 1.5; } </style> <p align="center" class="pageHeading"><?php echo STORE_NAME; ?></p> <p class="main" align="center"><?php echo MODULE_PAYMENT_WORLDPAY_JUNIOR_TEXT_UNSUCCESSFUL_TRANSACTION;?></p> <form action="<?php echo tep_href_link(FILENAME_CHECKOUT_PAYMENT, tep_session_name() . '=' . $_POST['M_sid'] . '&hash=' . $_POST['M_hash'], 'SSL', false); ?>" method="post"> <div align="center"> <input name="submit" type="submit" value="<?php echo sprintf(MODULE_PAYMENT_WORLDPAY_JUNIOR_TEXT_CONTINUE_BUTTON, addslashes(STORE_NAME)); ?>" /> </div> </form> <p align="center"> </p> <div align="center"> <WPDISPLAY ITEM=banner> </div> <?php } } ?>
  9. Hi Guys, just realsied there's been responses to this thread and that someone's made an alteration. I'll look over it tonight and see if I can get you guy's a remedy. Pete
  10. HTML is being outputted to the screen before the sessions handlers/redirects can do their job. Most likely the meta redirect you've placed in it. You need to make sure it's placed in the page after all server side code.
  11. Hi Backinaction, It is entirely possible, in fact there's a readme.pdf file contained within the zip file when you downloaded it. It's not possible to have time to answer all questions on here so I tend to concentrate only those that are not already covered by the readme.pdf file. Please ensure that you backup your files and database before installing the contribution, if after reading the instructions fully you are still unsure of how you should tackle it then I would suggest hiring or contacting someone who is experienced with OSC and PHP. Pete
  12. Hi, Sorry to hear the contribution doesn't work for you. Unfortunately due to the way this contribution has been set up (By the original writer and Oscommerce creater Harald) there will be jumps in order numbers. Orders are placed in the database before successful payment (not by my design). If the payment has been unsuccessful or the customer cancels then the orders are deleted. The next order then takes the order number after the previous cancelled order. Failure to update the status message (where it had been working before) could be a number of reasons, DNS/server problems etc. However never rely on any payment gateways response, always crosscheck your orders against those within the gateway providers admin. Worldpay provides a testing account with your service and you can use test credit card numbers, I'd advise taking the site out of production and testing it fully. The contribution works fine for my needs, I haven't changed any fhe original functionality of the original (that no longer works at all) just updated it with code that isn't deprecated and added a payment failure response message. Unfortunately I wont be looking to update or change the basic operation of the module (orders processed post payment instead of pre payment) unless I have to (when one of my clients requests and pays for that rewrite). I'm not aware of any other Worldpay Form payment contributions other than the orignal version of this that doesn't work which was why I offered this as a contribution. In the future I'll be updating the response page with a debugging and error checking mode when I have time as currently it has none.
  13. Try entering the url of the callback/response page directly into the browser, you should be presented with a clear white page. If you receive an error message then you can investigate from there. Also double check that the Payment Response Password in Worldpay admin matches what you have in store module admin. Try checking the order confirmation page (the last page before you're directed to worldpay), view the browser source and look for a field called MC_callback. Check to see if the value of that field starts with http:// (or https:// if you're using an ssl) if your store is sending that value then enter the callback url as <wpdisplay item=MC_callback> without the prefix http:// Finally make sure that Payment Response enabled? and Enable the Shopper Response are ticked. Those are the only points I can think of where it would be failing. I'll update the callback page when I have time to include diagnostics.
  14. Hi, As mentioned in the description, it's an updated version of the default Worldpay contribution provided by Harald (creator of OSC) which no longer worked. The only changes that have been made is that it provides a payment failure response as well as a success response. Yes it is annoying for orders to be written to the database pre-payment, but that's how it's been designed (not by myself). However those orders wont display the Worldpay verified status so they're easy enough to spot. The PDF instructions date back to 2007 and from the screenshots you can see that at one point they did label it as Callback. As I haven't made any real changes to the code I didn't see the need to update the PDF, when I get time I might. Have you tested the contribution in test mode and put through a successful transaction in test mode? You'll be able to confirm then if the customer and yourself receives a confirmation email. If it's configured correctly at the end of the payment process you'll see a button on the Worldpay site that says return to store, it's only after pressing this button that the emails are sent. Pete
  15. The orginal contribution (found here: http://addons.oscommerce.com/info/5665) no longer works. I've uploaded an updated contribution based on the same package which can be found here: http://addons.oscommerce.com/info/7151