Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

steve_s

Pioneers
  • Posts

    1,574
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by steve_s

  1. Did you find a solution Steve? I am having the same issue with IE. Firefox and Chrome work fine.

    Hi

     

    just in case no one found a solution i have heard IE9 does not like any javascaript before the head tag so placing in the <head></head> tags should work

     

    Worth a shot

     

    Steve

  2. Hi,

     

    I have noticed a bug in install instructions in catalog/admin/includes/application_top.php

     

     

     

    >>>>2 ) FIND;

     

    // initialize the message stack for output messages

    require(DIR_WS_CLASSES . 'message_stack.php');

     

    >>>>>>>>REPLACE WITH:

     

    // override the admin message stack to use the store message stack

    if(false !== strpos($PHP_SELF, FILENAME_SPECIALS)) {

    require(DIR_FS_CATALOG . DIR_WS_CLASSES . 'boxes.php');

    require(DIR_FS_CATALOG . DIR_WS_CLASSES . 'message_stack.php');

    } else {

    // initialize the message stack for output messages

    require(DIR_WS_CLASSES . 'message_stack.php');

    }

     

    it should be replace with

    // override the admin message stack to use the store message stack

    if(false !== strpos($PHP_SELF, FILENAME_SPECIALS_MAINTENANCE)) {

    require(DIR_FS_CATALOG . DIR_WS_CLASSES . 'boxes.php');

    require(DIR_FS_CATALOG . DIR_WS_CLASSES . 'message_stack.php');

    } else {

    // initialize the message stack for output messages

    require(DIR_WS_CLASSES . 'message_stack.php');

    }

     

    Steve

  3. Can anyone help to get Realex Remote Payments to work with OPC, please.

     

    When the radio is clicked for it, OPC gives this error:

     

    There was an error setting payment method, please inform Dublin Duck Race about this error.

     

     

    <?php
    
    class realex {
    var $code, $title, $description, $enabled, $responses;
    
    // class constructor
       function realex() {
         $this->code = 'realex';
         $this->title = MODULE_PAYMENT_REALEX_TEXT_TITLE;
         $this->description = MODULE_PAYMENT_REALEX_TEXT_DESCRIPTION;
         $this->enabled = ((MODULE_PAYMENT_REALEX_STATUS == 'True') ? true : false);
       }
    
    // class methods
       // this method returns the javascript that will validate the form entry
       //** Checkout_Payment
       function javascript_validation() {
         $js = '  if (payment_value == "' . $this->code . '") {' . "\n" .
               '    var cc_owner = document.checkout_payment.realexpay_cc_owner.value;' . "\n" .
               '    var cc_number = document.checkout_payment.realexpay_cc_number.value;' . "\n" .
               '    if (cc_owner == "" || cc_owner.length < ' . CC_OWNER_MIN_LENGTH . ') {' . "\n" .
               '      error_message = error_message + "' . MODULE_PAYMENT_REALEX_TEXT_JS_CC_OWNER . '";' . "\n" .
               '      error = 1;' . "\n" .
               '    }' . "\n" .
               '    if (cc_number == "" || cc_number.length < ' . CC_NUMBER_MIN_LENGTH . ') {' . "\n" .
               '      error_message = error_message + "' . MODULE_PAYMENT_REALEX_TEXT_JS_CC_NUMBER . '";' . "\n" .
               '      error = 1;' . "\n" .
               '    }' . "\n" .
               '  }' . "\n";
    
         return $js;
       }
    
       // this method returns the html that creates the input form
           //** Checkout_Payment
    
       function selection() {
         global $order;
    
         for ($i=1; $i<13; $i++) {
           $expires_month[] = array('id' => sprintf('%02d', $i), 'text' => strftime('%B',mktime(0,0,0,$i,1,2000)));
         }
         $today = getdate(); 
         for ($i=$today['year']; $i < $today['year']+10; $i++) {
           $expires_year[] = array('id' => strftime('%y',mktime(0,0,0,1,1,$i)), 'text' => strftime('%Y',mktime(0,0,0,1,1,$i)));
         }
    
         $selection = array('id' => $this->code,
                           'module' => $this->title,
                           'fields' => array(array('title' => MODULE_PAYMENT_REALEX_TEXT_CREDIT_CARD_OWNER,
                                                   'field' => tep_draw_input_field('realexpay_cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'])),
                                             array('title' => MODULE_PAYMENT_REALEX_TEXT_CREDIT_CARD_NUMBER,
                                                   'field' => tep_draw_input_field('realexpay_cc_number')),
                                             array('title' => 'CVN Number:',
                                                   'field' => tep_draw_input_field('cvn_number')),
                                             array('title' => MODULE_PAYMENT_REALEX_TEXT_CREDIT_CARD_EXPIRES,
                                                   'field' => tep_draw_pull_down_menu('realexpay_cc_expires_month', $expires_month) . ' ' . tep_draw_pull_down_menu('realexpay_cc_expires_year', $expires_year))));
         return $selection;
       }
    
       // this method is called before the data is sent to the credit card processor
       // here you can do any field validation that you need to do
       // we also set the global variables here from the form values
           //** Checkout_Payment
       function pre_confirmation_check() {
         global $HTTP_POST_VARS;
    
         include(DIR_WS_CLASSES . 'cc_validation.php');
    
         $cc_validation = new cc_validation();
         $result = $cc_validation->validate($HTTP_POST_VARS['realexpay_cc_number'], $HTTP_POST_VARS['realexpay_cc_expires_month'], $HTTP_POST_VARS['realexpay_cc_expires_year']);
    
         $error = '';
         switch ($result) {
           case -1:
             $error = sprintf(TEXT_CCVAL_ERROR_UNKNOWN_CARD, substr($cc_validation->cc_number, 0, 4));
             break;
           case -2:
           case -3:
           case -4:
             $error = TEXT_CCVAL_ERROR_INVALID_DATE;
             break;
           case false:
             $error = TEXT_CCVAL_ERROR_INVALID_NUMBER;
             break;
         }
    
         if ( ($result == false) || ($result < 1) ) {
           $payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode($error) . '&realexpay_cc_owner=' . urlencode($HTTP_POST_VARS['realexpay_cc_owner']) . '&realexpay_cc_type=' . urlencode($HTTP_POST_VARS['realexpay_cc_type']) . '&realexpay_cc_expires_month=' . $HTTP_POST_VARS['realexpay_cc_expires_month'] . '&realexpay_cc_expires_year=' . $HTTP_POST_VARS['realexpay_cc_expires_year'];
    
           tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, $payment_error_return, 'SSL', true, false));
         }
    
         $this->cc_card_owner = $HTTP_POST_VARS['realexpay_cc_owner']; 
         $this->cc_card_number = $cc_validation->cc_number;
         $this->cc_expiry_month = $cc_validation->cc_expiry_month;
         $this->cc_expiry_year = $cc_validation->cc_expiry_year;
         $this->cc_card_type = $cc_validation->cc_type;
      $this->cvn_number = $HTTP_POST_VARS['cvn_number'];
    
    
       }
    
       // this method returns the data for the confirmation page
       //**check_confirmation
       function confirmation() {
         global $HTTP_POST_VARS;
         global $order;
         $confirmation = array('title' => $this->title,
                              'fields' => array(array('title' => MODULE_PAYMENT_REALEX_TEXT_CREDIT_CARD_OWNER,
                                                      'field' => $HTTP_POST_VARS['realexpay_cc_owner']),
                          array('title' => MODULE_PAYMENT_REALEX_TEXT_CREDIT_CARD_TYPE,
                                                      'field' =>  $this->cc_card_type),
                                                array('title' => MODULE_PAYMENT_REALEX_TEXT_CREDIT_CARD_NUMBER,
                                                      'field' => substr($this->cc_card_number, 0, 4) . str_repeat('X', (strlen($this->cc_card_number) - 8)) . substr($this->cc_card_number, -4)),
                                                array('title' => 'CVN Number', 'field' =>  $this->cvn_number),                                           array('title' => MODULE_PAYMENT_REALEX_TEXT_CREDIT_CARD_EXPIRES,
                                                      'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['realexpay_cc_expires_month'], 1, '20' . $HTTP_POST_VARS['realexpay_cc_expires_year']))))); 
    
         return $confirmation;
       }
    
       // this method performs the authorization by sending the data to the processor, and getting the result
       //** Written in checkout_confimration
    
       function process_button() {
         global $order;
    
         $process_button_string = tep_draw_hidden_field('merchantid', MODULE_PAYMENT_REALEX_MERCHANT_ID) .
                                  tep_draw_hidden_field('amount', number_format(($order->info['total']*100), 0, '', '')) .
    		       tep_draw_hidden_field('amount2',$order->info['total']) .
                                  tep_draw_hidden_field('ponum', date('Ymdhis')) .
                                  tep_draw_hidden_field('cvn', ($this->cvn_number)) .
    	                       tep_draw_hidden_field('cctype', ($this->cc_card_type)) . 
      		               tep_draw_hidden_field('ccowner',$this->cc_card_owner) .
    		       tep_draw_hidden_field('currency', ($order->info['currency'])) .
                                  tep_draw_hidden_field('creditCard1', $this->cc_card_number) .
                                  tep_draw_hidden_field('exdate1', $this->cc_expiry_month) .
                                  tep_draw_hidden_field('exdate2', substr($this->cc_expiry_year, -2)) ;
    
         return $process_button_string;
       }
    
       // this method gets called after the processing is done but before the app server 
       // accepts the result.  It is used to check for errors.
       //** called by checkout_process
    
       function before_process() {
         global $HTTP_POST_VARS;
    
    $timestamp = strftime("%Y%m%d%H%M%S");
    mt_srand((double)microtime()*1000000);
    
    //** These values passed in from function process_button
    
    $merchantid = $HTTP_POST_VARS['merchantid'];
    $amount = $HTTP_POST_VARS['amount'];
    $ccnum =$HTTP_POST_VARS['creditCard1'];
    $ccname = $HTTP_POST_VARS['ccowner'];
    
    $ccctype = $HTTP_POST_VARS['currency'];
    $amount2 = $HTTP_POST_VARS['amount2'];
    
    $curr = $HTTP_POST_VARS['currency'];
    $expdate = $HTTP_POST_VARS['exdate1'] . $HTTP_POST_VARS['exdate2'];
    
    
    $cardtype = $HTTP_POST_VARS['cctype'];
    if (ereg('^Master Card$',  $cardtype)) {
           $cardtype = 'MC';
    }
    if (ereg('^American Express$',  $cardtype)) {
           $cardtype = 'AMEX';
    }
    
    $cvn = $HTTP_POST_VARS['cvn'];
    if (!empty($cvn))
    {
    $presind = "1";
    }
    else
    $presind = "4";
    
    
    
    
    // I'm using a random number as the orderid - you probably have a better way.
    $orderid = $timestamp."-".mt_rand(1, 999);
    $secret = MODULE_PAYMENT_REALEX_SHARED_SECRET;
    // creating the hash.
    $tmp = "$timestamp.$merchantid.$orderid.$amount.$curr.$ccnum";
    $md5hash = md5($tmp);
    $tmp = "$md5hash.$secret";
    $md5hash = md5($tmp);
    
    
    // fire up the xml parser...
    $xml_parser = xml_parser_create();
    xml_set_element_handler($xml_parser, "startElement", "endElement");
    xml_set_character_data_handler($xml_parser, "cDataHandler");
    
    //include('osxmlparser.php');
    //$os_xmlparser = new osxmlparser();
    
    
    $xml = "<request type='auth' timestamp='$timestamp'>
    <merchantid>$merchantid</merchantid>
    <account>internet</account>
    <orderid>$orderid</orderid>
    <amount currency='$curr'>$amount</amount>
    <card> 
    	<number>$ccnum</number>
    	<expdate>$expdate</expdate>
    	<type>$cardtype</type> 
    	<chname>$ccname</chname> 
    <cvn>
         <number>$cvn</number>
         <presind>$presind</presind>
       </cvn>
    
    </card> 
    <autosettle flag='1'/>
    <comments><comment id='1'>$amount2</comment></comments>
    	<tssinfo>
    	<address type='billing'>
    		<country>ie</country>
    	</address>
    	<custnum>$ccctype</custnum>
    	<prodid>$cccctype</prodid>
    	<varref>$ccccctype</varref>
    </tssinfo>
    <md5hash>$md5hash</md5hash>
    </request>";
    
    
    
    $URL = MODULE_PAYMENT_REALEX_URL;
    
    // send it to payandshop.com
    $curlLoc = MODULE_PAYMENT_REALEX_CURL_LOC;
    exec("$curlLoc -s -m 120 -d \"$xml\" $URL -L", $return_message_array, $return_number);
    
    for ($i = 0; $i < count($return_message_array); $i++) {
       $response = $response.$return_message_array[$i];
    }
    
    
    // fix it up good.
    $response = eregi_replace ( "[[:space:]]+", " ", $response );
    $response = eregi_replace ( "[\n\r]", "", $response );
    
    preg_match("/<result>(.*?)<\/result>/i",$response,$matches);
    $XMLresult = $matches[1];
    
    preg_match("/<message>(.*)<\/message>/i",$response,$matches);
    $XMLmessage = $matches[1];
    
    $resultString = $XMLresult."     ".$XMLmessage;
    
    $realexResult = $XMLresult;
    
    if ($realexResult != "00"){
    
           tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'payment_error=' . $this->code . '&error=' . urlencode($resultString), 'SSL', true, false));
           }
    
    
    }
    
    
    
    
    //**called after process complete
    
       function after_process() {
             return false;
       }
    
       function get_error() {
         global $HTTP_GET_VARS;
    
         $msg = "";
         if (stripslashes(urldecode($HTTP_GET_VARS['response_text'])) != "")
           $msg = stripslashes(urldecode($HTTP_GET_VARS['response_text']));
         else if (stripslashes(urldecode($HTTP_GET_VARS['error'])) != "")
           $msg = stripslashes(urldecode($HTTP_GET_VARS['error']));
         $error = array('title' => MODULE_PAYMENT_REALEX_TEXT_ERROR,
                        'error' => $msg);
         return $error;
       }
    
    
    
       function check() {
         if (!isset($this->_check)) {
           $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_REALEX_STATUS'");
           $this->_check = tep_db_num_rows($check_query);
         }
         return $this->_check;
       }
    
       function install() {
         tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Realex Module', 'MODULE_PAYMENT_REALEX_STATUS', 'True', 'Do you want to use Realex Payments?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())");
         tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Merchant ID', 'MODULE_PAYMENT_REALEX_MERCHANT_ID', 'sec0001', 'The merchant id used for the Realex Payments service', '6', '0', now())");
         tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Shared Secret', 'MODULE_PAYMENT_REALEX_SHARED_SECRET', 'secret', 'The shared secret used for the Realex Payments service', '6', '0', now())");
         tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Curl Location', 'MODULE_PAYMENT_REALEX_CURL_LOC', '/usr/bin/curl', 'This is where Curl is located on your server', '6', '0', now())");
          tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Realex URL', 'MODULE_PAYMENT_REALEX_URL', 'https://epage.payandshop.com/epage-remote.cgi', 'This is the URL of the Realex Gateway', '6', '0', now())");
    
    
       }
    
       function remove() {
         tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
       }
    
       function keys() {
         return array('MODULE_PAYMENT_REALEX_STATUS', 'MODULE_PAYMENT_REALEX_MERCHANT_ID','MODULE_PAYMENT_REALEX_SHARED_SECRET','MODULE_PAYMENT_REALEX_CURL_LOC','MODULE_PAYMENT_REALEX_URL');
       }
    
    
    
    
    
    }
    ?>
    

    hi try this

     

    in catalog/includes/classes/onepage_checkout.php

    find

    /* Comment line below for oscommerce versions before MS2.2 RC2a */

    $confirmation = $GLOBALS[$payment]->confirmation();

     

    /* Uncomment line below for oscommerce versions before MS2.2 RC2a */

    //$confirmation = $GLOBALS[$payment]->selection();

     

    change it to

    /* Comment line below for oscommerce versions before MS2.2 RC2a */

    //$confirmation = $GLOBALS[$payment]->confirmation();

     

    /* Uncomment line below for oscommerce versions before MS2.2 RC2a */

    $confirmation = $GLOBALS[$payment]->selection();

     

    Steve

  4. Hi Martin,

     

    that should be there in catalog/includes/modules/order_total/shipping.php on 2.2 & 2,31

     

    below is the whole block of that function it is in

     

        function process() {
         global $order, $currencies;
    
         if (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true') {
           switch (MODULE_ORDER_TOTAL_SHIPPING_DESTINATION) {
             case 'national':
               if ($order->delivery['country_id'] == STORE_COUNTRY) $pass = true; break;
             case 'international':
               if ($order->delivery['country_id'] != STORE_COUNTRY) $pass = true; break;
             case 'both':
               $pass = true; break;
             default:
               $pass = false; break;
           }
    
           if ( ($pass == true) && ( ($order->info['total'] - $order->info['shipping_cost']) >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER) ) {
             $order->info['shipping_method'] = FREE_SHIPPING_TITLE;
             $order->info['total'] -= $order->info['shipping_cost'];
             $order->info['shipping_cost'] = 0;
           }
         }

     

    now you can compare and see where to add this in your file

    /* One Page Checkout - BEGIN */
           if (ONEPAGE_CHECKOUT_ENABLED != 'True'){
             if ( ($pass == true) && ( ($order->info['total'] - $order->info['shipping_cost']) >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER) ) {
               $order->info['shipping_method'] = FREE_SHIPPING_TITLE;
               $order->info['total'] -= $order->info['shipping_cost'];
               $order->info['shipping_cost'] = 0;
             }
           }
    /* One Page Checkout - END */

     

    Have you made the changes to catalog/includes/classes/order.php?

     

    Steve

  5. I'm excited about this add-on but can't seem to get it to work. I'm installing it on an osCommerce 2.3.1 site that only has a couple other add-ons presently (SEO URLS 5 and Order Editor). I've uploaded everything and made all the necessary changes but I'm getting the following error:

     

    Call to undefined method oscTemplate::getHeaderTags() in /******/checkout.php on line 285

     

    I tried commenting out the line:

     

    <?php echo $oscTemplate->getHeaderTags(); ?>

     

    but doing so only returns a blank page when attempting to check out.

     

    Any ideas? Also, I have an Authorize.Net AIM payment module I'm using, but there weren't any instructions for updating these files. Are any changes necessary to these files?

     

    Thanks in advance for any help on this

    try removing that line

     

    Steve

  6. Hey,

     

    does anybody know by now, in which case(s) the following error is taking place?

     

    Some orders of my customers shop are incomplete, although the input fields were completly filled.

     

    changes for checkout_process.php:

    /* One Page Checkout - BEGIN */
     if (ONEPAGE_CHECKOUT_ENABLED == 'True'){
         $onePageCheckout->loadSessionVars();
         $onePageCheckout->fixTaxes();
    
         /*
          * This error report is due to the fact that we cannot duplicate some errors.
          * please forward this email always if you recieve it
          */
         if ($order->customer['email_address'] == '' || $order->customer['firstname'] == '' || $order->billing['firstname'] == '' || $order->delivery['firstname'] == ''){
         	ob_start();
         	echo 'ONEPAGE::' . serialize($onepage);
         	echo 'SESSION::' . serialize($_SESSION);
         	echo 'SERVER::' . serialize($_SERVER);
         	echo 'ORDER::' . serialize($order);
         	$content = ob_get_contents();
         	mail(ONEPAGE_DEBUG_EMAIL_ADDRESS, 'Order Error: Please forward to I.T. Web Experts', $content);
         	unset($content);
         	ob_end_clean();
         }
     }
    /* One Page Checkout - END */

     

    I got this e-mail three times now and all data is in the session, but neither in the onepage object nor in the order object...

     

    Greetings from Germany,

    Martin

    Hi Martin,

     

    Fisrt of what payment module are you using also check that payment module doesnt have its own process page like paypal standard/ipn has

     

    if it has modify according to the paypal in install guide

     

    Steve

  7. I'm excited about this add-on but can't seem to get it to work. I'm installing it on an osCommerce 2.3.1 site that only has a couple other add-ons presently (SEO URLS 5 and Order Editor). I've uploaded everything and made all the necessary changes but I'm getting the following error:

     

    Call to undefined method oscTemplate::getHeaderTags() in /******/checkout.php on line 285

     

    I tried commenting out the line:

     

    <?php echo $oscTemplate->getHeaderTags(); ?>

     

    but doing so only returns a blank page when attempting to check out.

     

    Any ideas? Also, I have an Authorize.Net AIM payment module I'm using, but there weren't any instructions for updating these files. Are any changes necessary to these files?

     

    Thanks in advance for any help on this

    just remove them lines or use 1.4 1.5 is for osc 2.3

  8. I have combed through this thread and found similar problem but no suitable answer.

    1. Everything seems to work well, but on checkout_success page, I get a blank page after installing OPC. Even when I set it to false in admin to revert back to the previous, normal checkout process, I now get the blank page. I bring back back the original catalog/checkout_process file, and I get the same blank page.

    The message I get from the error log is;

    Fatal error: Call to a member function loadSessionVars() on a non-object in /home/user/public_html/yebo7.com/checkout_process.php on line 60

     

    Line 60 is somewhere here:

    One Page Checkout - BEGIN */

    if (ONEPAGE_CHECKOUT_ENABLED == 'True'){

    $onePageCheckout->loadSessionVars();

    $onePageCheckout->fixTaxes();

     

    /*

    * This error report is due to the fact that we cannot duplicate some errors.

    * please forward this email always if you recieve it

    */

    if ($order->customer['email_address'] == '' || $order->customer['firstname'] == '' || $order->billing['firstname'] == '' || $order->delivery['firstname'] == ''){

    ob_start();

    echo 'ONEPAGE::' . serialize($onepage);

    echo 'SESSION::' . serialize($_SESSION);

    echo 'SERVER::' . serialize($_SERVER);

    echo 'ORDER::' . serialize($order);

    $content = ob_get_contents();

    mail(ONEPAGE_DEBUG_EMAIL_ADDRESS, 'Order Error: Please forward to I.T. Web Experts', $content);

    unset($content);

    ob_end_clean();

    }

    }

    /* One Page Checkout - END */

     

     

    2. Secondly, do I have to install kgt_howto even though I'm not interested in coupons? Could it be that it's because I didn't install this?

     

    Please help!

     

    Felix

    Hi Felix

     

    1 did you send it web experts that mail ?

     

    2 no you dont have to install the coupon add on

     

    Steve

  9. Do I need to install a special free shipping module in order to have free shipping with one page checkout? My regular checkout works fine so when a customer purchases a gift voucher they go through payment & checkout without the shipping module appearing, and without being charged postage (I use flat rate postage).

    I have gift vouchers set up with Product Model # GIFT, Products Weight # 0.00. And Config/Download set to True.

    I have one page checkout set up with FALSE in the dont show shipping and handling if product weight = 0 .

    When I activate one page checkout, the shipping info shows when I go to purchase a gift voucher.......is this issue something to do with my setup/install?? Does it matter my Products Weight # 0.00 has a decimal place?

    I should probably mention I also have Gift Voucher/Credit Class installed.

    Appreciate your thoughts!

    Hi

     

    No you dont it works with all shipping and order total modules same as normal store does, might need some code added if you add any to any checkout page otherwise will work out of the box with them

     

    Steve

  10. I have the Dwolla payment method installed and I it works OK when I don't have the One Page Checkout enabled, but with OPC enabled it does not show the box to enter the account number.

    I realize you may not have any experience with Dwolla, but the Dwolla thread will have no experience with OPC. I will also post this there.

     

    I am trying to find how to adjust this but I am not the best at php code let alone java, ajax, flash stuff.

    Hi,

     

    you need to move code from function process into function selection i beleive

     

    if no luck let me know

     

    Steve

  11. Steve,

     

    I've managed to fix these issues - thanks again for your help!

     

    I have one last issue with the checkout.js file. Basically, I need to check that if the currency is set to $, and the payment method has been selected as the iDeal Payment module, then I need to throw an error. I'm throwing out an error of Address Error followed by Password does not match confirmation password which obviously isn't correct. Any ideas?

     

    Thanks

     

    Andrew

    Hi Andrew,

     

    i don't i would suggest use freelancer.com and find a java/php code to look at it, i have never used that payment module, wont be a costly fix

     

    Steve

  12. Hi guys,

     

    I wonder if you can help me with a couple of queries....

     

    1. When I'm viewing the checkout page in Firefox or Safari, everything is ok, but in IE7 the boxes are all over the place.

    2. When I use $ as a currency, everything is fine, but when I flick over to Euro, the very first value on the page shows with a Euro sign, but none of the rest show a sign at all.

     

    Thanks

     

    Andrew

    Hi Andrew,

     

    in includes/checkout any file with address in the name you will have to add width="xxpx" to the TD tags for IE

     

    use utf8 code for the euro sign

     

    use this to get the utf8 code

    http://www.atm.ox.ac.uk/user/iwi/charmap.html

     

    Steve

  13. I have combed through this thread and found similar problem but no suitable answer.

    1. Everything seems to work well, but on checkout_success page, I get a blank page after installing OPC. Even when I set it to false in admin to revert back to the previous, normal checkout process, I now get the blank page. I bring back back the original catalog/checkout_process file, and I get the same blank page.

    The message I get from the error log is;

    Fatal error: Call to a member function loadSessionVars() on a non-object in /home/user/public_html/yebo7.com/checkout_process.php on line 60

     

    Line 60 is somewhere here:

    One Page Checkout - BEGIN */

    if (ONEPAGE_CHECKOUT_ENABLED == 'True'){

    $onePageCheckout->loadSessionVars();

    $onePageCheckout->fixTaxes();

     

    /*

    * This error report is due to the fact that we cannot duplicate some errors.

    * please forward this email always if you recieve it

    */

    if ($order->customer['email_address'] == '' || $order->customer['firstname'] == '' || $order->billing['firstname'] == '' || $order->delivery['firstname'] == ''){

    ob_start();

    echo 'ONEPAGE::' . serialize($onepage);

    echo 'SESSION::' . serialize($_SESSION);

    echo 'SERVER::' . serialize($_SERVER);

    echo 'ORDER::' . serialize($order);

    $content = ob_get_contents();

    mail(ONEPAGE_DEBUG_EMAIL_ADDRESS, 'Order Error: Please forward to I.T. Web Experts', $content);

    unset($content);

    ob_end_clean();

    }

    }

    /* One Page Checkout - END */

     

     

    2. Secondly, do I have to install kgt_howto even though I'm not interested in coupons? Could it be that it's because I didn't install this?

     

    Please help!

     

    Felix

    Hi Felix,

     

    You have this added in checkout_proccess.php

    /* One Page Checkout - BEGIN */

    if (ONEPAGE_CHECKOUT_ENABLED == 'True'){

    require('includes/classes/onepage_checkout.php');

    $onePageCheckout = new osC_onePageCheckout();

    }

    /* One Page Checkout - END */

     

    after the language

    include(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_PROCESS);

     

    Steve

  14. I have checked for whitespaces on the files,

    I have checked that the temp in mysql and admin show the same and changed both to /tmp

    both config files are actually set to sessions 'mysql' and there are sessions in the sql table

     

    help

    Hi just curious on this, can you change what php version your hosting site is using ie php5 or php4 change it to php4 and see what happens

     

    Steve

  15. My problem is this -> Authorization Failed

     

    I have been able to open the login box

     

    http://www.oscommerce.com/forums/topic/333292-one-page-checkout-support/page__view__findpost__p__1490183

     

    My checkout.php.html ->

     

    <?php
    /*
       Copyright (c) Freeoscommerce.com 2009
    
    This file is part of a freeoscommerce.com template.  Please visit http://www.freeoscommerce.com for licensing and other information.
    */
    ?><!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html $htmlparams>
    <head>
    
    <?php global $language, $languages_id, $breadcrumb;
    include_once DIR_WS_MODULES . 'kiss_meta_tags/kiss_meta_tags.php'; ?>
    <?php include (DIR_WS_INCLUDES . 'page-header-inc.htc'); ?>
    <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
    
    <link rel="stylesheet" type="text/css" href="ext/jQuery/themes/smoothness/ui.all.css">
    
    <!--$headcontent-->
    <link rel="stylesheet" type="text/css" href="$templatedir/freeoscommerce_081_stylesheet.css">
    </head>
    <body>
    <div id="wrapper1">
     <div id="wrapper2">
    <!-- Header -->        
       <div id="header_wrapper">
         <div id="header">
           <div id="top_menu">
             <span><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">Home</a>'; ?></span>
             <span><?php echo '<a href="' . tep_href_link(FILENAME_SPECIALS) . '">' . BOX_HEADING_SPECIALS . '</a>'; ?></span>
             <span><?php echo '<a href="' . tep_href_link(FILENAME_ACCOUNT) . '">' . HEADER_TITLE_MY_ACCOUNT . '</a>'; ?></span>
             <span><?php echo '<a href="' . tep_href_link(FILENAME_SHOPPING_CART) . '">' . BOX_HEADING_SHOPPING_CART . '</a>'; ?></span>
             <span><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING) . '">' . HEADER_TITLE_CHECKOUT . '</a>'; ?></span>
             <?php if (tep_session_is_registered('customer_id')) { ?>
               <span><a href="<?php echo tep_href_link(FILENAME_LOGOFF, '', 'SSL'); ?>"><?php echo HEADER_TITLE_LOGOFF; ?></a></span>
             <?php } ?>
           </div>
         </div>
         <div id="header_background1"></div>
         <div id="header_background2"></div>
       </div>
    <!-- Content and Sidebars-->    
       <div id="wrapper3">
         <div id="content_wrapper">
           <div id="content">
    
             <div id="navigation">
               You are here: $breadcrumbs <br>
               <hr class="accessibility">
             </div>
             <div>
               $content
             </div>        
           </div>
         </div>
    
    
         <div id="left_sidebar_wrapper">
           <div id="left_sidebar">
    
    		$categorybox
    		$manufacturerbox
    		$whatsnewbox
    		$cartbox
    		$informationbox        
           </div>
         </div>
         <div id="right_sidebar_wrapper">
           <div id="right_sidebar">
             $catmenu  
             $searchbox
             $maninfobox
             $orderhistorybox
             $bestsellersbox
             $reviewsbox
             $tellafriendbox
             $languagebox
             $currenciesbox
           </div>
         </div>
       </div>
    <!-- Footer -->    
       <div id="footer">
         <div id="footer_content">
    	<!-- $analitycs--> 
           This is the footer.<br><br>
           <a style="color: #000000" href="http://freeoscommerce.com/" target="_blank">Free osCommerce Templates</a>
         </div>
         <div id="footer_background1"></div>
         <div id="footer_background2"></div>
       </div>
    <!-- Layout Graphics -->        
     </div>
     <div id="left_shadow"></div>
     <div id="right_shadow"></div>
    </div>
    <div id="top_background"></div>
    <div id="main_background"></div>
    <!-- Website Name/Logo -->    
    <div id="website_name"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . STORE_NAME . '</a>'; ?></div>
    
    </body>
    </html>
    <!-- dialogs_bof //-->
    <div id="loginBox" title="Log Into My Account" style="display:none;"><table cellpadding="2" cellspacing="0" border="0">
    <tr>
     <td class="main">E-Mail Address:</td>
     <td><input type="text" name="email_address" id="email_address"></td>
    </tr>
    <tr>
     <td class="main">Password:</td>
    
     <td><input type="password" name="login_password" maxlength="40" id="login_password"></td>
    </tr>
    <tr>
     <td colspan="2" align="right"><img src="includes/languages/english/images/buttons/button_login.gif" border="0" alt="IMAGE_LOGIN" title=" IMAGE_LOGIN " width="100" height="22" id="loginWindowSubmit"></td>
    </tr>
    </table></div>
    <div id="addressBook" title="Address Book" style="display:none"></div>
    <div id="newAddress" title="New Address" style="display:none"></div>
    <!-- dialogs_eof//-->
    

    hi try this fix that was posted before in this forum

     

    If you get the pop up when hitting the continue button on checkout that says password doesn't match it is easy to check. Hit the refresh page button and then you can checkout.

    This will work. For some reason JS is not working.

     

     

    In checkout.php, find:

     

    if (updateTotals == true){

    onePage.updateOrderTotals();

    }

     

    This is around line 432.

     

    Add right after:

     

    javascript:location.reload(true);

     

    Steve

  16. Hello!

     

    I'm not sure if this is a One Page Checkout problem or not but I hope someone might be able to point me in the right direction.

     

    I've got One Page Checkout installed along with the Discount Coupon Codes contribution. When I go to edit and update the status of the orders in admin for some reason orders that have a discount coupon applied don't have any of the detail below the "Discount Coupon applied" line. eg....

     

    Order without discount applied - everything fine

     

    CouponNotApplied.jpg

     

    Order with discount applied - no detail below "Discount Coupon applied" line

     

    CouponApplied.jpg

     

    Obviously I can't update order status etc. which is a problem! Really hope someone can help me out. Any help or advice greatly appreciated as always.

     

    Cheers,

    Mark.

    Hi Mark

     

    if you added any code for discount coupons in checkout_proccess.php you will have to add them to paypal ipn payment mod to

     

    Steve

  17. When I click on the fourth Update button to manually check for hacked files, I receive the following:

     

    !!! Could not open the Configure file !!!

    No hacked files were found.

     

    The other three Update buttons seem to execute correctly with no errors or warnings. What configure file is this referring to? What permissions must it have to be opened by SiteMonitor?

     

    Thanks!

    the configure file should be set to read only after the install, set it to 666 if you have to, for site monitor to check then set them back immediately to read only

     

    Steve

  18. Strange problem .....

     

    When a product is entered into the cart and checkout is clicked a blank page is loaded

     

    I mean checkout.php shows in the URL, but doesn't actually show any informatio, when checkout is re clicked - the information to add billing and shipping appears

     

    any one got any ideas why this is happening

     

    thanks ron

    you have a php error on that page, includes/application.top

     

    find the error reporting and add after it

    ini_set('display_errors', 1);
    ini_set('log_errors', 1);
    ini_set('error_log', dirname(__FILE__) . '/error_log.txt');
    error_reporting(E_ALL);

     

    now any errors will be displayed in browser

     

    Steve

  19. Thanks Steve,

     

    I have tried that, but its just giving me a ?> above the catogories. I have tried moding the stylesheet aswell, I installed dynamenu on a new site and it was perfect, but its not working on this site and I dont know why. It seems to be treating the header as the old catogories and the contents as the dnamenu, if that makes sense. Would love your feed back. Scott

    have you tried tried copying files on the one that works to the site that dont work ?

     

    Steve

  20. Firefox error consol

     

    $(document).ready(function (){

    $('#pageContentContainer').show();

    $('#ajaxMessages').dialog({

    shadow: true,

    modal: true,

    width: 400,

    height: 100,

    open: function (event, ui){ problem: $("#ajaxMessages").dialog is not a function

    $(this).parent().children().children('.ui-dialog-title').hide();

    $(this).parent().children().children('.ui-dialog-titlebar').hide();

    $(this).parent().children().children('.ui-dialog-titlebar-close').hide();

     

    Hi in the one page checkout folder you will see a file called

    checkout.sts.php

     

    rename checkout.php to say checkout_old.php

    now rename checkout.sts.php to checkout.php and upload that file to your server

     

    Steve

×
×
  • Create New...