Dependent Media Live Rates for USPS
Dependent Media Live Rates for USPS calculates real-time USPS shipping rates at checkout using your own USPS Developer Portal credentials, by talking directly to the USPS REST API (the current API — not the retired Web Tools API).
This plugin is not affiliated with or endorsed by the United States Postal Service. “USPS” is a trademark of the United States Postal Service and is used in this plugin’s name solely to describe the service the plugin integrates with.
Domestic US
- USPS Ground Advantage
- USPS Priority Mail
- USPS Priority Mail Express
International
- USPS First-Class Package International
- USPS Priority Mail International
- USPS Priority Mail Express International
Other features
- Per-product weight and dimensions, with configurable defaults for products that have none set
- Separate domestic and international service toggles — enable only what you want to offer
- Automatic routing: the plugin detects destination country and hits the right USPS endpoint
- Multi-box packing by default — each cart line item is rated as its own package and costs are summed. Heavy lines are automatically split across multiple boxes to stay within USPS weight caps. A “combined” mode is also available for stores that genuinely ship everything in one box.
- Only services that price every box are offered — partial coverage would produce a misleading total
- Optional fallback flat rate if the USPS API is unreachable
- Debug logging via WooCommerce → Status → Logs
You bring your own USPS API credentials
This plugin does not proxy rate requests through any third party. You register your store as a USPS Developer Portal application once, paste the Consumer Key and Consumer Secret into the plugin settings, and rates go directly from USPS to your site. There is no monthly fee and no per-request cost.
Register at: https://developers.usps.com/
Privacy
When a customer reaches checkout, the plugin sends the destination postal code (and country, for international) along with the package dimensions and weight to the USPS REST API at apis.usps.com. No customer name, email, or other personally identifying information is transmitted. OAuth2 access tokens are cached locally in a WordPress transient.
Source code
Development happens on GitHub: https://github.com/Dependent-Media/dm-usps-shipping. Issues and pull requests welcome.
External services
This plugin connects to the USPS (United States Postal Service) REST API to obtain live shipping rates at WooCommerce checkout. This is the entire purpose of the plugin: without this connection, no rates can be calculated.
What is the service? The USPS REST API at https://apis.usps.com, operated by the United States Postal Service. The plugin uses two endpoints:
POST /oauth2/v3/token— to obtain an OAuth2 access token using the merchant’s USPS Developer Portal Consumer Key and Consumer Secret.POST /prices/v3/total-rates/searchandPOST /international-prices/v3/total-rates/search— to obtain shipping rates for a given package.
What data is sent, and when?
- When a customer reaches the WooCommerce shipping calculation step (typically the Cart or Checkout page), the plugin sends, for each package being rated: the origin ZIP code (configured by the merchant), the destination postal code, the destination country, and the package weight, length, width, and height.
- When the plugin needs to authenticate to the USPS API (the first time, and again when the cached token has expired), it sends the merchant’s USPS Consumer Key and Consumer Secret to the OAuth2 token endpoint.
- No customer name, email address, IP address, or other personally identifying information is transmitted to USPS by this plugin.
Who provides the service? The United States Postal Service.
- USPS Developer Portal Terms and Conditions: https://developers.usps.com/terms-and-conditions
- USPS Privacy Policy: https://www.usps.com/privacypolicy/
Is the use of this service required? Yes. Calculating live USPS rates is the plugin’s only function, and it cannot be performed without contacting the USPS REST API. Merchants who do not wish to use this service should not install or activate this plugin.
