Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

FedEx - Web Services v9


greasemonkey

Recommended Posts

This error is returned when when the state or province code is longer than 2 characters

----

Error in processing transaction.

 

ERROR

crs

840

The length of the destination state or province exceeds the limit of 2 characters.

The length of the destination state or province exceeds the limit of 2 characters.

----

 

Which is very annoying if you ship to Europe, as we do. If you actually go to your fedex rate quote web page you'll see that the state/province isn't even required for a rate quote to a European address. So, if you don't like the idea of going into oscommerce and changing all the zone codes to be 2 characters, this is the best hack I can come up with. The following hack seems to solve the problem without messing up shipping quotes to areas with 2 character state/province codes and maintains correct addresses for the invoices.

 

 

This goes in --> /includes/modules/shipping/fedexwebservices.php, navigate down to around line 110 and find this block of code:

 

// customer details	  
$street_address = $order->delivery['street_address'];
$street_address2 = $order->delivery['suburb'];
$city = $order->delivery['city'];
$state = tep_get_zone_code($order->delivery['country']['id'], $order->delivery['zone_id'], '');
if ($state == "QC") $state = "PQ";
$postcode = str_replace(array(' ', '-'), '', $order->delivery['postcode']);
$country_id = $order->delivery['country']['iso_code_2'];

 

I inserted this comment and code after -> if ($state == "QC") $state = "PQ";

 

// Fix for long province codes
$state = substr($state, 0, 2);

 

But it would also work right at the end of the code block above, it just needs to be done somewhere after "if ($state == "QC").." and before "$request['RequestedShipment']['Recipient']..." is defined in the next code block.

 

All this does is shorten the state/province code to be the first 2 characters of the code before the rate request is created, so SXE becomes SX and the rate request is processed without generating an error. So long as there is a post code and a street address I think it should function properly.

 

I make no guarantees...

Your mileage may vary wink.png

Link to comment
Share on other sites

I'm actually receiving this same error and I did obtain the production information:

 

MODULE_SHIPPING_FEDEX_WEB_SERVICES_TEXT_TITLE
MODULE_SHIPPING_FEDEX_WEB_SERVICES_TEXT_TITLE
Error in processing transaction.

ERROR
prof
1000
Authentication Failed

Edited by MrE03
Link to comment
Share on other sites

  • 2 weeks later...

I would like to install this contribution in my store to replace my existing FedEx API. However - I have some questions:

 

(1) There doesn't appear to be any text doc for the install - am I missing something?

(2) Does this contrib print labels?

(3) What are the serverside requirements? PHP5?

 

Thanks to all who have labored to get a replacement for the API!

 

John

John Skurka

Link to comment
Share on other sites

I don't get it, I read everything here and did everything right. My host installed php5 and the soap test worked. My cart works except I can't find a Fedex module that works, Thought this was it, spent 1/2 hour on the phone with fedex to get the key, pass, meter #, and so on, then put it all in the module and get this:

FedEx shipping_fedex.gif Error in processing transaction.

 

WARNING

crs

556

There are no valid services available.

There are no valid services available.

 

 

can anyone help on this?

Link to comment
Share on other sites

Bryan G: If I had been back here sooner I would have replied. It looks like it was actually working correctly, it just had some bad data. It looks like you were trying to get a quote with a bad address, a bad zip code will cause that error, so will invalid characters in the address for the store or customer, you have to make sure testing addresses are actually valid.

 

I don't think it's lack of available services, it usually just quietly does nothing if there is no shipping option for the delivery address, even when no shipping methods are enabled.

Edited by bubbastien
Link to comment
Share on other sites

John: There are no docs, other than this thread, that I'm aware of, you should read through it before you decide to install the module. The install is pretty simple though, just extract the zip file and put the files in the same directory on the server that they are in on your local machine. Then just go to the admin area and install the shipping module. Fedex is phasing out the old api and gateway, so you'll need to update your account with fedex if you haven't already. Once the module is installed you should be able to put in your account info and select the shipping options you want to offer.

 

You need php 5 and php soap support, there is a php file in the package that tests your server for soap support.

 

It doesn't print labels, there are some older contributions that do, but I doubt they will still work with the new fedex web services api.

Link to comment
Share on other sites

John: There are no docs, other than this thread, that I'm aware of, you should read through it before you decide to install the module. The install is pretty simple though, just extract the zip file and put the files in the same directory on the server that they are in on your local machine. Then just go to the admin area and install the shipping module. Fedex is phasing out the old api and gateway, so you'll need to update your account with fedex if you haven't already. Once the module is installed you should be able to put in your account info and select the shipping options you want to offer.

So it truly is a module that can be turned on/off in admin, which allows for existing FedEx module to work as well, right along side (while bugs are being worked out)?

 

You need php 5 and php soap support, there is a php file in the package that tests your server for soap support.

I see this as an issue - my host is not keen on PHP5 due to security issues.

 

It doesn't print labels, there are some older contributions that do, but I doubt they will still work with the new fedex web services api.

So, all this contrib does is get shipping quotes based on the customer's addy?

John Skurka

Link to comment
Share on other sites

John: Yes it's a regular shipping module that you can enable and disable and just gives live fedex rate quotes. I suppose you could use it along side of the one that is already installed, although I have never done that with this module and other fedex modules.

 

