FedEx credentials are one of the easiest places to break a WooCommerce shipping setup. Store owners see a test tab, a production tab, an account number, a key, a secret, old SOAP terms, new REST terms, and then a checkout page that gives them no useful clue about which part is wrong.
This guide explains what belongs where and how to switch a WooCommerce FedEx setup from “we are still configuring this” to “customers can safely see FedEx rates.”
The important split
FedEx API integrations use developer projects and credentials. Current FedEx authorization documentation describes a project API key, a project API secret, and an OAuth access token that is used by API transactions. WooCommerce hides most of that plumbing from the store owner, but the extension still needs the right project credentials and the right FedEx shipping account.
For the official WooCommerce FedEx Shipping Method extension, WooCommerce’s documentation currently points store owners to production keys and warns that the old test-key path is not working with the extension while FedEx’s newer sandbox work is being implemented. That means the practical store-owner flow is different from many older tutorials still floating around online.
What each credential means
- FedEx account number: The shipping account that receives rates and eventually billing activity.
- Project API key: The client identifier for the FedEx Developer project.
- Project API secret: The secret value paired with the project key.
- Production key setting: The WooCommerce switch that tells the extension the credentials are production credentials.
- OAuth token: The short-lived authorization token the integration receives behind the scenes after authenticating.
Why test keys confuse store owners
In a perfect lab, every shipping plugin would have a clean sandbox that mirrors production. In the current WooCommerce FedEx extension flow, that is not the reliable assumption to make. WooCommerce’s FedEx docs call out that the prior FedEx testing API was discontinued and that test keys are not currently useful with the extension.
So the mistake is not only “wrong key.” The mistake is building a launch plan around a test mode that your exact extension does not support the way an old blog post said it did.
Production switch checklist
- Back up the WordPress site and database.
- Update WordPress, WooCommerce, and the FedEx extension during a maintenance window.
- Confirm the store currency and ship-from country are supported by the extension.
- Create or open the FedEx Developer project for the store.
- Use the production key tab in the FedEx project when WooCommerce requires production credentials.
- Associate the correct FedEx shipping account with the project.
- Copy the API key and secret into a password manager before leaving the credential screen.
- Paste the key, secret, and account number into WooCommerce.
- Enable the production key setting in WooCommerce if the extension exposes it.
- Save settings, clear cache, and check the authorization status.
Do not mix environments
Do not use a production API key with a test account number. Do not use a test key while WooCommerce is set to production. Do not copy credentials from a different FedEx organization because “it worked on the old site.” Each part should refer to the same business, same shipping account, same FedEx project, and same environment.
If a developer is helping, create a named FedEx project for the store instead of pasting personal credentials into a ticket. A store owner should be able to rotate the key later without losing access to the whole FedEx account.
Hostnames and environment notes
FedEx’s published API best-practices guide separates test and production API URIs. The production FedEx API hostname is apis.fedex.com; the sandbox hostname is apis-sandbox.fedex.com. If a host, WAF, or managed WordPress platform blocks outbound HTTPS from PHP, the plugin may fail even though the same site loads fine in a browser.
For a support ticket, include the environment you are actually using: “production WooCommerce FedEx Shipping Method calling FedEx production APIs” is much clearer than “FedEx keys do not work.” If you are using a plugin that proxies registration through its own service, include that vendor’s documentation link too.
Legacy SOAP warning
Older FedEx integrations often mention SOAP, meter numbers, web services keys, and web services passwords. WooCommerce’s current FedEx docs describe REST as the recommended API path and note that new FedEx SOAP signups are not available. FedEx’s developer guides also flag Web Services retirement and REST migration guidance. If your store still depends on an old SOAP-only plugin, this is the time to plan a replacement.
Safe live test
- Create a simple product with real weight and dimensions.
- Use a real destination address inside a zone where FedEx is enabled.
- Test a cart with one item first.
- Compare the service names and rate range against the FedEx account portal or a known manual quote.
- Place a low-risk order only if the payment gateway and shipping workflow are ready.
- Document the exact service, package size, weight, origin, destination, and timestamp.
If authorization fails
- Regenerate the production secret if the original secret was not saved.
- Confirm the account number is the 9-digit shipping account number expected by the extension.
- Confirm the account is attached to the FedEx Developer project.
- Confirm the store is not behind a host or security layer blocking outbound HTTPS to FedEx API hosts.
- Check WooCommerce logs before changing more settings.
The fix is usually boring and specific. That is good. Boring fixes are repeatable. Random toggles are where store owners lose the afternoon.
More WooCommerce FedEx troubleshooting
- WooCommerce FedEx Shipping Setup Checklist
- WooCommerce FedEx Test Keys vs Live Keys
- WooCommerce FedEx on GoDaddy Managed WordPress
- WooCommerce FedEx Rates Not Showing at Checkout
- WooCommerce FedEx Rates Do Not Match the Invoice
- WooCommerce FedEx Labels and Tracking
- WooCommerce FedEx Test Label Creation Checklist
Related Fix I.T. Phill guides
- How to Install WooCommerce on a New WordPress Site
- How to Add an Online Store to WordPress with WooCommerce
- How to Back Up WooCommerce Without Losing Orders
- How to Restore WooCommerce Without Losing Orders
- How to Optimize WooCommerce Speed Without Breaking Checkout
Sources checked
- WooCommerce FedEx Shipping Method documentation
- WooCommerce shipping zones documentation
- FedEx Developer Portal getting started guide
- FedEx API Authorization documentation
- FedEx API guides and migration notes
- FedEx API integration best practices and API URI notes
- FedEx Ship API documentation
- FedEx Rates and Transit Times API documentation
- FedEx Basic Integrated Visibility tracking API documentation
- FedEx guide to creating and managing shipping labels
- GoDaddy Managed Hosting for WordPress overview
- GoDaddy Managed Hosting for WordPress SSH documentation
- GoDaddy Managed WordPress blocklisted plugins documentation
- PluginHive WooCommerce FedEx setup guide
- PluginHive WooCommerce FedEx activation and test label FAQ
- PluginHive WooCommerce FedEx API integration FAQ


