FedEx Addon for Multivendor Dropship
- Community
- Real-time FedEx REST API shipping rates
- Calculates shipping separately from each vendor’s origin
- Combines multiple vendor shipping rates into one checkout method
- Supports configurable FedEx services, negotiated rates, and vendor-specific methods
- Includes secure rate caching, debug mode, and detailed logging
The Problem
- ✖ Standard shipping methods calculate the entire cart from a single origin
- ✖ Products fulfilled by different vendors may require separate FedEx shipments
- ✖ Using one shipping origin can produce inaccurate rates and reduce profit margins
- ✖ Manually calculating and combining vendor shipping charges is inefficient
The Solution
The Toweringmedia FedEx Multi-Vendor Shipping Extension groups Magento cart products by vendor and calculates FedEx shipping separately from each vendor’s configured origin. It retrieves real-time rates through the FedEx REST API, filters the available services using the carrier and vendor configurations, and combines the individual vendor charges into one clear shipping option at checkout.
How It works
tm_vendor_id and prepares a separate FedEx rate request from each vendor’s shipping origin.See It In Action
Magento 2 FedEx Multi-Vendor Shipping
Calculate FedEx Shipping from Multiple Vendor Origins in One Checkout
The Toweringmedia FedEx Multi-Vendor Shipping Extension for Magento 2 calculates FedEx shipping rates separately for products supplied by different vendors. Cart items are grouped by vendor, each group is rated from its corresponding shipping origin, and the resulting vendor charges are combined into a single shipping option for the customer.
The extension uses the FedEx REST API to retrieve real-time shipping rates and supports configurable FedEx services, package dimensions, negotiated or retail rates, secure rate caching, vendor-level method filtering, and detailed debug logging.
Multi-Vendor Rate Calculation
Calculate Shipping Accurately for Products Fulfilled by Different Vendors
A standard shipping calculation normally treats the cart as one shipment from one
location. That approach can produce inaccurate charges when products are fulfilled
by several vendors. This extension groups products using their assigned
tm_vendor_id value and processes each vendor group independently.
For every vendor group, the extension uses the applicable vendor origin, selected FedEx services, package information, and destination address to request rates. The individual vendor charges are then added together and presented as one customer-friendly shipping method during checkout.
- ✓ Groups cart items according to their assigned vendor
- ✓ Uses a separate shipping origin for each vendor
- ✓ Requests FedEx rates for each vendor shipment
- ✓ Combines vendor charges into one checkout rate
- ✓ Works with vendor assignments from Toweringmedia Multi-Vendor Dropship
FedEx REST API Integration
Offer Real-Time FedEx Services and Pricing
The extension connects to the FedEx REST API using OAuth client credentials. It reuses the credentials and shared API settings configured in FedEx REST API (Toweringmedia) Standalone, keeping sensitive connection details in one central configuration.
Store administrators can select which FedEx services should be available. Returned services are filtered against both the carrier-level allowed-method setting and each vendor's configured FedEx service list. Administrators can also choose ACCOUNT rates for negotiated pricing or LIST rates for standard retail pricing.
- ✓ OAuth client ID and client secret authentication
- ✓ Automatic access-token handling
- ✓ Sandbox and production API support
- ✓ Administrator-controlled FedEx service selection
- ✓ Shared credentials with the Toweringmedia standalone FedEx carrier
Package Dimensions and Weight
Build FedEx Requests from Magento Product Data
Package dimensions can be obtained from the shared product attributes
tm_pkg_length, tm_pkg_width, and
tm_pkg_height. The extension supports product-attribute dimensions,
automatically calculated dimensional weight, and a hybrid fallback mode.
When several items are included in one vendor shipment request, the package length and width use the largest item values. Package height is calculated by adding each item’s height multiplied by its quantity.
- ✓ Product-level length, width, and height attributes
- ✓ Product attributes, dimensional weight, or hybrid dimension modes
- ✓ Configurable minimum order weight
- ✓ Configurable maximum package weight
Flexible Administration
Control Services, Rate Types, Pickup Options, and Logging
Configure the carrier from Stores > Configuration > Sales > Delivery Methods > FedEx REST API (Toweringmedia) Multi-Vendor. Administrators can enable the method, change its checkout title, select FedEx services, choose negotiated or retail rates, configure the pickup type, and enable debug logging.
- ✓ ACCOUNT negotiated rates or LIST retail rates
- ✓ Configurable FedEx pickup type
- ✓ Configurable carrier title and allowed FedEx services
- ✓ Sandbox or production environment inherited from the base FedEx module
- ✓ Vendor carrier and method settings managed under Toweringmedia Vendors
Performance and Diagnostics
Secure Rate Caching and Detailed Debug Logs
Rate responses are temporarily cached to reduce repeated API requests. Cache entries distinguish the vendor, origin, destination, weight, allowed services, and customer session. Entries expire after five minutes, and automatic limits help prevent excessive cache growth.
When debug logging is enabled, vendor rate calculations and troubleshooting information
are recorded in var/log/shipping.log. This helps administrators review
vendor IDs, selected services, calculated prices, and API-related problems.
- ✓ Five-minute rate-cache lifetime
- ✓ Vendor, destination, weight, method, and session-aware cache keys
- ✓ Input and cached-rate validation
- ✓ Debug logging for vendor-specific calculations
- ✓ Logs written to Magento's shipping log
Compatibility & Technical Specifications
Magento
Magento 2 with the required Toweringmedia modules
FedEx Integration
FedEx REST API with OAuth authentication
Required Base Module
Toweringmedia FedEx REST API
FedEx Configuration
FedEx REST API (Toweringmedia) Standalone
Vendor Integration
Toweringmedia Multi-Vendor Dropship
Vendor Attribute
tm_vendor_id
Dimension Attributes
tm_pkg_length, tm_pkg_width, tm_pkg_height
Log File
var/log/shipping.log
Required Components
Frequently Asked Questions
How does the extension calculate shipping for multiple vendors?
Does this extension require separate FedEx API credentials?
Can different vendors use different shipping origins?
Which FedEx services are supported?
Can the extension display negotiated FedEx rates?
Does the extension reduce repeated FedEx API requests?
Where are extension errors and rate calculations logged?
- Real-time FedEx REST API shipping rates
- Calculates shipping separately from each vendor’s origin
- Combines multiple vendor shipping rates into one checkout method
- Supports configurable FedEx services, negotiated rates, and vendor-specific methods
- Includes secure rate caching, debug mode, and detailed logging
📘 Documentation
Get started quickly with our detailed user guide. The documentation covers installation, FedEx REST API credentials, vendor-origin configuration, product package attributes, FedEx services, negotiated and retail rates, secure caching, logging, and troubleshooting.
- Step-by-step installation instructions
- Required Toweringmedia module dependencies
- FedEx REST API credential and environment configuration
- Vendor assignment and shipping-origin setup
- Package dimensions and vendor-specific FedEx services
- Negotiated rates, secure caching, logging, and troubleshooting
💬 Support
Need help? Our Magento experts can assist with installation, FedEx API configuration, vendor shipping origins, package settings, checkout-rate testing, and troubleshooting.
- Quick and reliable email support
- Help with extension installation and configuration
- Assistance with FedEx REST API credentials and environments
- Guidance for vendor assignments and shipping origins
- Troubleshooting missing, incorrect, or combined checkout rates
- Regular updates and Magento compatibility support
The extension calculates FedEx shipping separately for products fulfilled by different vendors. It groups cart products by vendor, requests rates from each vendor’s shipping origin, and combines the individual charges into one shipping option at checkout.
Products are assigned to vendors through the
tm_vendor_id product attribute. Vendor shipping origins
and carrier settings are managed through the Toweringmedia
Multi-Vendor Dropship configuration.
Yes. Each vendor group is rated from its applicable vendor shipping origin. This helps produce more accurate FedEx charges when products in the same cart are shipped from different locations.
No. FedEx OAuth credentials, the API environment, and shared package settings are configured in FedEx REST API (Toweringmedia) Standalone. The multi-vendor extension reuses those settings for its FedEx rate requests.
The extension supports the FedEx service types returned by the configured FedEx API account. Available checkout methods are filtered using the carrier-level allowed-method setting and each vendor’s configured list of supported FedEx services.
Yes. Enable negotiated rates to request ACCOUNT pricing associated with the configured FedEx account. Disable the setting to request standard LIST retail rates instead.
Valid FedEx rates are cached for five minutes to reduce repeated API requests. Cache entries include the vendor, origin, destination, weight, allowed methods, and customer session. The cache is limited to 100 entries and automatically removes expired data.
The extension requires Toweringmedia Multi-Vendor Dropship for vendor management and product assignments, and Toweringmedia FedEx REST API for FedEx credentials, API integration, and shared configuration.
- Platform: Magento 2
- Magento Editions: Magento Open Source and Adobe Commerce
- Framework: Built using Magento 2 dependency injection and carrier architecture
- Core Overrides: No Magento core-file overrides
- Carrier Code: tm_fedex_multivendor
- Composer Package: toweringmedia/module-fedex-multivendor
- Magento Module: Toweringmedia_TMFedexMultiVendor
- Installation Type: Composer or manual installation
- Required FedEx Integration: Toweringmedia FedEx REST API
- Required Vendor Integration: Toweringmedia Multi-Vendor Dropship
- Shipping Provider: FedEx
- API Type: FedEx Comprehensive Rates and Transit Times REST API
- Authentication: OAuth 2.0 using FedEx client credentials
- API Environments: FedEx sandbox and production
- Rate Types: ACCOUNT negotiated rates or LIST retail rates
- Rate Calculation: Separate vendor-origin rates combined at checkout
- Vendor Product Attribute: tm_vendor_id
- Package Attributes: tm_pkg_length, tm_pkg_width, and tm_pkg_height
- Vendor Configuration: Shipping origin, carrier, and allowed FedEx methods
- Rate Cache: Session-isolated cache with a five-minute lifetime and 100-entry limit
- Log File: var/log/shipping.log