I've done that in the past with flat rate modules for various shippers all created from the same script. You have to create the copies with a different file name, obviously, and you would have to make sure that the defined constants don't clash, or you will get errors about trying to redefine constants when you enable them.

 

Basically that means you have to find instances like:

@define('MODULE_SHIPPING_FEDEX_WEB_SERVICES_INSURE', 0);

 

In the shipping module and language file and make sure that they are unique or change them to something like:

@define('MODULE_SHIPPING_FEDEX_WEB_SERVICES_2_INSURE', 0);

 

As far as php goes, each successive version has been more stable and more secure, so if your hosting provider is balking at the upgrade to a newer version, security isn't the real problem. PHP can be as secure or insecure as it is set up to be on the host, it's all about default configuration on the server side and what options you're allowed to have control over as a user.

Link to comment
Share on other sites

It is great to see that someone has finally put together a module for Web Services. My Rep has been on my rear for months. I have been using the Fedex Automated labels mod for years. Is anyone else using this and has anyone heard of a web services version that will print labels. From what I can find all that is out there currency are shipping cost calculators. If this is too far off topic I am sorry but I figured this thread would be my best bet for finding others in a situation similar to myself.

 

Thanks!

Link to comment
Share on other sites

I'm getting the following error when trying to print the fedex label,

 

Warning: fopen(/xampp/htdocs/usamilitarymedals/admin/images/fedex/post.txt) [function.fopen]: failed to open stream: No such file or directory in C:\xampp\htdocs\usamilitarymedals\admin\includes\fedexdc.php on line 309

 

Warning: fwrite() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\usamilitarymedals\admin\includes\fedexdc.php on line 310

This transaction could not be completed. Please note the error message below.

 

I am confused as to how the post.txt file is created. There isn't a file I am missing is there?

Link to comment
Share on other sites

It is great to see that someone has finally put together a module for Web Services. My Rep has been on my rear for months. I have been using the Fedex Automated labels mod for years. Is anyone else using this and has anyone heard of a web services version that will print labels.

 

Yes - I'm using the FedEx Automated Labels. I use that contrib every day to ship orders. Gonna suck if it no longer works with WebServices...

John Skurka

Link to comment
Share on other sites

I have installed this module and it seems to work..on the surface. There doesn't seem to be an option for weight and/or dimensions. Therefore, the rate I'm getting is incorrect. How do I get this to include this info?

Link to comment
Share on other sites

I have the module installed in version 2.3 of oscommerce. On the surface it seems to be working. However, the rates are not correct based on the account Also, it doesn't pass the correct package count to fedex web services. The shopping cart shows the correct number of items but the shipping module isn't picking up the correct number.

Link to comment
Share on other sites

Hi,

 

if a customer use special characters in his address , he gets this error when he want to the shipping page:

Fatal error: Uncaught SoapFault exception: [Client] SOAP-ERROR: Encoding: string 'pok\xf3...' is not a valid utf-8 string in /home/bram/public_html/catalog/includes/modules/shipping/fedexwebservices.php:184 Stack trace: #0 /home/bram/public_html/catalog/includes/modules/shipping/fedexwebservices.php(184): SoapClient->__call('getRates', Array) #1 /home/bram/public_html/catalog/includes/modules/shipping/fedexwebservices.php(184): SoapClient->getRates(Array) #2 /home/bram/public_html/catalog/includes/classes/shipping.php(124): fedexwebservices->quote('') #3 /home/bram/public_html/catalog/checkout_shipping.php(192): shipping->quote() #4 {main} thrown in /home/bram/public_html/catalog/includes/modules/shipping/fedexwebservices.php on line 184

 

anybody can help me?

Thanks in advance.

 

Bram

Link to comment
Share on other sites

  • 2 weeks later...

Can anyone help me ????

I am using non soap (HTTP POST method) code to get rate (for shipping) from fedex. But could not get the output from fedex.

Do I have to configure the new certificate file to my Xaamp.As I came to know from fedex.com(https://www.fedex.com/wpor/web/jsp/drclinks.jsp?links=wss/index.html)

that SSl certificate has been updated.

Link to comment
Share on other sites

Hi Guys. Thank you for this great contribution.

 

It works very well in general. However, if you include any accented character in the shipping address, é è ñ á ó for exemple, it triggers a 500 Server error.

Many foreign addresses include accented characters and it is impossible for the foreign customer to get a shipping quote. Am I an isolated case or is this a know issue?

 

Thank you.

Link to comment
Share on other sites

 

It works very well in general. However, if you include any accented character in the shipping address, é è ñ á ó for exemple, it triggers a 500 Server error.

Many foreign addresses include accented characters and it is impossible for the foreign customer to get a shipping quote. Am I an isolated case or is this a know issue?

 

I just ran into the same issue with a customer from Brazil used an é in his shipping address and instead of a 500 error the shipping page just came up blank.

We either need a fix for this, or a filter to replace accented characters.

 

Also I have not had a chance to work on it, but I think we would also need to consider the Ship Seperatley addon from the original FedEx Real Time Quotes.

http://addons.oscommerce.com/info/1462 update V2.06 26 Nov 2006.

We ship a lot of bulky packages and this addon has really saved our butts with shipping calculations.

If you choose not to decide you still have made a choice, I will choose a purpose clear, I will choose Free Will. --Neal Peart - Rush

Link to comment
Share on other sites

  • 2 weeks later...

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...