FedEx Module Only Does Ground?

33 views
Skip to first unread message

one_ninety

unread,
Sep 17, 2008, 9:43:36 PM9/17/08
to Satchmo users
Hello,

Noob question: I installed the FedEx shipping module. It seems to work
ok as long as I only select GROUND (which is the default as well). If
I select any other method it never appears as an option during
checkout. There is no insight from my apps log file. Has anyone ran
into this issue? If not, anyone have any pointers on where I should be
looking?

I'm using Django 0.96, and Satchmo 0.7. The rest of the app appears to
behave nicely so far. :)

I've searched on this board and generally on google. Haven't found
anyone with the same issue, so I'm probably missing some key piece
that is staring me in the face.

Thanks much!

one_ninety

unread,
Sep 18, 2008, 1:08:38 AM9/18/08
to Satchmo users
Ok, I was wrong. Here are some error messages from my log file. On the
surface it looks like FedEx is thinking I'm supposed asking about
Ground only..

2008-09-17 23:33:18,068 fedex.shipper: DEBUG Starting fedex
calculations
2008-09-17 23:33:18,077 fedex.shipper: DEBUG Calculating fedex with
type=PRIORITYOVERNIGHT, packaging=YOURPACKAGING
2008-09-17 23:33:18,090 fedex.shipper: DEBUG Using single-box
method for fedex calculations.
dex calculations.
9,401 fedex.shipper: INFO Fedex Error: Ground Service Type must be
Ground Home Delivery or FedEx Ground - Code: F821
2008-09-17 23:33:19,401 fedex.shipper: DEBUG Fedex request: <?xml
version="1.0" encoding="UTF-8" ?>
<FDXRateRequest xmlns:api="http://www.fedex.com/fsmapi"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="FDXRateRequest.xsd"><RequestHeader><AccountNumber>431189240</
AccountNumber><MeterNumber>5448086</MeterNumber><CarrierCode>FDXG</
CarrierCode></RequestHeader><Service>PRIORITYOVERNIGHT</
Service><Packaging>YOURPACKAGING</Packaging><WeightUnits>LBS</
WeightUnits><Weight>38.2</
Weight><OriginAddress><StateOrProvinceCode>MD</
StateOrProvinceCode><PostalCode>21057</PostalCode><CountryCode>US</
CountryCode></
OriginAddress><DestinationAddress><StateOrProvinceCode>CA</
StateOrProvinceCode><PostalCode>95123</PostalCode><CountryCode>US</
CountryCode></DestinationAddress><Payment><PayorType>SENDER</
PayorType></Payment><DeclaredValue><Value>65.25</Value><!--<Value></
Value>--><CurrencyCode>USD</CurrencyCode></
DeclaredValue><PackageCount>1</PackageCount></FDXRateRequest>

2008-09-17 23:33:19,402 fedex.shipper: DEBUG Fedex response: <?xml
version="1.0" encoding="UTF-8"?><FDXRateReply xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="FDXRateReply.xsd"><ReplyHeader></
ReplyHeader><Error><Code>F821</Code><Message>Ground Service Type must
be Ground Home Delivery or FedEx Ground</Message></Error></
FDXRateReply>
2008-09-17 23:33:19,402 fedex.shipper: DEBUG Starting fedex
calculations
ng fedex calculations
0 fedex.shipper: DEBUG Calculating fedex with type=FEDEX2DAY,
packaging=YOURPACKAGING
2008-09-17 23:33:19,423 fedex.shipper: DEBUG Using single-box
method for fedex calculations.
2008-09-17 23:33:20,001 fedex.shipper: INFO Fedex Error: Ground
Service Type must be Ground Home Delivery or FedEx Ground - Code: F821
2008-09-17 23:33:20,002 fedex.shipper: DEBUG Fedex request: <?xml
version="1.0" encoding="UTF-8" ?>
<FDXRateRequest xmlns:api="http://www.fedex.com/fsmapi"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="FDXRateRequest.xsd"><RequestHeader><AccountNumber>431189240</
AccountNumber><MeterNumber>5448086</MeterNumber><CarrierCode>FDXG</
CarrierCode></RequestHeader><Service>FEDEX2DAY</
Service><Packaging>YOURPACKAGING</Packaging><WeightUnits>LBS</
WeightUnits><Weight>38.2</
Weight><OriginAddress><StateOrProvinceCode>MD</
StateOrProvinceCode><PostalCode>21057</PostalCode><CountryCode>US</
CountryCode></
OriginAddress><DestinationAddress><StateOrProvinceCode>CA</
StateOrProvinceCode><PostalCode>95123</PostalCode><CountryCode>US</
CountryCode></DestinationAddress><Payment><PayorType>SENDER</
PayorType></Payment><DeclaredValue><Value>65.25</Value><!--<Value></
Value>--><CurrencyCode>USD</CurrencyCode></
DeclaredValue><PackageCount>1</PackageCount></FDXRateRequest>

