Jump to content
torinwalker

New UPS XML Shipping Module available

Recommended Posts

Hmm I didn't consider that, I will double check that mod and its instructions, I may need to add stuff back to it to make it work or just remove it because we do not use it any longer. In any event it may be good to add what you have suggested to your contribution as it would make it more robust.

 

The only problem with the fix you suggested is that using v1.2.7 it worked fine from July until today around 12pm; after lunch today it went haywire. Our web hosting provider (not GoDaddy) once shut off our cURL because they thought our site was a pr0n server due to the activity level (we sell PC keyboards). I called them first and they assured me cURL is still on and no changes were made to our account. I also called UPS and of course the phone techs will tell me nothing is wrong because they don't know any better. I think I am going to give both a call back, hopefully I will know more by tomorrow, thanks for your quick responses!

 

OK I have my UPS XML system working again, the sods turned off my cURL again...time to setup my own hosting <_<

 

Anyways in the process I upgraded to 1.2.8.1, and I now I see what you meant by the split products mod. I confused that with a previously installed bundle mod that is separate from this contrib but have since removed it. So I am not using the split products mod and I have a fresh UPS XML 1.2.8.1 unmodified install. My UPS rates are still off from what we are actually paying, here is a difference summary:

 

For a 3# package, actual price includes $4.50 handling fee:

Ground: quote=$12.21, actual=$10.71 (not bad)

3 Day Select: quote=$21.80, actual=$13.55 (+$8.25)

2nd Day Air: quote=$26.27, actual=$17.21 (+$9.06)

Next Day Air: quote=$43.21, actual=$28.32 (+$14.89)

 

The major problem that made me even care about this was a 4# package we shipped this week (and refunded half to the customer). The actual charge was $50, the price the customer was charged was $100.

 

So yea...fresh UPS XML 1.2.8.1, no split product mods, no other mods for checkout, UPS is not negotiated but does use dimensional support...any ideas?

Share this post


Link to post
Share on other sites
The major problem that made me even care about this was a 4# package we shipped this week (and refunded half to the customer). The actual charge was $50, the price the customer was charged was $100.

 

So yea...fresh UPS XML 1.2.8.1, no split product mods, no other mods for checkout, UPS is not negotiated but does use dimensional support...any ideas?

There is quite a difference in the rates. Hard to say where things go wrong without having data. I have an idea for logging the info of the packed boxes (won't be that hard) and then make a page where you can view that info (that will take longer than I think). Perhaps there is something wrong with dimensions of certain products, maybe UPS is off. Without knowing what is sent to UPS it's just guessing.

Share this post


Link to post
Share on other sites
There is quite a difference in the rates. Hard to say where things go wrong without having data. I have an idea for logging the info of the packed boxes (won't be that hard) and then make a page where you can view that info (that will take longer than I think). Perhaps there is something wrong with dimensions of certain products, maybe UPS is off. Without knowing what is sent to UPS it's just guessing.

 

OK I got the log to work now and I see that it was my dimensional support that was making it go off. I changed my package dimensions and now it works fine. I will have to read the docs on dimensional support a bit closer to fine tweak it and avoid this next time. Thanks for the help!

Share this post


Link to post
Share on other sites

Hi everyone,

I set the methods of shipping to:

Disallowed Shipping Methods

Next Day Air, Worldwide Express, Worldwide Express Plus, Worldwide Expedited, Next Day Air Saver, Next Day Air Early A.M., 2nd Day Air A.M., Saver, Express Early A.M., Express Plus

 

Means client choices should be:

2and Day Air

Ground

Express

Standard

3 Day Select

Expedited

 

But I am able to see only:

Standard

and

3Day Select.

 

No matter what I do, I never get desired shipping methods.

What should I do?

 

Andrew

Share this post


Link to post
Share on other sites
But I am able to see only:

Standard

and

3Day Select.

 

No matter what I do, I never get desired shipping methods.

What should I do?

Nothing you can do. UPS does not always quote all possible shipping methods (depends on distance too).

Share this post


Link to post
Share on other sites
Nothing you can do. UPS does not always quote all possible shipping methods (depends on distance too).

 

Thank you JanZ!

 

Andrew

Share this post


Link to post
Share on other sites

Hello I have installed OScommerce 2.2rc1 and STS4. I installed the UPS XML Module as in the istructions minus the optional part for dimensions and now I cannot get into my admin. I get the following error went I attempt to access the admin:

 

anufacturer_query = tep_db_query("select manufacturers_htc_desc_tag from " . TABLE_MANUFACTURERS_INFO . " where manufacturers_id = '" . (int)$manufacturer_id . "' and languages_id = '" . (int)$language_id . "'"); $manufacturer = tep_db_fetch_array($manufacturer_query); return $manufacturer['manufacturers_htc_desc_tag']; } function tep_get_manufacturer_htc_keywords($manufacturer_id, $language_id) { $manufacturer_query = tep_db_query("select manufacturers_htc_keywords_tag from " . TABLE_MANUFACTURERS_INFO . " where manufacturers_id = '" . (int)$manufacturer_id . "' and languages_id = '" . (int)$language_id . "'"); $manufacturer = tep_db_fetch_array($manufacturer_query); return $manufacturer['manufacturers_htc_keywords_tag']; } function tep_get_manufacturer_htc_description($manufacturer_id, $language_id) { $manufacturer_query = tep_db_query("select manufacturers_htc_description from " . TABLE_MANUFACTURERS_INFO . " where manufacturers_id = '" . (int)$manufacturer_id . "' and languages_id = '" . (int)$language_id . "'"); $manufacturer = tep_db_fetch_array($manufacturer_query); return $manufacturer['manufacturers_htc_description']; } ?>

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homepages/21/d202393536/htdocs/wii/catalog/admin/includes/functions/general.php:1403) in /homepages/21/d202393536/htdocs/wii/catalog/admin/includes/functions/sessions.php on line 97

 

