WC Live Shipping Rates self-updates
Fetch live shipping rates from Canada Post, UPS, and Purolator at WooCommerce checkout.
by Your Name · github.com/scottjgd/wc-live-shipping-rates · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/scottjgd/wc-live-shipping-rates/archive/refs/heads/main.zipShips its own WordPress updater (built-in updater), so new versions show up under Dashboard → Updates.
Fetch live shipping rates from Canada Post, UPS, and Purolator at WooCommerce checkout.
Description
WC Live Shipping Rates is a WooCommerce shipping plugin that retrieves real-time rates from three major Canadian carriers and presents them as selectable options at checkout:
- Canada Post — via the REST Rating API (v4)
- UPS — via the UPS Rating API (OAuth 2.0)
- Purolator — via the E-Ship Web Services SOAP API (v2)
Each carrier is a separate WooCommerce Shipping Method that can be added to any shipping zone. All three support:
- Sandbox / test mode for development
- Per-method rate markup (percentage)
- Automatic unit conversion (weight & dimensions from your WooCommerce store settings)
Installation
- Upload the
wc-live-shipping-ratesfolder to/wp-content/plugins/. - Activate the plugin in Plugins → Installed Plugins.
- Go to WooCommerce → Settings → Shipping and click on a shipping zone (or create one).
- Click Add shipping method and add one or more of:
- Canada Post (Live Rates)
- UPS (Live Rates)
- Purolator (Live Rates)
- Click the method name to expand its settings and enter your API credentials.
Carrier API Credentials
Canada Post
- Register at https://www.canadapost-postescanada.ca/information/app/drc/registered
- Create an application to get an API Username, API Password, and note your Customer Number.
- Start in Sandbox mode; switch to Production when ready.
UPS
- Register at https://developer.ups.com/
- Create an app to obtain a Client ID and Client Secret (OAuth 2.0).
- Your Shipper Account Number is the 6-character alphanumeric on your UPS invoice.
- Start in CIE (test) mode; switch to Production when ready.
Purolator
- Register at https://eship.purolator.com/ → Developer Tools → Register
- Create an application to get an API Key and API Password.
- Use your Purolator Account Number as the billing account.
- Start in Sandbox mode; switch to Production when ready.
Product Data Requirements
For accurate rates, ensure each product has:
- Weight — set in WooCommerce product data → Shipping tab
- Dimensions (Length × Width × Height) — same tab
If weight is missing, 0.5 kg is assumed. If dimensions are missing, a default box size is used.
Frequently Asked Questions
Rates are not showing at checkout
- Enable WP_DEBUG in
wp-config.phpand check your PHP error log for[WCLSR]messages. - Confirm you are in the correct shipping zone (destination matches the zone).
- Verify the destination postal code is filled in at checkout — rates require a postal code.
Can I add a handling fee?
Yes — each method has a Rate Markup (%) field. For example, enter 10 to add 10% on top of every carrier rate.
Does this support cross-border (US/Canada) shipments?
Canada Post and Purolator methods currently only query domestic Canadian rates. UPS uses a "Shop" (all-services) request and works for both domestic and international routes.
Does this support free shipping or flat-rate fallbacks?
This plugin only adds live carrier rates. Use WooCommerce's built-in Free Shipping and Flat Rate methods alongside it.
Changelog
1.0.0
- Initial release — Canada Post REST, UPS OAuth 2.0, Purolator SOAP v2.