FedEx Shipping is a premium method that allows you to pull shipping rates via the FedEx API.
It requires your store to use US or Canadian Dollars as its currency and your server to have SOAP installed. Please contact your hosting provider for more information on SOAP installation on your server.
FedEx works with a base country of United States or Canada and can calculate quotes for domestic and international parcels. The extension primarily works with in (inches) and lbs (pounds), but other units can be converted automatically.
Installation ↑ Back to top
- Download the .zip file from your WooCommerce account.
- Go to: WordPress Admin > Plugins > Add New to upload the file you downloaded with Choose File.
- Install Now and Activate.
More information at:.
API & Debug
Go to: WooCommerce > Settings > Shipping > FedEx.
- Debug Mode – Choose whether to enable debugging, which is helpful for troubleshooting purposes.
- API Settings – Your API access details are obtained from the FedEx website. After signup, get a developer key. After testing, get a production key.
- FedEx Account Number * – Provided by FedEx after signup. More info at: Open a FedEx Account.
- Fedex Meter Number * – Provided by FedEx after signup. More info at: How Do I Get a FedEx Meter Number.
- Web Services Key * – Provided by FedEx after signup.
- Web Services Password * – Provided by FedEx after signup.
- Production Key * – Tick this box according to type of account (developer or production).
- FedEx LTL Freight – Settings for FedEx Freight rates. Tick the Enable Freight box to offer this option and fill out your full shipping address. Note: FedEx Freight rates only appear on the checkout page, as they require a recipient’s CITY.
Configuration ↑ Back to top
- Go to: WooCommerce > Settings > Shipping.
- Select your Shipping Zone that you want to add the method to, hover over the Zone name, and click the Edit link:
- Click the Add Shipping Method button:
- Select FedEx from the dropdown and press Add shipping method:
- Click on the new FedEx method shipping method title that appears in your zone to configure the settings:
- Method Title – Name the shipping method. This is visible to customers.
- Origin Postcode – Post/zip code from where you ship. Sent to the FedEx API.
- Method Availability – Leave set to All Countries to make it available for all customers; or select only the countries for which you want to get quotes.
- Parcel Packing Method – Choose to pack items individually or pack into boxes using weight/dimensions (see more below)
- Rates and Services – Control the services and rates you offer customers.
- Residential – Enables the residential flag. If your account has Address Validation enabled, this will be turned off/on automatically.
- Insurance – Tick the box to get rates and insurance. Untick if using Smart Post.
- FedEx One – Choose whether to enable FedEx One (flat) rates. More info at: FedEx One.
- Request Type – Choose Account (get rates for your account) or List (get standard FedEx rates).
- Fedex SmartPost Hub – If using Smart Post, define your ID. Ensure that ‘Enable Insurance’ in unticked.
- Offer Rates – Choose to return all rates (allowing user to select) or return a single rate anonymously.
- Services – Here you can rename and change the order of FedEx shipping rates, enable methods you wish to offer, and add price adjustments. More below.
* Required fields
Parcel Packing Method ↑ Back to top
There are two packing methods with FedEx, and each affects the parcels you send to the API.
Per-Item (Default: Pack items individually) ↑ Back to top
Each item in your cart (non-virtual) will be sent to the FedEx API. Quotes for all items will be combined to calculate final cost.
Pack into Boxes (Recommended: Pack into boxes with weights and dimensions) ↑ Back to top
Items will be packed into pre-defined boxes and sent to the API. We recommend this option. See Box Packing below for more information.
Box Packing ↑ Back to top
If you choose “Pack into boxes” as a parcel packing method, the area to set up box sizes will appear.
The box packer included with this shipping method lets you group items into packages for which you define height, width, length, weight and max-weight. The packing is mainly volume based, but also considers item size.
Setting up box sizes ↑ Back to top
- Under Parcel Packing Method, select ‘Recommended: Pack into boxes with weight and dimensions’ to set up the boxes specifications.
- Select ‘Add box’ to add your own.
Dimensions are used for parcel dimensions and passed to the API, and are also used for packing.
Box weight is the weight of the box itself and added to the weight of contents.
Max weight is the maximum weight your box can hold. This includes the weight of contents and the box.
Enabled can be turned on and off, depending on whether you want to use the box.
You’ll notice that boxes are pre-filled with FedEx standard boxes. You can disable if you want custom box sizes.
Rearrange Shipping Options ↑ Back to top
You can manually rearrange the order of FedEx services by selecting the icon:
And then drag the item to where you want it to display:
Save your settings.
This is what the customer sees on the front end:
How the calculation works ↑ Back to top
The box packer:
- Finds boxes that fit items being packed (uses H x W x D).
- Packs all items into boxes (using volume).
- Uses the largest box fitting 100% of items *or* uses the highest % packed box, and then passes unpacked items back (and repeats the process)
- Packs unpackable items alone, using item dimensions.
- Returns all packed boxes.
Handling Fees ↑ Back to top
To add handling fees to shipping calculations, you can use a Price Adjustment column in the Services section. Each FedEx service can be increased separately using the price adjustment columns in the row.
Use the Price Adjustment ($) column to add a flat amount to the shipping quote.
Use the Price Adjustment (%) to increase the shipping quote by a percentage. In this example, the 3-Day Select and Ground shipping methods will be increased by 1% of the quote returned from FedEx.
Customer Usage ↑ Back to top
Customers can get quotes based on the address entered from two places:
- Cart page – by using the shipping calculator
- Checkout page – by filling in shipping and billing forms
Troubleshooting ↑ Back to top
No rates returned/no rates available ↑ Back to top
- Enable debug mode to see debugging info on the cart page. This often reveals the problem.
- Check that products have sizes and weights set. Without this, the calculation cannot be performed.
- Go to: WooCommerce > Settings > General and check your store’s base country is the United States or Canada and the currency is set to US Dollars or Canadian Dollars, respectively.
- Confirm that the plugin is linked to FedEx API. It uses SoapClient.
I have enabled Smart Post, but no rates are being returned ↑ Back to top
For SmartPost rates to work, you:
- Need a FedEx account and meter number that supports SmartPost.
- Your package or item needs to weigh greater than 1 lb. Otherwise, the rate is invalid.
FedEx Ground is available when shipping from the US to Canada, and Fedex Ground International is not. ↑ Back to top
According to FedEx terms:
You can obtain rates for FedEx Ground shipments to destinations within the US and Canada. If you are in a FedEx discount program, contact your FedEx account executive for an exact rate quote.