Warning: Cannot modify header information - headers already sent by (output started at /homepages/21/d202393536/htdocs/wii/catalog/admin/includes/functions/general.php:1403) in /homepages/21/d202393536/htdocs/wii/catalog/admin/includes/functions/general.php on line 22

 

 

I tried the fix by changing the 0 to 1 and uncommenting the error line (for those without curl, although my server does have curl)

 

Does anyone else know what I can do to get this fixed?

 

Thanks

Lionel

Share this post


Link to post
Share on other sites
Hello I have installed OScommerce 2.2rc1 and STS4. I installed the UPS XML Module as in the istructions minus the optional part for dimensions and now I cannot get into my admin. I get the following error went I attempt to access the admin:

Looks like the addition of the function tep_cfg_select_multioption() didn't go too well. I would suggest to go back to your backup of admin/functions/general.php (you did make a backup did you?) and try again. Just add it to the end of the file (before the ?> on the last line of course), the position of the function in the file is not important (in contrast to what the readme.txt suggests).

Share this post


Link to post
Share on other sites

Thankfully, after many boneheaded mistates I've learned to backup after every successful contribution install and before any new contribution install. I replaced the general.php file from the back up and started anew. I placed the the code at the bottom of the file as Janz suggested. However I got a new parse error. When I checked, there was additional code there (looks like it placed the code there twice). I deleted the extra code and the error message that I get when I access admin is now gone (Yea!! Thanks JanZ!!) but now I get another message when I try to access the Modules from my admin page. I can get into Modules/Shipping, but 1. There is no UPS. 2. I get the following message in the screen above the Modules but underneath the SHIPPING MODULES heading:

 

Warning: main(includes/classes/xmldocument.php) [function.main]: failed to open stream: No such file or directory in /homepages/21/d202393536/htdocs/wii/catalog/includes/modules/shipping/upsxml.php on line 23

 

Fatal error: main() [function.require]: Failed opening required 'includes/classes/xmldocument.php' (include_path='.:/usr/local/lib/php') in /homepages/21/d202393536/htdocs/wii/catalog/includes/modules/shipping/upsxml.php on line 23

 

This is what catalog/includes/modules/shipping/upsxml.php on line 23 says (plus a few lines after....this is at the begining of the file so the only thing before it is the GNU and the writers comments):

 

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

// if using the optional dimensional support, set to 1, otherwise leave as 0

// define('DIMENSIONS_SUPPORTED', 1);

// obsolete: is set in admin now

 

