npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@igorppbr/medusa-v2-fedex-fulfillment

v1.0.4

Published

FedEx integration for Medusa V2

Readme

Introduction

The FedEx Fulfillment Integration allows you to seamlessly connect your Medusa store with FedEx's shipping and fulfillment services. This integration enables you to manage shipments, track packages, and streamline your order fulfillment process.

With this plugin, you can integrate your Medusa store with FedEx to:

  • Retrieve real-time shipping rates from FedEx during checkout.
  • Create shipments and generate shipping labels with FedEx automatically when creating order shipments.
  • Streamline your fulfillment workflow by managing FedEx shipments directly from your Medusa admin or backend.

This ensures accurate shipping costs for your customers and simplifies the process of fulfilling and tracking orders using FedEx services.

Compatibility

This module/plugin is compatible with versions >= 2.4.0 of @medusajs/medusa.

Getting Started

To get started with the FedEx Fulfillment Integration, follow these steps:

  1. Create a FedEx Account
  • Go to the FedEx website and sign up for a merchant account.
  • You can use a production or a sandbox account for testing purposes.
  1. Register as a Developer
  • Visit the FedEx Developer Portal.
  • Log in with your FedEx account and register as a developer if you haven't already.
  1. Create an Application
  • In the Developer Portal, create a new application.
  • Choose the APIs you want to use (e.g., Shipping, Tracking, etc.).
  1. Generate API Keys
  • After creating your application, generate your API credentials:
    • Client ID
    • Client Secret
    • Account Number
  • For sandbox testing, use the sandbox credentials provided.
  • Important: Save these credentials securely. You will need to use them later in your Medusa configuration.
  1. Configure the Plugin
  • Add your FedEx API credentials to your Medusa configuration as described in the plugin documentation.
  1. Test the Integration
  • Use your sandbox credentials to test the integration before switching to production.

For more details, refer to the FedEx API Documentation.

Installation

To install the FedEx Fulfillment Integration, follow these steps:

  1. Install the package
npm install @igorppbr/medusa-v2-fedex-fulfillment
  1. Add the module and plugin to your medusa-config.ts
modules: [
  {
   resolve: "@medusajs/medusa/fulfillment",
   options: {
    providers: [
      {
       resolve: "@igorppbr/medusa-v2-fedex-fulfillment/providers/fedex",
       id: "fedex",
       options: {
        isEnabled: true, // Enable or disable integration
        clientId: "clientId", // FedEx Client ID
        clientSecret: "clientSecret", // FedEx Client Secret
        accountNumber: "accountNumber", // FedEx Account Number
        isSandbox: true, // Enable sandbox mode for testing
        enableLogs: true, // Enable logging
        weightUnitOfMeasure: "LB" // Weight unit of measure
       },
      },
    ],
   },
  },
],
plugins: [
  {
   resolve: "@igorppbr/medusa-v2-fedex-fulfillment", // This is used to enable custom admin widgets to see the tracking URLs and labels
   options: {},
  }
]

⚠️ Alternative:
Alternatively, you can set up your FedEx API credentials directly in the Medusa Admin dashboard instead of the medusa-config.ts file.
Go to the Settings page in your Medusa Admin, and you will see FedEx listed in the menu.
From there, you can enter your Client ID, Client Secret, and Account Number securely via the UI.

How credentials are used:
The module will first check for credentials stored in the database (set via the Admin UI). If these exist, they will be used for all FedEx API requests.
If no credentials are found in the database, the module will fall back to the credentials provided in your medusa-config.ts file.

⚠️ WARNING:
The FedEx sandbox environment is frequently unavailable or down. If you encounter issues during testing, this is likely the cause.
Check your logs for error messages indicating that the FedEx service is unavailable. For production use, ensure you switch to your production credentials and disable sandbox mode.

Configuration

Configuring FedEx Shipping Options

After installing the integration, you need to configure the FedEx shipping options in your Medusa Admin dashboard.

1. Enable Desired Shipping Options

Decide which FedEx shipping services you want to offer to your customers.

2. Add a Calculated Shipping Option

  • Go to Locations & Shipping in the Medusa Admin dashboard.
  • Create a new shipping option and set the type to Calculated. This ensures shipping costs are retrieved directly from the FedEx API.

3. Select FedEx as Fulfillment Provider

  • In the shipping option settings, set Fulfillment Provider to FedEx.
  • Under Fulfillment Option, select the specific FedEx service you want to make available (e.g., FedEx Ground, FedEx Express).

Example

Tip: You can create multiple shipping options for different FedEx services to give your customers more choices at checkout.

Generating Shipping Labels & Tracking

When you create a shipment for an order in Medusa, the integration will automatically generate a FedEx shipping label and tracking number.

  • The label cost is charged to your FedEx account.
  • Shipping labels, tracking codes, and other relevant information are available in the Medusa Admin dashboard on the order view page.
  • You can download the label PDF and access the tracking URL directly from the order details.

Contributing

We welcome contributions to the FedEx Fulfillment Integration! If you have suggestions, improvements, or bug fixes, please follow these steps:

  1. Fork the Repository
    Create a personal copy of the repository by forking it on GitHub.

  2. Create a New Branch
    Create a new branch for your changes:

    git checkout -b my-feature-branch
  3. Make Your Changes
    Implement your changes in the codebase.

  4. Test Your Changes
    Ensure that your changes work as expected and do not break existing functionality.

  5. Submit a Pull Request
    Push your changes to your forked repository and submit a pull request to the main repository.

Support / Contact

If you need help or have questions about the FedEx Fulfillment Integration, please reach out to us: