Jump to content


  • Content count

  • Joined

  • Last visited

Profile Information

  • Real Name
  • Gender
  • Location
    US - Midwest
  1. bubbastien

    FedEx - Web Services v9

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

    FedEx - Web Services v9

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

    FedEx - Web Services v9

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

    FedEx - Web Services v9

    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