Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

[Contribution] - USPS Methods


Recommended Posts

The APO address is entered as follows:

 

CMR 427 Box 1943 is entered as the Street name and number

 

APO is entered as the city

 

AE is entered as the state (and osC recognizes it as Armed Forces Europe)

 

09630 is the ZIP.

 

osC displays the address as

 

Brian Schade

CMR 427 Box 1943

APO, AE 09630

 

I expect that this is formatted correctly. I really have no idea what to do from here. I also use a Zones-based shipping calculator, which appears to be working properly. So I do have something in place, but I'd really like to offer the USPS Methods to my APO/FPO customers for Express shipping if they desire to use that.

 

Thanks again!

 

I entered that address into my site and this module offered me First Class Mail and Priority Mail. As far as I know, Express Mail is not available to APO and FPO addresses, because the delivery time cannot be guaranteed through the military postal system. I went into preferences and enabled all methods (I only offer my domestic customers First Class, Priority, and Express) and it offered Parcel Post, Bound Printed Material, Library and Media rates as well.

 

--Glen

Link to comment
Share on other sites

I entered that address into my site and this module offered me First Class Mail and Priority Mail. As far as I know, Express Mail is not available to APO and FPO addresses, because the delivery time cannot be guaranteed through the military postal system. I went into preferences and enabled all methods (I only offer my domestic customers First Class, Priority, and Express) and it offered Parcel Post, Bound Printed Material, Library and Media rates as well.

 

--Glen

 

This makes a ton of sense. Now that I think about it, yes, Express mail probably isn't available. But it seems like the service would just not be offered, instead of generating the error. I'm going to try a similar test with all of the options enabled and see what happens.

 

I want this method to be available to all of my customers. I'd like to turn this option off if the address is an APO/FPO and let the other shipping option become the default. I'm going to look into creating a zone that has everything EXCEPT for these addresses.

 

Thank you!

Brian (Schadeboy) Schade

CIO and Webmaster

Twilight Teez, LLC

 

"Camping is nature's way of promoting the hotel industry."

-Dave Barry

Link to comment
Share on other sites

This makes a ton of sense. Now that I think about it, yes, Express mail probably isn't available. But it seems like the service would just not be offered, instead of generating the error. I'm going to try a similar test with all of the options enabled and see what happens.

 

I want this method to be available to all of my customers. I'd like to turn this option off if the address is an APO/FPO and let the other shipping option become the default. I'm going to look into creating a zone that has everything EXCEPT for these addresses.

 

Thank you!

Are you offering Express Mail as the only method using USPS Methods? If so, I think that it responds with an error if none of the enabled methods is available. There might be a way to change the module so that it returns a status of 'disabled' if the address will return no result. But creating a zone that includes everything but the APO/FPO addresses will accomplish the same thing.

 

--Glen

Link to comment
Share on other sites

Are you offering Express Mail as the only method using USPS Methods? If so, I think that it responds with an error if none of the enabled methods is available. There might be a way to change the module so that it returns a status of 'disabled' if the address will return no result. But creating a zone that includes everything but the APO/FPO addresses will accomplish the same thing.

 

--Glen

 

Glen,

