Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

hammershell

Pioneers
  • Posts

    20
  • Joined

  • Last visited

Posts posted by hammershell

  1. Thanks Hammershell, but I'm getting errors. I loaded the complete file you sent me.

     

    When using a International address I get:

     

    Warning: Illegal offset type in /home/ridecool/public_html/catalog/includes/modules/shipping/usps.php on line 329

     

    And when I select a US address I get:

     

    Warning: Illegal offset type in /home/ridecool/public_html/catalog/includes/modules/shipping/usps.php on line 293

     

    Also the new file takes out the shipping options in the admin.

     

    Any suggestions?

     

    This isn't happening for me. Can you resend the file to me and I will test it on my store?

  2. Thank you, but can you tell me where I would put this exactly. And am I putting the services in here that I don't want? Appreciate your help.

     

    Yes, these are the services that you don't want.

    "!=" means 'not equal to' so it doesn't proceed to list that Service.

     

    First search your usps.php file for the term '</SvcDescription>.'

    A few lines after this term you will find the line '$rates[] = array($service => $postage);'

     

    Replace that line with:

    if ($service != 'Priority Mail International DVD Flat Rate Box**') {
                 $rates[] = array($service => $postage);
    }
    

     

    Now you will remove any Service with the term -you list- that is in the $service variable.

     

    You can select from these services:

           Global Express Guaranteed (GXG)** 
           Global Express Guaranteed Non-Document Rectangular 
           Global Express Guaranteed Non-Document Non-Rectangular 
           USPS GXG Envelopes**
           Express Mail International 
           Express Mail International Flat Rate Envelope 
           Express Mail International Legal Flat Rate Envelope 
           Priority Mail International
           Priority Mail International Large Flat Rate Box 
           Priority Mail International Medium Flat Rate Box 
           Priority Mail International Small Flat Rate Box** 
           Priority Mail International DVD Flat Rate Box**
           Priority Mail International Large Video Flat Rate Box** 
           Priority Mail International Flat Rate Envelope**
           Priority Mail International Legal Flat Rate Envelope** 
           Priority Mail International Padded Flat Rate Envelope**
           Priority Mail International Gift Card Flat Rate Envelope** 
           Priority Mail International Small Flat Rate Envelope**
           First-Class Mail International Large Envelope** 
           First-Class Mail International Package** 
           First-Class Mail International Letter**
    

     

    For multiple Methods do it like this:

    if ($service != 'Priority Mail International DVD Flat Rate Box**' || $service != 'First-Class Mail International Letter**') {
                 $rates[] = array($service => $postage);
    }
    

  3. This worked for me also but I don't want to offer all the shipping methods that it gives. How do I limit it to just Priority and Express? I have tried deleting or making them into comments but obviously I'm not doing it in the right place.

     

    Just wrap this if statement around this statement near the </SvcDescription> tag.

    You can add more methods as you like:

    if ($service != 'Priority Mail International DVD Flat Rate Box**') {
                 $rates[] = array($service => $postage);
    }

  4. Yes I have had good luck.

     

    There are some new USPS Methods as well here:

     

    All changes are made to the usps.php file only in the "includes/modules/shipping" folder

     

    Step #1:

    Comment out the previous USPS Method array and add this after it:

     

    /*$this->intl_types = array('Global Express Guaranteed', // edit
                                   'Global Express Guaranteed Non-Document Rectangular',
                                   'Global Express Guaranteed Non-Document Non-Rectangular',
                                   'Express Mail International (EMS)',
                                   'Express Mail International (EMS) Flat Rate Envelope',
                                   'Priority Mail International',
                                   'Priority Mail International Flat Rate Envelope',
                                   'Priority Mail International Flat Rate Box',
                                   'First-Class Mail International');*/
    
    $this->intl_types = array(
    // old rates
           'Global Express' => 'Global Express Guaranteed (GXG)**', 
           'Global Express Non-Doc Rect' => 'Global Express Guaranteed Non-Document Rectangular', 
           'Global Express Non-Doc Non-Rect' => 'Global Express Guaranteed Non-Document Non-Rectangular', 
           'USPS GXG Envelopes' => 'USPS GXG Envelopes**', 
           'Express Mail Int' => 'Express Mail International', 
           'Express Mail Int Flat Rate Env' => 'Express Mail International Flat Rate Envelope', 
           'Express Mail Int Legal' => 'Express Mail International Legal Flat Rate Envelope', 
           'Priority Mail International' => 'Priority Mail International', 
           'Priority Mail Int Flat Rate Lrg Box' => 'Priority Mail International Large Flat Rate Box', 
           'Priority Mail Int Flat Rate Med Box' => 'Priority Mail International Medium Flat Rate Box', 
           'Priority Mail Int Flat Rate Small Box' => 'Priority Mail International Small Flat Rate Box**', 
    // new rates
           'Priority Mail Int DVD' => 'Priority Mail International DVD Flat Rate Box**', 
           'Priority Mail Int Lrg Video' => 'Priority Mail International Large Video Flat Rate Box**', 
    // old rates
           'Priority Mail Int Flat Rate Env' => 'Priority Mail International Flat Rate Envelope**', 
    // new rates
           'Priority Mail Int Legal Flat Rate Env' => 'Priority Mail International Legal Flat Rate Envelope**', 
           'Priority Mail Int Padded Flat Rate Env' => 'Priority Mail International Padded Flat Rate Envelope**', 
           'Priority Mail Int Gift Card Flat Rate Env' => 'Priority Mail International Gift Card Flat Rate Envelope**', 
           'Priority Mail Int Small Flat Rate Env' => 'Priority Mail International Small Flat Rate Envelope**',
    // old rates
           'First Class Mail Int Lrg Env' => 'First-Class Mail International Large Envelope**', 
           'First Class Mail Int Package' => 'First-Class Mail International Package**', 
           'First Class Mail Int Letter' => 'First-Class Mail International Letter**' 
           );

     

    Step #2:

    Right before the "$response = array();" line add the two $body statements

     

    // strip reg and trade out
         $body = str_replace('&lt;sup&gt;&amp;reg;&lt;/sup&gt;', '', $body);
         $body = str_replace('&lt;sup&gt;&amp;trade;&lt;/sup&gt;', '', $body);
    
         $response = array();
         while (true) {
           if ($start = strpos($body, '<Package ID=')) {
             $body = substr($body, $start);
             $end = strpos($body, '</Package>');
             $response[] = substr($body, 0, $end+10);
             $body = substr($body, $end+9);
           } else {
             break;
           }
         }

     

    It should work perfectly now. Enjoy :thumbsup:

  5. Not yet.

     

    It seems after investigating so far that it is strictly an issue where after selecting the shipping rate, the XML is not being sent to USPS properly or it isn't being retrieved properly.

    I am guessing that it is wanting the title of the USPS method along with the extra HTML code that they are including in their method titles now.

    I am still looking at it.

  6. The only thing that has worked for me is to uninstall the module. Try to remove all cookies as much as possible. it's just an internet thing why you should do that during things like this. Then make sure all of your store info is properly filled out including the zip code in short format. Ex: 90210

     

    Than re-install the module and enter in your shipping api userame and password. Not your webtools password.

    Set the index number to 1. For some reason it didn't work right away for me on but did work after a few hours. Reset cookies if you have to too.

     

    This same goes for OSC 3.

     

    For ZenCart this is not a problem since it tells you that you need to enter in the zip code if you didn't. I really think OSC should have smiler error handleing like this out of the box.

    Also, ZenCart is based on OSC.

  7. I am using OSCommerce v2.2 and am using Methods version 4.3 new install. I added the code segments, uploaded the 2 usps files, and reinstalled the module; yet still get this error:

     

    An error occured with the USPS shipping calculations.
    If you prefer to use USPS as your shipping method, please contact the store owner.

     

    Can it be that USPS needs to activate the osCommerce API since I was not able to query that api.

     

    Thanks

     

    Also it keeps deleting my user and password upon editing module.

  8. I am using OSCommerce v2.2 and am using Methods version 4.3 new install. I added the code segments, uploaded the 2 usps files, and reinstalled the module; yet still get this error:

     

    An error occured with the USPS shipping calculations.
    If you prefer to use USPS as your shipping method, please contact the store owner.

     

    Can it be that USPS needs to activate the osCommerce API since I was not able to query that api.

     

    Thanks

×
×
  • Create New...