Jump to content
greasemonkey

FedEx - Web Services v9

Recommended Posts

will have to wait until after halloween, my busy season now.

Canada customers will just have to be notified until I an take time to address the issue

Share this post


Link to post
Share on other sites

Minionsweb and rcritt,

 

Please try replacing the following line and see if you have any different results on international ground rates.. Please let us know.

 

Replce

 if($ShipmentRateDetail->ShipmentRateDetail->RateType=='PAYOR_LIST_PACKAGE')

 

With

 if($ShipmentRateDetail->ShipmentRateDetail->RateType==('PAYOR_LIST_PACKAGE' || 'PAYOR_LIST_SHIPMENT'))

 

Tried this but there was no differrence in shipping cost shown at checkout.

Share this post


Link to post
Share on other sites

Thank s for checking. I've got a new version about ready to post, 9.4.3, hopefully later today.

 

Dave


-Dave

Share this post


Link to post
Share on other sites

The function to sort low to high is done usort, which is probably commented out. Look for the line below and uncomment it.

// usort($methods, 'cmp');

But I beleive you have to move the "cmp" function so it's like

function cmp($a, $B) {
 if ($a['cost'] == $b['cost']) {
	 return 0;
 }
 return ($a['cost'] < $b['cost']) ? -1 : 1;
}

usort($methods, 'cmp');

 

This should solve your problem but post back if not.

 

I first tried commented out and there was no change. Then moved the "usort" line as suggested but that broke the entire checkout_shipping page.

 

I wonder if it's just a matter of changing the SQL configuration table? There is a "sort order of display" entry - currently set to a sort order value of 99. Or even just changing the values of the services i'm using. For example, it has all the priority and next day services at a sort order ID of 10, where the Home Delivery or Ground has a value of 25.

 

But i'm no SQL expert and don't know if that would break the entire module or not?

Share this post


Link to post
Share on other sites

I first tried commented out and there was no change. Then moved the "usort" line as suggested but that broke the entire checkout_shipping page.

 

I wonder if it's just a matter of changing the SQL configuration table? There is a "sort order of display" entry - currently set to a sort order value of 99. Or even just changing the values of the services i'm using. For example, it has all the priority and next day services at a sort order ID of 10, where the Home Delivery or Ground has a value of 25.

 

But i'm no SQL expert and don't know if that would break the entire module or not?

 

I believe I have this fixed in the new version, low to high will be the default.


-Dave

Share this post


Link to post
Share on other sites

New version posted. 9.4.3

 

http://addons.oscommerce.com/info/7977

 

Please post any findngs - Thanks!

 

Thanks @@Roaddoctor! Sort order is now Low to High. Only thing i notice is that it picks the lowest FedEx service/cost no matter what instead of default selection to USPS First Class for example, which is lower.

 

Don't recall if it selected that way before - that's not a big deal for me, but some people may want default to lowest cost overall.

Share this post


Link to post
Share on other sites

I meant for you to move the cmp function like Roaddoctor has done in the new version. Basically, it becomes a nested function which is not really the correct way but it works. Otherwise it gets an unfound/illegal function warning. All the examples I've seen on php.net show it used in a small script.


I'm not really a dog.

Share this post


Link to post
Share on other sites

Minionsweb,

 

 

Do you use the International Ground Handling Fee in your setup? List or Account rates?

If not, try putting 1% or 1.00, and then see if the duties and such also process into the rate display.

 

Also, I've noticed the FedEx is up to V13 of the WSDL. I will get around to this next. It could solve some of these subtle issues.


-Dave

Share this post


Link to post
Share on other sites

Minionsweb,

 

 

Do you use the International Ground Handling Fee in your setup? List or Account rates?

If not, try putting 1% or 1.00, and then see if the duties and such also process into the rate display.

 

Also, I've noticed the FedEx is up to V13 of the WSDL. I will get around to this next. It could solve some of these subtle issues.

 

I use the international ground handling fee. Had to set it to 100% to get the shipping rate up enough to "almost" cover the duties etc.

Share this post


Link to post
Share on other sites

Hey Roaddoctor,

 

The more I thought about it i knew something had to be wrong with the "usort" use because the function shouldn't be nested and it should work where it was. Instead of

  usort($methods, 'cmp');

it should be

   usort($methods, array( $this,'cmp'));

 

Then the cmp function can and should be moved back.

 

Also, on line 67 that file isn't needed.

   require_once(DIR_FS_CATALOG . DIR_WS_INCLUDES . 'library/fedex-common.php5');


I'm not really a dog.

Share this post


Link to post
Share on other sites

On a separate note, I have the full dimensional support using the packing clase used in upsxml working with fedexwebservices if anyone is interested in that. I ship a lot of oversize boxes but also the packing class packs items based on product dimensions instead of just weight.


I'm not really a dog.

Share this post


Link to post
Share on other sites

On a separate note, I have the full dimensional support using the packing clase used in upsxml working with fedexwebservices if anyone is interested in that. I ship a lot of oversize boxes but also the packing class packs items based on product dimensions instead of just weight.

John, I would be very interested. I sent you my email via pm. Thanks for your inputs!


-Dave

Share this post


Link to post
Share on other sites

Hi Dave,

 

I'll emal it to you later today or tonight but if you're not familiar with the upsxml module take a look at that because you'll need the packing class and the dimension support. So, your products will need height, width, and length as well as the ready to ship option. But, this way we send Fedex all the dimensions so dim weight comes out correct. I ship boxes that are 60x15x10 which drives the shipping up a lot.