Yes, since I use a multi-zones option for Priority Mail, I use the USPS Methods to offer the Express mail option for U.S. domestic customers (it's a long story as to why I don't just use the USPS methods for Priority mail, and I don't have time to explain). So, when an APO address shows up, and since this is the only option for U.S. addresses, then I get the error message.

 

Creating the zone with everything but the APO/FPO addresses has proven to be far more time consuming than I thought. Does anyone know of a contribution that makes zone creation a lot easier? I envision a method that would present me with a series of check boxes for each country/state that's listed in osC, and I just check which ones I want in that particular zone. The current method of managing zones in osC is not very user friendly.

Brian (Schadeboy) Schade

CIO and Webmaster

Twilight Teez, LLC

 

"Camping is nature's way of promoting the hotel industry."

-Dave Barry

Link to comment
Share on other sites

Glen,

Yes, since I use a multi-zones option for Priority Mail, I use the USPS Methods to offer the Express mail option for U.S. domestic customers (it's a long story as to why I don't just use the USPS methods for Priority mail, and I don't have time to explain). So, when an APO address shows up, and since this is the only option for U.S. addresses, then I get the error message.

 

Creating the zone with everything but the APO/FPO addresses has proven to be far more time consuming than I thought. Does anyone know of a contribution that makes zone creation a lot easier? I envision a method that would present me with a series of check boxes for each country/state that's listed in osC, and I just check which ones I want in that particular zone. The current method of managing zones in osC is not very user friendly.

 

I'd have to look at the code, but it might be possible to put a test in the class constructor (function usps()) to make the query to determine whether the module will return a valid quote, and return enabled = false if not. That way, the module wouldn't appear at all if it wasn't going to return a valid shipping quote. To avoid making double inquiries, it should cache the result so that when it comes time to draw the options, the data will be available.

 

This would probably take a complete re-write of the module, though.

 

--Glen

Link to comment
Share on other sites

Hello all.

 

I have been running an OSC site for two years with no problems...until the rate change.

 

So, this morning I do the install:

 

"USPS Methods_2.8d"

"USPS Methods Update for Postal Rates & Services Changes 5.14.07"

 

 

It was pretty simple and straight forward but now I get this for international addresses but not domestic address (I have my admin>config> set to my zip code and "united states" selected).

 

-2147219080 - Missing value for Country.

 

Any ideas on how to get this fixed for my international orders?

 

This is a live site, so any help would be greatly appreciated.

 

Sincerely,

Mark

Link to comment
Share on other sites

Hello,

 

I recently discovered some strange functional behavior with the USPS Methods contribution and wonder if anyone else has the same problem or might know how to correct it.

 

I am using the latest USPS Methods 2.8d with the USPS service and rates updates effective May 14, 2007 by grapesmuggler and kbucher.

 

My US domestic calculator seems to work fine but when I enter more than 528 items (or $1584. total cost) in the shopping cart, the display of the following international shipping options stops showing (and only the three Global Express Guaranteed options show):

 

Express Mail International (EMS)

Priority Mail International

 

Since I sell my product by the pound (and use the item count as quantity of lbs), any order at 529 lbs (or $1587. total cost) and above stops the display of the least expensive Express Mail International (EMS) and Priority Mail International shipping options.

 

I've triple checked my code and do not see any errors.

 

Does anyone have the same problem and/or a suggested work around?

 

Thanks in advance for your help!

 

Regards,

 

Dick

Link to comment
Share on other sites

I noticed that when USPS is the only shipping choice, the checkout shipping page defaults to

This is currently the only shipping method available to use on this order.

United States Postal Service (1 x 6.5lbs)

EXPRESS $33.45 (radio button)

Priority $6.80 (radio button)

 

rather than

Please select a shipping method for this order (with Please Select Arrow)

United States Postal Service (1 x 6.5lbs)

EXPRESS $33.45 (radio button)

Priority $6.80 (radio button)

 

I know why it does this but don't know how to (or if it is possible) to re-write the code so that the Please select with arrow displays. This is controlled in checkout_shipping.php

<?php
if (sizeof($quotes) > 1 && sizeof($quotes[0]) > 1) { 
?>
		  <tr>
			<td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
			<td class="main" width="50%" valign="top"><?php echo TEXT_CHOOSE_SHIPPING_METHOD; ?></td>
			<td class="main" width="50%" valign="top" align="right"><?php echo '<b>' . TITLE_PLEASE_SELECT . '</b><br>' . tep_image(DIR_WS_IMAGES . 'arrow_east_south.gif'); ?></td>
			<td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
		  </tr>

<?php
} elseif ($free_shipping == false) {
?>
		  <tr>
			<td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
			<td class="main" width="100%" colspan="2"><?php echo TEXT_ENTER_SHIPPING_INFORMATION; ?></td>
			<td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
		  </tr>
<?php
}

if ($free_shipping == true) {
?>

 

Any ideas how to change this?

Link to comment
Share on other sites

I have tried to follow the installation procedures many times, and each time I get the same error when I go to edit the usps in the admin where everything shows up except the list of checkboxes for international options:

 

Parse error: syntax error, unexpected T_GLOBAL, expecting ')' in /home/hsphere/local/home/esilk/thepicturemug.com/admin/modules.php(216) : eval()'d code on line 1

 

Also, when I tried to run the sql command:

ALTER TABLE `configuration` CHANGE `set_function` `set_function` VARCHAR( 555 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL;

I got an sql error:

#1074 - Too big column length for column 'set_function' (max = 255). Use BLOB instead

 

I tried changing it from 555 to 255, but then got the error:

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'COLLATE latin1_swedish_ci NULL DEFAULT NULL' at line 1

 

Before I do the USPS51407RateServiceChangeUpdates.zip, the parse error does not show, but of course I get the usps error when trying to checkout from the store.

 

The parse error also does not appear if the only things I DON'T do are changing the "tep_db_query("insert into..." statement in the /catalog/modules/shipping/usps.php file AND don't run the sql queries.

 

It seems so straightforward but I'm very confused since I've repeated the steps so many times and still no go.

 

Any ideas where I'm going wrong with this?

 

Thanks!

Link to comment
Share on other sites

OK...Nevermind. I found the problem is that my server is running MySQL v4.0.26

 

I changed the first MySQL command to:

 

ALTER TABLE `configuration` CHANGE `set_function` `set_function` TEXT

 

instead of:

 

ALTER TABLE `configuration` CHANGE `set_function` `set_function` VARCHAR( 555 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL;

 

and everything worked fine.

 

I'm going to see if I can update the USPSMethods_2.8d Updates for May 14 Rates & Service Changes (minor correction) contribution with the requirements for servers with MySQL below version 5.0.3

 

cheers!

Link to comment
Share on other sites

Since changing to USPS Methods and making all these changes for the rate changes we get

 

Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/content/p/i/t/pittsbur/html/includes/classes/http_client.php on line 330

 

330: if (!$this->socket = fsockopen($host, $port, $this->reply, $this->replyString)) {

return false;

 

 

Looks like it is related to the new UPS server rather than anything else.

 

Anyone know what it means?

Link to comment
Share on other sites

Put the host name back to the orginal as someone posted in teh CRE forum

 

switch (MODULE_SHIPPING_USPS_SERVER) {

case 'production': $usps_server = 'production.shippingapis.com';

$api_dll = 'shippingapi.dll';

break;

case 'test':

default: $usps_server = 'testing.shippingapis.com';

$api_dll = 'ShippingAPITest.dll';

break;

 

but now all I get is

 

An error occured with the USPS shipping calculations.

If you prefer to use USPS as your shipping method, please contact the store owner.

 

 

this is on two different servers.

 

 

Can someone please clarify what the servers should be?

Edited by FlyingKites
Link to comment
Share on other sites

I'm in a similar situation Brian - The fix and the contrib 2.8d got my International flat rates working, but there is no domestic flat rate option. If I come across one I'll post it, and hopefully someone else will beat me to it :)

 

Thanks FoundSoul - mucho! Don't know about $100, but, if it was proper to offer it hereabouts, I'd gladly give you a discount at my store!

 

Still have to research the flat-rate box and other peculiarities of the new rules. For the moment, I expect I'll eat extra shipping costs on the handful of higher priced items I have that also might be affected by new dimensional weight stuff. In most cases, I have international customers query me first anyway for shipping quotes for such pieces (it's a peculiarity of the kinds of items I sell that shipping is usually exorbitant by any means for the very oversized and heavy pieces).

 

Anyway, the fix worked fine for me. I hesitate to offer any advice to Joe, but you might want to ask your web-host about phpmyadmin configuration peculiarities, assuming the host configured and provided phpmyadmin and mysql for you.

Link to comment
Share on other sites

  • 5 weeks later...

I've got this same SQL error. Has anyone figured this out?

 

David

 

Thank God someone posted this. The USPS changes have crushed my international customers until I get this fixed.

I'm using PHP 4.4.4. After I follow your instructions for the first SQL change, I tried running the second query. This is the message I get...

 

Warning: Cannot modify header information - headers already sent by (output started at /usr/local/cpanel/base/3rdparty/phpMyAdmin/libraries/header_meta_style.inc.php:27) in /usr/local/cpanel/base/3rdparty/phpMyAdmin/libraries/common.lib.php on line 1154

Any suggestions?

Link to comment
Share on other sites

well, I tried it before waiting to hear back and now I see this error at the top of my shipping modules page:

 

Parse error: syntax error, unexpected T_GLOBAL, expecting ')' in /home/kaligear/public_html/catalog/admin/modules.php(216) : eval()'d code on line 1

 

Also, I am unable to select which international shipping options I can offer. Does anyone have any suggestions?

thank you,

Leslie

 

I did do both SQL commands, and I still get this issue. Can someone help! please. MY international customers are currently given all these new options that we don't support. Thanks.

 

Steve

Link to comment
Share on other sites

I did do both SQL commands, and I still get this issue. Can someone help! please. MY international customers are currently given all these new options that we don't support. Thanks.

 

Steve

 

I should specify that I have tried everything on this forum, including both VARCHAR(255) and TEXT for the set_function

Link to comment
Share on other sites

  • 2 weeks later...

Hello,

 

Need some help with an error I am getting for the first time, below.

 

An error occured with the USPS shipping calculations.

If you prefer to use USPS as your shipping method, please contact the store owner.

 

The strange issue is that I have three web sites on this server and all the others get the information from USPS fine. I am using USPS 2.76 with the update instructions for the new rates as I did for the other sites. I felt that the 2.76 version was very stable, and installed with no effort. I have uninstalled three times and reset the database to original before USPS Methods install. Still same issue. The only difference between this site and the others, is this is the newest version, OSC MS2 RC1. I did not think that should matter, but noted. Any ideas would be great appreciated.

 

JR

Link to comment
Share on other sites

Hello,

 

I am using v2.76d with the updated rates, and it works fine. Was wondering how do you add insurance cost to prices showing showing on the screen, or even a seperate line?

 

Thanks Dom

Link to comment
Share on other sites

If anyone has installed USPS Methods and has gotten the following message when an international shipping address is supplied:

 

An error occurred with the USPS shipping calculations.

If you prefer to use USPS as your shipping method, please contact the store owner.

 

Below is the fix that worked for me on version 2.9. The code below that he has you find was not the exact text that I had in my usps.php file after installing version 2.9, but you get the idea. Basically the methods that USPS spits back to you are textually different than what is in the file. A quick change in text, uninstall the usps shipping module and then re-install it and my international shipping option now works.

 

I have been getting this error when ever someone from another country (outside USA) tries to order. This has been since May when USPS switched up their services:

 

An error occured with the USPS shipping calculations.

If you prefer to use USPS as your shipping method, please contact the store owner.

 

I have finally found a solution that worked for me. This was after trying everything I found in the forums including re-installing the USPS Methods 2.8d and the mysql commands. The USPS Methods for international shipping was still broken.

 

What I discovered was that the domestic shipping options worked fine, but the international quote didnt work. I read the XML data that USPS spits out and found that the names of the services were not the exact names listed in the usps.php array around line 49.

 

Once you have edited the file bellow, save it and replace it on your site. Then go to the admin log in area and uninstall it and then install it so that it reloads the new php file with the corrected services.

 

edit this file: catalog\includes\modules\shipping\usps.php

here is what I changed to get the module to display the correct international shipping rates:

 

around line number 49:

 

replace:

 

$this->intl_types = array('GXG Document' => 'Global Express Guaranteed Document Service',

'GXG Non-Document' => 'Global Express Guaranteed Non-Document Service',

'Express' => 'Global Express Mail (EMS)',

'Priority Lg' => 'Global Priority Mail - Flat-rate Envelope (Large)',

'Priority Sm' => 'Global Priority Mail - Flat-rate Envelope (Small)',

'Priority Var' => 'Global Priority Mail - Variable Weight (Single)',

'Airmail Letter' => 'Airmail Letter Post',

'Airmail Parcel' => 'Airmail Parcel Post',

'Surface Letter' => 'Economy (Surface) Letter Post',

'Surface Post' => 'Economy (Surface) Parcel Post');

 

with

 

$this->intl_types = array('GXG Document' => 'Global Express Guaranteed',

'GXG Non-Document' => 'Global Express Guaranteed Non-Document Rectangular',

'GXG Non-Document Large' => 'Global Express Guaranteed Non-Document Non-Rectangular',

'Express' => 'Express Mail International (EMS)',

'Express Envelope' => 'Express Mail International (EMS) Flat Rate Envelope',

'Priority Flat Rate Box' => 'Priority Mail International Flat Rate Box',

'Priority Flat Envelope' => 'Priority Mail International Flat Rate Envelope',

'Priority Box' => 'Priority Mail International',

'First Class' => 'First-Class Mail International');

around line number 153:

 

replace:

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 ('Int\'l Shipping Methods', 'MODULE_SHIPPING_USPS_TYPES_INTL', 'GXG Document, GXG Non-Document, Express, Priority Lg, Priority Sm, Priority Var, Airmail Letter, Airmail Parcel, Surface Letter, Surface Post', 'Select the international services to be offered:', '6', '15', 'tep_cfg_select_multioption(array(\'GXG Document\', \'GXG Non-Document\', \'Express\', \'Priority Lg\', \'Priority Sm\', \'Priority Var\', \'Airmail Letter\', \'Airmail Parcel\', \'Surface Letter\', \'Surface Post\'), ', now())");

 

with:

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 ('Int\'l Shipping Methods', 'MODULE_SHIPPING_USPS_TYPES_INTL', 'GXG Document, GXG Non-Document, Express, Express Envelope, Priority Flat Rate Box, Priority Flat Envelope, Priority Box, First Class', 'Select the international services to be offered:', '6', '15', 'tep_cfg_select_multioption(array(\'GXG Document\', \'GXG Non-Document\', \'Express\', \'Express Envelope\', \'Priority Flat Rate Box\', \'Priority Flat Envelope\', \'Priority Box\', \'First Class\'), ', now())");

Link to comment
Share on other sites

Hello,

 

I am using v2.76d with the updated rates, and it works fine. Was wondering how do you add insurance cost to prices showing showing on the screen, or even a seperate line?

 

Thanks Dom

 

Hi Dom. Use the Shipping Insurance contribution

 

http://www.oscommerce.com/community/contributions,1069/

 

Chris

Link to comment
Share on other sites

May be somebody can suggest the set up for Shipping Insurance to assess the correct insurance fee on shipping with USPS? The settings I have right now give the incorrect fees, or too high or too low.

Display Shipping Insurance
true

Sort Order
8

Customer Chooses?
true

Amount Exempt From Fee
$0.01

Increment Amount
$50.00

Insurance Rate
$0.93

Minimum Charge
$0.00

Apply Insurance Fee To Which Orders
both

Tax Class
--none--

Can anybody who uses the Shipping Insurance contribution share their settings?

 

Thanks in advance.

Link to comment
Share on other sites

  • 4 weeks later...

I am repeating a question that was asked back about 2 years ago on page 4 by Bruce due to the fact that I didn't see a response in the forum regarding this issue and I'm hoping someone has solved it b/c I routinely have orders that have total ship weights of greater than 70lbs even though they will be packaged in different boxes.

-----

 

1. Weight Issue: Ran into a bit of an issue / unexpected bug.

 

Here is the problem:

 

For those not aware, USPS Priority only allows up to 70 lbs.

 

When I added more items to my cart and the total weight came over 70 lbs, it comes back with an error and won't retrieve ANY of the USPS shipping methods.

 

As soon as I got the weight down below 70, it worked fine again.

 

Any suggestions?

 

2. Order: Is there any way to reorder the available shipping options during checkout to show cheapest to most expense?

 

The UPS XML system does a wonderful job of this.

 

----------

 

Any help you can provide on these items is greatly appreciated.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...