2008-09-17 23:33:20,002 fedex.shipper: DEBUG Fedex response: <?xml
version="1.0" encoding="UTF-8"?><FDXRateReply xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="FDXRateReply.xsd"><ReplyHeader></
ReplyHeader><Error><Code>F821</Code><Message>Ground Service Type must
be Ground Home Delivery or FedEx Ground</Message></Error></
FDXRateReply>
2008-09-17 23:33:20,002 fedex.shipper: DEBUG Starting fedex
calculations
2008-09-17 23:33:20,011 fedex.shipper: DEBUG Calculating fedex with
type=FEDEX2DAYFREIGHT, packaging=YOURPACKAGING
2008-09-17 23:33:20,027 fedex.shipper: DEBUG Using single-box
method for fedex calculations.
ethod for fedex calculations.
shipper: INFO Fedex Error: Ground Service Type must be Ground Home
Delivery or FedEx Ground - Code: F821
2008-09-17 23:33:20,602 fedex.shipper: DEBUG Fedex request: <?xml
version="1.0" encoding="UTF-8" ?>
<FDXRateRequest xmlns:api="http://www.fedex.com/fsmapi"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="FDXRateRequest.xsd"><RequestHeader><AccountNumber>431189240</
AccountNumber><MeterNumber>5448086</MeterNumber><CarrierCode>FDXG</
CarrierCode></RequestHeader><Service>FEDEX2DAYFREIGHT</
Service><Packaging>YOURPACKAGING</Packaging><WeightUnits>LBS</
WeightUnits><Weight>38.2</
Weight><OriginAddress><StateOrProvinceCode>MD</
StateOrProvinceCode><PostalCode>21057</PostalCode><CountryCode>US</
CountryCode></
OriginAddress><DestinationAddress><StateOrProvinceCode>CA</
StateOrProvinceCode><PostalCode>95123</PostalCode><CountryCode>US</
CountryCode></DestinationAddress><Payment><PayorType>SENDER</
PayorType></Payment><DeclaredValue><Value>65.25</Value><!--<Value></
Value>--><CurrencyCode>USD</CurrencyCode></
DeclaredValue><PackageCount>1</PackageCount></FDXRateRequest>

Beau Haugh

unread,
Sep 18, 2008, 1:06:53 PM9/18/08
to Satchmo users
I'm having the same problem. From what I can tell, it's because the
API that the FedEx module is hitting is an older version. I looked at
the docs at FedEx's developer site, and they are pushing an entirely
different SOAP web service thing, not the XML-RPC-style thing the
Satchmo FedEx module is using.

Furthermore, it seems that the XML packet that shipper.py creates is
hard-coded to use only Ground shipping: see the section...
"<CarrierCode>FDXG</CarrierCode>"
..."FDXG" is code for "Ground." You can change it to "FDXE" for
"Express" (non-Ground), but the XML response is different from what
shipper.py expects. The fact that these old XML schema are
undocumented--at least I can't find them--makes it that much harder to
implement, and I don't relish gutting the module to use the new SOAP
API.

I need to implement a working FedEx implementation--both Ground and
Express--for my own project, but it's taken a lower priority while I
get everything else in place.

one_ninety

unread,
Sep 18, 2008, 1:25:22 PM9/18/08
to Satchmo users
Sorry haven't been writing updates on my findings fast enough.
I found the hard-coded FDXG parameter (for the carrier) in
request.xml. You can change the parameter to FDXE for express, but
yeah, you can't do both without modification. I _think_ they require
you to keep track of which carrier supplies which service, seems silly
to me but whatever.

So to test, I have currently set the hard-coded carrier param in
request.xml to FDXE. However now it's complaining that my account
number isn't correct (even though it works for FDXG (carrier==ground).
Strange. I'll post more as I know more.

Chris Moffitt

unread,
Sep 18, 2008, 1:52:14 PM9/18/08
to satchm...@googlegroups.com
It would be easy enough to use the settings to configure ground vs. air. I am pretty sure the UPS module does something similar.

-Chris

one_ninety

unread,
Sep 18, 2008, 3:37:02 PM9/18/08
to Satchmo users
Agreed. That's my plan, I just want to be sure I'm not doing something
stupid before I make a move! :)

On Sep 18, 10:52 am, "Chris Moffitt" <ch...@moffitts.net> wrote:
> It would be easy enough to use the settings to configure ground vs. air. I
> am pretty sure the UPS module does something similar.
>
> -Chris
>

one_ninety

unread,
Sep 19, 2008, 11:32:40 AM9/19/08
to Satchmo users
Welcome to 2008.
My client only wants to offer ground shipping because it's
environmentally safer.
So for now, I'm off the hook. I was looking forward to fixing this
though, so if I get some time...

Bruce Kroeze

unread,
Sep 20, 2008, 12:43:12 AM9/20/08
to satchm...@googlegroups.com
On Fri, Sep 19, 2008 at 8:32 AM, one_ninety <nick.c...@gmail.com> wrote:

Welcome to 2008.
My client only wants to offer ground shipping because it's
environmentally safer.
So for now, I'm off the hook. I was looking forward to fixing this
though, so if I get some time...

The way I worked around this was by just overriding the XML template in my site templates, and directly specifying next-day rather than ground.

Yes, it should be a setting, but that module needs a lot of cleanup anyway, I didn't want to poke it until I was ready to refactor the whole thing.
Reply all
Reply to author
Forward
0 new messages