FedEX Shipping does not work for some countries

  • Posts: 99
  • Thank you received: 5
10 years 2 months ago #170046

-- HikaShop version -- : HikaShop Business: 2.3.2
-- Joomla version -- : Joomla! 2.5.22
-- PHP version -- : 5.3.28
-- Browser(s) name and version -- : all
-- Error-message(debug-mod must be tuned on) -- : None

Hello,
We have a store that sells products internationally.
It has 2 shipping methods:

  • PUROLATOR - for Canada
  • FedEX for everywhere else

All works EXCEPT for FedEX shipping to Mexico and a few other countries.
Message from HIKASHOP - "NO SHIPPING METHOD FOUND" when some countries are the shipping to address.

The thing is - if I go to FedEX WWW I can get those shipping rates with the exact same addresses.

Where may I give you access details for out site?

Please ADVISE

Please Log in or Create an account to join the conversation.

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
10 years 2 months ago #170048

Hi,

The plugin does not have any country restriction.
The plugin call the Fedex API in order to get the possibilities and the rates (the prices).

If you did not activate some special fedex methods, it might be possible that some countries are not available.
After that, it is possible that the website will give you some information and the API another ; it will be weird, but possible.
What I will recommend you is to see directly with Fedex ; the plugin can't be the source of your troubles, it's just a bridge with the Fedex API.

Regards,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 99
  • Thank you received: 5
10 years 1 month ago #175882

Hello,

We have done some digging and here is what we found:

Hikashop error message reads: " SHIPPING METHOD NOT FOUND" It was working before we updated some time ago but now it often - ALMOST ALWAYS does not work.

We hired a programmer to debug what is going on here - his findings are below.

He turned on logging in the code for the FedEX Shipping plugin.

FEDEX returns a message that reads:

<SOAP-ENV:Envelope xmlns:SOAP-ENV=" schemas.xmlsoap.org/soap/envelope/ "><SOAP-ENV:Header/><SOAP-ENV:Body><RateReply xmlns=" fedex.com/ws/rate/v10 "><HighestSeverity>ERROR</HighestSeverity><Notifications><Severity>ERROR</Severity><Source>crs</Source><Code>840</Code><Message>The length of the destination state or province exceeds the limit of 2 characters. </Message><LocalizedMessage>The length of the destination state or province exceeds the limit of 2 characters. </LocalizedMessage></Notifications><TransactionDetail><CustomerTransactionId> *** Rate Request v10 using PHP ***</CustomerTransactionId></TransactionDetail><Version><ServiceId>crs</ServiceId><Major>10</Major><Intermediate>0</Intermediate><Minor>0</Minor></Version></RateReply></SOAP-ENV:Body></SOAP-ENV:Envelope>

It seems that there is an issue with 2 vs 3 characters for STATE OR PROVINCE Code.

Also, apparently the file: fedex.php on line is 782 sends 3 character code when FEDEX wants 2

ORIGINAL CODE:
'StateOrProvinceCode' => $data->address_state->zone_code_3,

SHOULD BE?:
'StateOrProvinceCode' => $data->address_state->zone_code_2,


Additionally the db table apparently does not have all the 2 character codes and needs to be completed.

Please advise asap.

Last edit: 10 years 1 month ago by byoguru.

Please Log in or Create an account to join the conversation.

  • Posts: 12953
  • Thank you received: 1778
10 years 1 month ago #175947

Hello,
Thanks for your feedback :
1. I just checked the FedEx developer documentation and they don't seem to restrict the "StateOpProvinceCode" to a 2 characters code :

<v15:StateOrProvinceCode>XXX</v15:StateOrProvinceCode>

2. Note that through the USA and Canada sub-zones, you won't have any zone which have more than 2 characters on the "Code 3 letters" or "$data->address_state->zone_code_3" variable, so if you have set an USA/Canadian shipping address, the zone code won't be longer than 2 characters.

Please Log in or Create an account to join the conversation.

  • Posts: 99
  • Thank you received: 5
10 years 1 month ago #176007

Hello Mohamed,
Thanks for your feedback.

We are not concerned about shipping to the USA or CANADA. We care very much about shipping to everywhere else in the world.

The error message from FEDEX back to hikashop plugin specifically states there is a problem. So they say it is the plugin and you suggest it is not?

What are we supposed to do?

Please advise.

Thanks

Please Log in or Create an account to join the conversation.

  • Posts: 99
  • Thank you received: 5
10 years 1 month ago #176093

Hello - is it possible to please get some assistance with issues with FEDEX plugin and possible problems with the hikashop tables for countries / states /provinces

Please Log in or Create an account to join the conversation.

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
10 years 1 month ago #176204

Hi,

As you might see, the "Fedex" plugin has not been developed by the HikaShop team but by : "Rich S Wyatt - D3 Web Creations".
The author gave us the plugin and the right to include it into HikaShop.
Because the plugin had some troubles, "Obsidev" made some modifications in order to fix the different issues before the first release.
Now, the HikaShop team is maintaining the plugin for the compatibility with HikaShop.

If Fedex is asking for codes with 2 characters, you have to give him codes with 2 characters.
You will see that in the HikaShop database, the states have mostly codes in the "zone_code_3" even if the code is in 2 characters. Most of states does not have any value in the "zone_code_2" ; so it's difficult for the plugin to work with that.
You can edit the plugin and replace

$state_zone=@$rate->shipping_params->sender_state;
$query="SELECT zone_id, zone_code_3 FROM ".hikashop_table('zone')." WHERE zone_namekey IN ('".$state_zone."')";
$db->setQuery($query);
$state = $db->loadObject();
$data['sender_state']=$state->zone_code_3;
By
$state_zone=@$rate->shipping_params->sender_state;
$query="SELECT zone_id, zone_code_2, zone_code_3 FROM ".hikashop_table('zone')." WHERE zone_namekey IN ('".$state_zone."')";
$db->setQuery($query);
$state = $db->loadObject();
$data['sender_state'] = empty($state->zone_code_2) ? $state->zone_code_3 : $state->zone_code_2;
in order to load the "zone_code_2" when possible but if in the database there is no 2 characters code at all, HikaShop and the fedex plugins won't be able to create them.
At this moment you will need to fill your zone database with the correct codes.
www.hikashop.com/support/documentation/i...ashop-zone-form.html

Regards,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 99
  • Thank you received: 5
10 years 1 month ago #176260

Thank you.

Please Log in or Create an account to join the conversation.

Time to create page: 0.091 seconds
Powered by Kunena Forum