I'm not really a dog.

Share this post


Link to post
Share on other sites

New version posted

http://addons.oscommerce.com/info/7977

 

v9.4.3.1 by Roaddoctor 10/24/2012

Changes since v9.4.3

- Fixed sort order nested function.

 

Updating 9.4.3 to 9.4.3.1: Replace /catalog/includes/modules/shipping/fedexwebservices.php with the attached file.

 

Not a full package.

Credit to John W.


-Dave

Share this post


Link to post
Share on other sites

This looks like a great module.

 

After reading the "Caution" statement in the install file, I wanted to check on a couple of things before I install or test so I don't lose the current API please.

 

Can the module offer only 1 shipping option on check out? For example, the customer would only see Priority OverNight service and no other FedEx options on check out.

 

Is it possible to pre-define a box size and weight? Assuming all orders are the same weight and box size, no matter what the customer adds to cart, does the module allow for the shipment to always be a standard weight and box size? Basically just need the rate for the customers zip with pre-defined values.

 

Thank you very much,

-jim

Share this post


Link to post
Share on other sites

This looks like a great module.

 

Can the module offer only 1 shipping option on check out? For example, the customer would only see Priority OverNight service and no other FedEx options on check out.

 

Yes

 

Is it possible to pre-define a box size and weight? Assuming all orders are the same weight and box size, no matter what the customer adds to cart, does the module allow for the shipment to always be a standard weight and box size? Basically just need the rate for the customers zip with pre-defined values.

 

Thank you very much,

-jim

 

confusing question - but this module will calculate based on the orders destination, weight, and per the stores configuration. This is not a flat rate shipping module. The module also recognizes UPSXML's "ready to ship" and the deprecated Fedex Real Time Quotes "products ship seperate" when calculating rates.


-Dave

Share this post


Link to post
Share on other sites

It might take a little time but I'm sure Roaddoctor and I will have this module fully working with full dimensional support like the upsxml where you can set items to be as "ready to ship box" that has dimensions you set and products with dimensions that pack into a list of boxes that you list. Here is an example array of package data where I have the first 2 boxes that are cases I sell and then the 3rd is 5 items packed into a box.

	    [RateRequestTypes] => LIST
	    [PackageCount] => 3
	    [PackageDetail] => INDIVIDUAL_PACKAGES
	    [RequestedPackageLineItems] => Array
		    (
			    [0] => Array
				    (
					    [Weight] => Array
						    (
							    [Value] => 7
							    [units] => LB
						    )
					    [Dimensions] => Array
						    (
							    [Length] => 58.0
							    [Width] => 15.0
							    [Height] => 8.0
							    [units] => IN
						    )
				    )
			    [1] => Array
				    (
					    [Weight] => Array
						    (
							    [Value] => 3
							    [units] => LB
						    )
					    [Dimensions] => Array
						    (
							    [Length] => 24.0
							    [Width] => 12.0
							    [Height] => 12.0
							    [units] => IN
						    )
				    )
			    [2] => Array
				    (
					    [Weight] => Array
						    (
							    [Value] => 6
							    [units] => LB
						    )
					    [Dimensions] => Array
						    (
							    [Length] => 31.0
							    [Width] => 15.0
							    [Height] => 7.0
							    [units] => IN
						    )
				    )
		    )
    )


I'm not really a dog.

Share this post


Link to post
Share on other sites

The response to this request is very long so I won't post it here but even for ground/home delivery the 58x15x8 box bills as dim weight at 42lbs where the other 2 boxes bill as actual weight. I sent Roaddoctor a rough copy to get a feel for this but I'm working on fixing all the E_NOTICE level errors such as undefined index and undefined variables for the associated files needed to run this. Anyone interested should get familiar with the upsxml modules dimensional support. When I first started using dim support in 2005 I modified the quick_updates file for the admin section so I could adjust height, width, length, and weight which I found made it easier to make product changes. That file also needs updating so, I'm working on that.


I'm not really a dog.

Share this post


Link to post
Share on other sites

Hello

I just tried to updagrade from 9.4.3 to 9.4.3.1. I no longer get the column after action in andmin/configuration.php. it seems the page stops loading assume its a php error. tried using the url to remove and install not working. is the best bet to reinstall fresh?

Share this post


Link to post
Share on other sites

Hello

I just tried to updagrade from 9.4.3 to 9.4.3.1. I no longer get the column after action in andmin/configuration.php. it seems the page stops loading assume its a php error. tried using the url to remove and install not working. is the best bet to reinstall fresh?

correction the page that is not loading correctly is admin/modules.php?set=shipping

Share this post


Link to post
Share on other sites

The change from 9.4.3 to 9.4.3.1 is just one change - and that change should not effect your shop in the way you describe.

I guess revert to 9.4.3 and see if that sorts it. If it does I will be dumbfounded.

 

you could try removing and re-enabling the module to see

or just re-upload and check your install....


-Dave

Share this post


Link to post
Share on other sites

You can increase your error output to E_NOTICE by removing the ~ in front of E_NOTICE and you can have it output to a specific error log you can access by adjusting your admin/includes/application_top

 error_reporting(E_ALL & E_NOTICE);
 ini_set('error_log', 'includes/admin_errors.log');

You should be able to see the cause of the error this way.

 

Like Roaddoctor said you should uninstall the module but check for MODULE_SHIPPING_FEDEX config keys in your database if you have phpmyadmin because you can get duplicate entries.


I'm not really a dog.

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

×