UPS add on for Multivendor Dropship
- Community
- Real-time UPS REST API shipping rates
- Calculates shipping separately for each vendor origin
- Combines multiple vendor shipping rates at checkout
- Supports configurable UPS services, handling fees, weight limits, and country restrictions
- 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 UPS shipments
- ✖ Using one origin can produce inaccurate shipping rates and reduce margins
- ✖ Manually calculating and combining vendor shipping charges is inefficient
The Solution
Toweringmedia UPS Multi-Vendor Shipping Extension groups Magento cart products by vendor and calculates UPS shipping separately from each vendor’s configured origin. It retrieves real-time rates through the UPS REST API, applies the applicable services and handling fees, and combines the individual vendor charges into one clear shipping option at checkout.
How It works
See It In Action
Magento 2 UPS Multi-Vendor Shipping
Calculate UPS Shipping from Multiple Vendor Origins in One Checkout
The Toweringmedia UPS Multi-Vendor Shipping Extension for Magento 2 calculates UPS 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 UPS REST API to retrieve real-time shipping rates and supports configurable UPS services, package dimensions, weight limits, handling fees, country restrictions, secure rate caching, debug rates, and detailed 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 UPS 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 UPS rates for each vendor shipment
- ✓ Combines vendor charges into one checkout rate
- ✓ Works with vendor assignments from Toweringmedia Multi-Vendor Dropship
UPS REST API Integration
Offer Real-Time UPS Services and Pricing
The extension connects to the UPS REST API using OAuth client credentials. It reuses the credentials and shared API settings configured in UPS REST API (Toweringmedia) Standalone, keeping sensitive connection details in one central configuration.
Store administrators can select which UPS services should be available. Depending on the shipment and destination, supported services include UPS Ground, UPS Standard, UPS Next Day Air, UPS 2nd Day Air, UPS 3 Day Select, UPS Saver, worldwide services, and additional UPS delivery options.
- ✓ OAuth client ID and client secret authentication
- ✓ Automatic access-token handling
- ✓ Sandbox and production API support
- ✓ Administrator-controlled UPS service selection
- ✓ Shared credentials with the Toweringmedia standalone UPS carrier
Package Dimensions and Weight
Build UPS 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, Fees, Restrictions, and Checkout Availability
Configure the carrier from Stores > Configuration > Sales > Delivery Methods > UPS REST API (Toweringmedia) Multi-Vendor. Administrators can enable the method, change its checkout title, choose UPS services, apply handling fees, set weight limits, restrict destinations, and control its sort order.
- ✓ Fixed or percentage-based handling fees
- ✓ Shipping to all allowed countries or selected countries
- ✓ Configurable carrier title and checkout sort order
- ✓ Option to show the method when no applicable rate is available
- ✓ Vendor carrier and method settings managed under Toweringmedia Vendors
Performance and Diagnostics
Secure Rate Caching, Debug Rates, and Detailed 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.
Debug mode supplies realistic mock rates without contacting UPS, making it easier to
verify the checkout experience during configuration. Rate calculations, API activity,
warnings, and errors are recorded in
var/log/tm_ups_multivendor.log.
- ✓ Five-minute rate-cache lifetime
- ✓ Vendor, destination, weight, method, and session-aware cache keys
- ✓ Input and cached-rate validation
- ✓ Mock shipping rates for development and testing
- ✓ Dedicated extension log file
Compatibility & Technical Specifications
Magento
Magento Open Source and Adobe Commerce 2.4.x
PHP
PHP 8.1 or 8.2
UPS Integration
UPS REST API with OAuth authentication
Required Base Module
Toweringmedia Base
UPS Configuration
UPS 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/tm_ups_multivendor.log
Required Components
Frequently Asked Questions
How does the extension calculate shipping for multiple vendors?
Does this extension require separate UPS API credentials?
Can different vendors use different shipping origins?
Which UPS services are supported?
Can a handling fee be added to the UPS rate?
Can the extension be tested without contacting the UPS API?
Where are extension errors and rate calculations logged?
- Real-time UPS REST API shipping rates
- Calculates shipping separately for each vendor origin
- Combines multiple vendor shipping rates at checkout
- Supports configurable UPS services, handling fees, weight limits, and country restrictions
- Includes secure rate caching, debug mode, and detailed logging
📘 Documentation
Get started quickly with our detailed user guide. The documentation covers installation, UPS REST API credentials, vendor-origin configuration, product package attributes, shipping services, rate calculation, testing, and troubleshooting.
- Step-by-step installation instructions
- Required Toweringmedia module dependencies
- UPS REST API credential and environment configuration
- Vendor assignment and shipping-origin setup
- Package dimensions, weight limits, services, and handling fees
- Debug mode, logging, checkout testing, and troubleshooting
💬 Support
Need help? Our Magento experts can assist with installation, UPS 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 UPS 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 UPS shipping separately for products fulfilled by different vendors. It groups cart products by vendor, requests a rate 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 UPS charges when products in the same cart are shipped from different locations.
No. UPS OAuth credentials, the API environment, and shared package settings are configured in UPS REST API (Toweringmedia) Standalone. The multi-vendor extension reuses those settings for its UPS rate requests.
Supported services include UPS Ground, UPS Standard, UPS Next Day Air, UPS 2nd Day Air, UPS 3 Day Select, UPS Saver, UPS Worldwide Express, UPS Worldwide Expedited, and other supported UPS services. Administrators can select which services should be offered to customers.
Yes. Administrators can configure fixed or percentage-based handling fees, minimum and maximum weight limits, allowed UPS services, applicable countries, specific destination countries, and checkout sort order.
Yes. Debug mode provides realistic mock UPS rates for development and
checkout testing without contacting the UPS API. API activity, rate
calculations, warnings, and errors can also be reviewed in
var/log/tm_ups_multivendor.log.
The extension is designed for Magento 2.4.x and supports PHP 8.1 and PHP 8.2. The required Toweringmedia modules and compatible versions should be installed before enabling the multi-vendor UPS carrier.
- Magento Version: Magento 2.4.x
- PHP Version: PHP 8.1 and 8.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
- Composer Package: toweringmedia/module-ups-multivendor
- Magento Module: Toweringmedia_TMUpsMultiVendor
- Installation Type: Composer or manual installation
- Required Base Module: Toweringmedia Base
- Required Integrations: Toweringmedia UPS REST API Standalone and Multi-Vendor Dropship
- Shipping Provider: UPS
- API Type: UPS REST API
- Authentication: OAuth using a UPS client ID and client secret
- API Environments: UPS sandbox and production
- 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
- Handling Fees: Fixed and percentage-based calculations
- Rate Cache: Session-isolated cache with a five-minute lifetime
- Log File: var/log/tm_ups_multivendor.log