class upsxml {

var $code, $title, $description, $icon, $enabled, $types, $boxcount;

 

//***************

function upsxml() {

global $order;

$this->code = 'upsxml';

$this->title = MODULE_SHIPPING_UPSXML_RATES_TEXT_TITLE;

$this->description = MODULE_SHIPPING_UPSXML_RATES_TEXT_DESCRIPTION;

$this->sort_order = MODULE_SHIPPING_UPSXML_RATES_SORT_ORDER;

$this->icon = DIR_WS_ICONS . 'shipping_ups.gif';

$this->tax_class = MODULE_SHIPPING_UPSXML_RATES_TAX_CLASS;

$this->enabled = ((MODULE_SHIPPING_UPSXML_RATES_STATUS == 'True') ? true : false);

$this->access_key = MODULE_SHIPPING_UPSXML_RATES_ACCESS_KEY;

$this->access_username = MODULE_SHIPPING_UPSXML_RATES_USERNAME;

$this->access_password = MODULE_SHIPPING_UPSXML_RATES_PASSWORD;

$this->access_account_number = MODULE_SHIPPING_UPSXML_RATES_UPS_ACCOUNT_NUMBER;

$this->use_negotiated_rates = MODULE_SHIPPING_UPSXML_RATES_USE_NEGOTIATED_RATES;

$this->origin = MODULE_SHIPPING_UPSXML_RATES_ORIGIN;

$this->origin_city = MODULE_SHIPPING_UPSXML_RATES_CITY;

$this->origin_stateprov = MODULE_SHIPPING_UPSXML_RATES_STATEPROV;

$this->origin_country = MODULE_SHIPPING_UPSXML_RATES_COUNTRY;

$this->origin_postalcode = MODULE_SHIPPING_UPSXML_RATES_POSTALCODE;

$this->pickup_method = MODULE_SHIPPING_UPSXML_RATES_PICKUP_METHOD;

$this->package_type = MODULE_SHIPPING_UPSXML_RATES_PACKAGE_TYPE;

$this->unit_weight = MODULE_SHIPPING_UPSXML_RATES_UNIT_WEIGHT;

$this->unit_length = MODULE_SHIPPING_UPSXML_RATES_UNIT_LENGTH;

if (MODULE_SHIPPING_UPSXML_DIMENSIONS_SUPPORT == 'Ready-to-ship only') {

$this->dimensions_support = 1;

} elseif (MODULE_SHIPPING_UPSXML_DIMENSIONS_SUPPORT == 'With product dimensions') {

$this->dimensions_support = 2;

} else {

$this->dimensions_support = 0;

}

 

 

I checked and made sure the USPXML.php file and the xmldocument.php where in the folders.

 

Any Ideas?

Share this post


Link to post
Share on other sites
Warning: main(includes/classes/xmldocument.php) [function.main]: failed to open stream: No such file or directory in /homepages/21/d202393536/htdocs/wii/catalog/includes/modules/shipping/upsxml.php on line 23

 

I checked and made sure the USPXML.php file and the xmldocument.php where in the folders.

Actually, the xmldocument should be placed both on the catalog side (catalog/includes/classes/xmldocument.php) and the admin side (catalog/admin/includes/classes/xmldocument.php).

 

If you are 100% sure they are there the only issue could be that the webserver hasn't the permission to read the file. You can check that at least with certain ftp programs.

Share this post


Link to post
Share on other sites

Ok, it's working now, and as I was testing it it works great, however, when I checkout I get the following message in the checlout box:

 

United Parcel Service (XML)

111106: Unsupported country specified.

 

In the debug email it states basically the same thing: UPSXML Rates Error: 111106: Unsupported country specified. experienced by customer with id 3 on 2007-09-10 13:03:09. The country in my test profile is United States.

 

What can be causing this error?

Edited by elcidd

Share this post


Link to post
Share on other sites

Hello,

 

I have a problem with getting Time in Transit for all International shipments. All it's showing is just:

 

United Parcel Service (UPS Worldwide Expedited (by , )) $72.42

United Parcel Service (UPS Worldwide Saver (by , )) $75.57

 

Is anybody else having the same problem? What might be wrong?

 

Thanks.

Share this post


Link to post
Share on other sites
United Parcel Service (UPS Worldwide Expedited (by , )) $72.42

The (by , ) is not standard in this module. The code you or somebody else changed for that might not be correctly functioning.

Share this post


Link to post
Share on other sites
In the debug email it states basically the same thing: UPSXML Rates Error: 111106: Unsupported country specified. experienced by customer with id 3 on 2007-09-10 13:03:09. The country in my test profile is United States.

 

What can be causing this error?

Hard to say, you must have changed something in your shop to cause this. Enable logging (see the upsxml.php itself for pointers, use a full path to a directory as shown for the error.log) and see what gets sent to UPS.

Share this post


Link to post
Share on other sites
The (by , ) is not standard in this module. The code you or somebody else changed for that might not be correctly functioning.

Hi Jan,

 

Yes, I changed the "EDD" to "by" in modules/upsxml.php. Although, I don't think that's what causing the problem. I tried to change it back to how it was originally and I still have the same problem. Please look at my changed code below:

if ( $method == '' || $method == $type ) {
				$_type = $type;

				if ($this->timeInTransitView == "Raw") {
				  if (isset($this->servicesTimeintransit[$type])) {
					$_type = $_type . ", ".$this->servicesTimeintransit[$type]["date"];
				  }
				} else {
				  if (isset($this->servicesTimeintransit[$type])) {
					$eta_array = explode("-", $this->servicesTimeintransit[$type]["date"]);
					$months = array (" ", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
					$eta_arrival_date = $months[(int)$eta_array[1]]." ".$eta_array[2].", ".$eta_array[0];
					$_type .= " (<acronym title='Estimated Delivery Date'>by</acronym> ".$eta_arrival_date.")";
				  }
				}

Share this post


Link to post
Share on other sites

Just an update on my problem. I uploaded an original modules/upsxml.php from the package and then reinstalled my UPS XML modle. I can say for sure that the same problem exists even with the original contribution. I wonder that nobody else is complaining on the same issue...

 

Any ideas?

Edited by Irin

Share this post


Link to post
Share on other sites

I am getting errors like this T_CONSTANT_ENCAPSED_STRING, expecting ')' in /home/content/k/u/s/kustomjs/html/catalog/admin/modules.php(238) : eval()'d code on line 1

 

I only get this error when I got Google Checkout Installed does anybody got a fix for this?

Share this post


Link to post
Share on other sites
Just an update on my problem. I uploaded an original modules/upsxml.php from the package and then reinstalled my UPS XML modle. I can say for sure that the same problem exists even with the original contribution. I wonder that nobody else is complaining on the same issue...

 

Any ideas?

Just checked that tonight. Worked fine for me...

United Parcel Service (XML) (2 pkg(s), 17 lbs total) 	
UPS Worldwide Express, EDD: September 20, 2007	$252.32		
UPS Worldwide Expedited, EDD: September 21, 2007	$232.80		
UPS Worldwide Express Plus, EDD: September 20, 2007	$298.12		
UPS Saver, EDD: September 20, 2007	$247.17

If it persist, try logging and see what is returned as date. Perhaps no date was returned but something else.

Share this post


Link to post
Share on other sites
I only get this error when I got Google Checkout Installed does anybody got a fix for this?

What about reading the readme.txt that came with the contribution?

Share this post


Link to post
Share on other sites
Just checked that tonight. Worked fine for me...

United Parcel Service (XML) (2 pkg(s), 17 lbs total) 	
UPS Worldwide Express, EDD: September 20, 2007	$252.32		
UPS Worldwide Expedited, EDD: September 21, 2007	$232.80		
UPS Worldwide Express Plus, EDD: September 20, 2007	$298.12		
UPS Saver, EDD: September 20, 2007	$247.17

If it persist, try logging and see what is returned as date. Perhaps no date was returned but something else.

I enabled logging and ran a test for international rates. Here is the error response logged in upsxml_error.log:

2007-09-17 21:32:11	TimeInTransit	270013: Invalid Shipment Contents Value

Below is the UPS response from upsxml.log:

------------------------------------------
DATE AND TIME: 2007-09-17 21:17:13
UPS URL: https://www.ups.com:443/ups.app/xml/TimeInTransit
UPS REQUEST: <?xml version="1.0"?>
<AccessRequest xml:lang="en-US">
  <AccessLicenseNumber>License Number</AccessLicenseNumber>
  <UserId>ID</UserId>
  <Password>Password</Password>
</AccessRequest>
<?xml version="1.0"?>
<TimeInTransitRequest xml:lang="en-US">
  <Request>
   <TransactionReference>
	   <CustomerContext>Time in Transit</CustomerContext>
	   <XpciVersion>1.0002</XpciVersion>
   </TransactionReference>
   <RequestAction>TimeInTransit</RequestAction>
  </Request>
  <TransitFrom>
   <AddressArtifactFormat>
	   <PoliticalDivision2>Houston</PoliticalDivision2>
	   <PoliticalDivision1>TX</PoliticalDivision1>
	   <CountryCode>US</CountryCode>
	   <PostcodePrimaryLow>77090</PostcodePrimaryLow>
   </AddressArtifactFormat>
  </TransitFrom>
  <TransitTo>
   <AddressArtifactFormat>
	   <PoliticalDivision2></PoliticalDivision2>
	   <PoliticalDivision1></PoliticalDivision1>
	   <CountryCode>TH</CountryCode>
	   <PostcodePrimaryLow>10170</PostcodePrimaryLow>
	   <PostcodePrimaryHigh>10170</PostcodePrimaryHigh>
   </AddressArtifactFormat>
  </TransitTo>
  <ShipmentWeight>
   <UnitOfMeasurement>
	   <Code>LBS</Code>
   </UnitOfMeasurement>
   <Weight>0.8</Weight>
  </ShipmentWeight>
  <InvoiceLineTotal>
   <CurrencyCode>USD</CurrencyCode>
   <MonetaryValue>0</MonetaryValue>
  </InvoiceLineTotal>
  <PickupDate>20070918</PickupDate>
</TimeInTransitRequest>

UPS RESPONSE: <?xml version="1.0"?><TimeInTransitResponse><Response><TransactionReference><CustomerContext>Time in Transit</CustomerContext><XpciVersion>1.0002</XpciVersion></TransactionReference><ResponseStatusCode>0</ResponseStatusCode><ResponseStatusDescription>Failure</ResponseStatusDescription><Error><ErrorSeverity>Hard</ErrorSeverity><ErrorCode>270013</ErrorCode><ErrorDescription>Invalid Shipment Contents Value</ErrorDescription></Error></Response></TimeInTransitResponse>
------------------------------------------
Time in Transit: 0
------------------------------------------
DATE AND TIME: 2007-09-17 21:17:13
UPS URL: https://www.ups.com:443/ups.app/xml/Rate
UPS REQUEST: <?xml version="1.0"?>
<AccessRequest xml:lang="en-US">
  <AccessLicenseNumber>License Number</AccessLicenseNumber>
  <UserId>ID</UserId>
  <Password>Password</Password>
</AccessRequest>
<?xml version="1.0"?>
<RatingServiceSelectionRequest xml:lang="en-US">
  <Request>
   <TransactionReference>
	   <CustomerContext>Rating and Service</CustomerContext>
	   <XpciVersion>1.0001</XpciVersion>
   </TransactionReference>
   <RequestAction>Rate</RequestAction>
   <RequestOption>shop</RequestOption>
  </Request>
  <PickupType>
   <Code>11</Code>
  </PickupType>
  <Shipment>
   <Shipper>
	   <Address>
		   <City>Houston</City>
		   <StateProvinceCode>TX</StateProvinceCode>
		   <CountryCode>US</CountryCode>
		   <PostalCode>77090</PostalCode>
	   </Address>
   </Shipper>
   <ShipTo>
	   <Address>
		   <City></City>
		   <StateProvinceCode></StateProvinceCode>
		   <CountryCode>TH</CountryCode>
		   <PostalCode>10170</PostalCode>
<ResidentialAddressIndicator/>
	   </Address>
   </ShipTo>
   <Package>
	   <PackagingType>
		   <Code>02</Code>
	   </PackagingType>
	   <PackageWeight>
		   <UnitOfMeasurement>
			   <Code>LBS</Code>
		   </UnitOfMeasurement>
		   <Weight>1</Weight>
	   </PackageWeight>
	   <PackageServiceOptions>
		   <InsuredValue>
			   <CurrencyCode>USD</CurrencyCode>
			   <MonetaryValue>0.00</MonetaryValue>
		   </InsuredValue>
	   </PackageServiceOptions>
   </Package>
  </Shipment>
  <CustomerClassification>
   <Code>03</Code>
  </CustomerClassification>
</RatingServiceSelectionRequest>

UPS RESPONSE: <?xml version="1.0"?><RatingServiceSelectionResponse><Response><TransactionReference><CustomerContext>Rating and Service</CustomerContext><XpciVersion>1.0001</XpciVersion></TransactionReference><ResponseStatusCode>1</ResponseStatusCode><ResponseStatusDescription>Success</ResponseStatusDescription></Response><RatedShipment><Service><Code>08</Code></Service><RatedShipmentWarning>Your invoice may vary from the displayed reference rates</RatedShipmentWarning><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>1.0</Weight></BillingWeight><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>72.42</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>72.42</MonetaryValue></TotalCharges><GuaranteedDaysToDelivery></GuaranteedDaysToDelivery><ScheduledDeliveryTime></ScheduledDeliveryTime><RatedPackage><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></TotalCharges><Weight>1.0</Weight><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>0.0</Weight></BillingWeight></RatedPackage></RatedShipment><RatedShipment><Service><Code>54</Code></Service><RatedShipmentWarning>The selected service may not guarantee early AM arrival to the requested location.</RatedShipmentWarning><RatedShipmentWarning>Your invoice may vary from the displayed reference rates</RatedShipmentWarning><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>1.0</Weight></BillingWeight><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>124.23</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>124.23</MonetaryValue></TotalCharges><GuaranteedDaysToDelivery></GuaranteedDaysToDelivery><ScheduledDeliveryTime></ScheduledDeliveryTime><RatedPackage><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></TotalCharges><Weight>1.0</Weight><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>0.0</Weight></BillingWeight></RatedPackage></RatedShipment><RatedShipment><Service><Code>65</Code></Service><RatedShipmentWarning>Your invoice may vary from the displayed reference rates</RatedShipmentWarning><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>1.0</Weight></BillingWeight><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>75.57</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>75.57</MonetaryValue></TotalCharges><GuaranteedDaysToDelivery>1</GuaranteedDaysToDelivery><ScheduledDeliveryTime>11:30 P.M.</ScheduledDeliveryTime><RatedPackage><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></TotalCharges><Weight>1.0</Weight><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>0.0</Weight></BillingWeight></RatedPackage></RatedShipment></RatingServiceSelectionResponse>

Share this post


Link to post
Share on other sites
I enabled logging and ran a test for international rates. Here is the error response logged in upsxml_error.log:

2007-09-17 21:32:11	TimeInTransit	270013: Invalid Shipment Contents Value

Below is the UPS response from upsxml.log:

------------------------------------------
   <MonetaryValue>0</MonetaryValue>

How can this be zero? It is set around line 86 and is supposed to be the subtotal of the order. Don't these items you test with have a price?

		// insurance addition.
	if (MODULE_SHIPPING_UPSXML_INSURE == 'False')
	  { $this->pkgvalue = 100; }
	if (MODULE_SHIPPING_UPSXML_INSURE == 'True')
	  { $this->pkgvalue = ceil($order->info['subtotal']); }

Share this post


Link to post
Share on other sites
How can this be zero? It is set around line 86 and is supposed to be the subtotal of the order. Don't these items you test with have a price?

		// insurance addition.
	if (MODULE_SHIPPING_UPSXML_INSURE == 'False')
	  { $this->pkgvalue = 100; }
	if (MODULE_SHIPPING_UPSXML_INSURE == 'True')
	  { $this->pkgvalue = ceil($order->info['subtotal']); }

They sure do have a price. For example, I added to the cart a single product priced $30.50:

 

weight: 0.30

lenght: 2.00

width: 1.00

height: 0.50

Ready to ship: no

Package Tare weight: 0.5

Dimensional support: enabled

 

According to the product dimensions, it suppose to fit the 8x6x3 Box with the Length: 12.00, Width: 9.00, Height: 6.00, Empty Weight: 0.60, Maximum Weight: 40.00, Cost: 1.

 

The rates I'm getting from UPS are incorrect and no EDD was returned for international shipping. Although, the package total weight is 1 LBS, the weight quoted is 4 LBS. Here is what was logged in upsxml.log:

------------------------------------------
DATE AND TIME: 2007-09-18 12:20:18
UPS URL: https://www.ups.com:443/ups.app/xml/TimeInTransit
UPS REQUEST: <?xml version="1.0"?>
<AccessRequest xml:lang="en-US">
  <AccessLicenseNumber>License Number</AccessLicenseNumber>
  <UserId>ID</UserId>
  <Password>Password</Password>
</AccessRequest>
<?xml version="1.0"?>
<TimeInTransitRequest xml:lang="en-US">
  <Request>
   <TransactionReference>
	   <CustomerContext>Time in Transit</CustomerContext>
	   <XpciVersion>1.0002</XpciVersion>
   </TransactionReference>
   <RequestAction>TimeInTransit</RequestAction>
  </Request>
  <TransitFrom>
   <AddressArtifactFormat>
	   <PoliticalDivision2>Houston</PoliticalDivision2>
	   <PoliticalDivision1>TX</PoliticalDivision1>
	   <CountryCode>US</CountryCode>
	   <PostcodePrimaryLow>77090</PostcodePrimaryLow>
   </AddressArtifactFormat>
  </TransitFrom>
  <TransitTo>
   <AddressArtifactFormat>
	   <PoliticalDivision2></PoliticalDivision2>
	   <PoliticalDivision1></PoliticalDivision1>
	   <CountryCode>AU</CountryCode>
	   <PostcodePrimaryLow>7009</PostcodePrimaryLow>
	   <PostcodePrimaryHigh>7009</PostcodePrimaryHigh>
   </AddressArtifactFormat>
  </TransitTo>
  <ShipmentWeight>
   <UnitOfMeasurement>
	   <Code>LBS</Code>
   </UnitOfMeasurement>
   <Weight>0.9</Weight>
  </ShipmentWeight>
  <InvoiceLineTotal>
   <CurrencyCode>USD</CurrencyCode>
   <MonetaryValue>0</MonetaryValue>
  </InvoiceLineTotal>
  <PickupDate>20070919</PickupDate>
</TimeInTransitRequest>

UPS RESPONSE: <?xml version="1.0"?><TimeInTransitResponse><Response><TransactionReference><CustomerContext>Time in Transit</CustomerContext><XpciVersion>1.0002</XpciVersion></TransactionReference><ResponseStatusCode>0</ResponseStatusCode><ResponseStatusDescription>Failure</ResponseStatusDescription><Error><ErrorSeverity>Hard</ErrorSeverity><ErrorCode>270013</ErrorCode><ErrorDescription>Invalid Shipment Contents Value</ErrorDescription></Error></Response></TimeInTransitResponse>
------------------------------------------
Time in Transit: 0
------------------------------------------
DATE AND TIME: 2007-09-18 12:20:19
UPS URL: https://www.ups.com:443/ups.app/xml/Rate
UPS REQUEST: <?xml version="1.0"?>
<AccessRequest xml:lang="en-US">
  <AccessLicenseNumber>License Number</AccessLicenseNumber>
  <UserId>ID</UserId>
  <Password>Password</Password>
</AccessRequest>
<?xml version="1.0"?>
<RatingServiceSelectionRequest xml:lang="en-US">
  <Request>
   <TransactionReference>
	   <CustomerContext>Rating and Service</CustomerContext>
	   <XpciVersion>1.0001</XpciVersion>
   </TransactionReference>
   <RequestAction>Rate</RequestAction>
   <RequestOption>shop</RequestOption>
  </Request>
  <PickupType>
   <Code>11</Code>
  </PickupType>
  <Shipment>
   <Shipper>
	   <Address>
		   <City>Houston</City>
		   <StateProvinceCode>TX</StateProvinceCode>
		   <CountryCode>US</CountryCode>
		   <PostalCode>77090</PostalCode>
	   </Address>
   </Shipper>
   <ShipTo>
	   <Address>
		   <City></City>
		   <StateProvinceCode></StateProvinceCode>
		   <CountryCode>AU</CountryCode>
		   <PostalCode>7009</PostalCode>
<ResidentialAddressIndicator/>
	   </Address>
   </ShipTo>
   <Package>
	   <PackagingType>
		   <Code>02</Code>
	   </PackagingType>
	   <Dimensions>
		   <UnitOfMeasurement>
			   <Code>IN</Code>
		   </UnitOfMeasurement>
		   <Length>12.00</Length>
		   <Width>9.00</Width>
		   <Height>6.00</Height>
	   </Dimensions>
	   <PackageWeight>
		   <UnitOfMeasurement>
			   <Code>LBS</Code>
		   </UnitOfMeasurement>
		   <Weight>1</Weight>
	   </PackageWeight>
	   <PackageServiceOptions>
		   <InsuredValue>
			   <CurrencyCode>USD</CurrencyCode>
			   <MonetaryValue>30.5</MonetaryValue>
		   </InsuredValue>
	   </PackageServiceOptions>
   </Package>
  </Shipment>
  <CustomerClassification>
   <Code>03</Code>
  </CustomerClassification>
</RatingServiceSelectionRequest>

UPS RESPONSE: <?xml version="1.0"?><RatingServiceSelectionResponse><Response><TransactionReference><CustomerContext>Rating and Service</CustomerContext><XpciVersion>1.0001</XpciVersion></TransactionReference><ResponseStatusCode>1</ResponseStatusCode><ResponseStatusDescription>Success</ResponseStatusDescription></Response><RatedShipment><Service><Code>08</Code></Service><RatedShipmentWarning>Your invoice may vary from the displayed reference rates</RatedShipmentWarning><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>4.0</Weight></BillingWeight><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>104.42</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>104.42</MonetaryValue></TotalCharges><GuaranteedDaysToDelivery></GuaranteedDaysToDelivery><ScheduledDeliveryTime></ScheduledDeliveryTime><RatedPackage><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></TotalCharges><Weight>1.0</Weight><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>0.0</Weight></BillingWeight></RatedPackage></RatedShipment><RatedShipment><Service><Code>65</Code></Service><RatedShipmentWarning>Your invoice may vary from the displayed reference rates</RatedShipmentWarning><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>4.0</Weight></BillingWeight><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>108.78</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>108.78</MonetaryValue></TotalCharges><GuaranteedDaysToDelivery>1</GuaranteedDaysToDelivery><ScheduledDeliveryTime>11:30 P.M.</ScheduledDeliveryTime><RatedPackage><TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></TransportationCharges><ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges><TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></TotalCharges><Weight>1.0</Weight><BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>0.0</Weight></BillingWeight></RatedPackage></RatedShipment></RatingServiceSelectionResponse>

Share this post


Link to post
Share on other sites
They sure do have a price. For example, I added to the cart a single product priced $30.50:

 

weight: 0.30

lenght: 2.00

width: 1.00

height: 0.50

Ready to ship: no

Package Tare weight: 0.5

Dimensional support: enabled

 

According to the product dimensions, it suppose to fit the 8x6x3 Box with the Length: 12.00, Width: 9.00, Height: 6.00, Empty Weight: 0.60, Maximum Weight: 40.00, Cost: 1.

 

The rates I'm getting from UPS are incorrect and no EDD was returned for international shipping. Although, the package total weight is 1 LBS, the weight quoted is 4 LBS. Here is what was logged in upsxml.log:

Perhaps they have a minimum weight for an international shipment of 4 lbs (billing weight). The ups module tells them it is 1 (Time in Transit the more accurate number of 0.9 which is 0.3 for the item and .60 for the box.) Package Tare Weight is not used when you have dimensional support enabled.

 

The _upsGetQuote function has another method to get the value of the items in a box than for the Time in Transit module and that looks fine. However, it is very strange that the $order->info['subtotal'] is zero.

 

To cheat you could a little code to set at least a minimum of 100:

		// insurance addition.
	if (MODULE_SHIPPING_UPSXML_INSURE == 'False')
	  { $this->pkgvalue = 100; }
	if (MODULE_SHIPPING_UPSXML_INSURE == 'True')
	  { $this->pkgvalue = ceil($order->info['subtotal']); }
// let's cheat in case $order->info['subtotal'] is zero
if ((int)$this->pkgvalue == 0) {
$this->pkgvalue = 100;
}

Share this post


Link to post
Share on other sites
Perhaps they have a minimum weight for an international shipment of 4 lbs (billing weight). The ups module tells them it is 1 (Time in Transit the more accurate number of 0.9 which is 0.3 for the item and .60 for the box.) Package Tare Weight is not used when you have dimensional support enabled.

 

The _upsGetQuote function has another method to get the value of the items in a box than for the Time in Transit module and that looks fine. However, it is very strange that the $order->info['subtotal'] is zero.

 

To cheat you could a little code to set at least a minimum of 100:

		// insurance addition.
	if (MODULE_SHIPPING_UPSXML_INSURE == 'False')
	  { $this->pkgvalue = 100; }
	if (MODULE_SHIPPING_UPSXML_INSURE == 'True')
	  { $this->pkgvalue = ceil($order->info['subtotal']); }
// let's cheat in case $order->info['subtotal'] is zero
if ((int)$this->pkgvalue == 0) {
$this->pkgvalue = 100;
}

With that cheat I'm getting the EDD for international shipments and the <MonetaryValue>100</MonetaryValue>. However, if I change the product quantity to 4 x $30.50 = $122.00, the <MonetaryValue> is still 100. Does it mean that doesn't matter what the actual value of the package, the insured is just $100? And, also the rates are almost doubled because of the incorrect weight, 4 LBS instead of 1.8 LBS. Is there any workaround to get the accurate UPS rates based on the actual package weight?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×