Linux 软件免费装
Banner图

Precision Live Rates for WooCommerce

开发者 sulemanshahjahan
更新时间 2026年5月18日 06:04
PHP版本: 8.2 及以上
WordPress版本: 6.9
版权: GPL-2.0-or-later
版权网址: 版权信息

标签

shipping ups usps live rates shipengine

下载

0.2.39

详情介绍:

Precision Live Rates brings real, account-accurate UPS, USPS, FedEx, DHL, and Stamps.com prices into WooCommerce's cart and checkout. No flat-rate guesswork, no aggregator markups bolted on top of the carrier rate, no rate drift between cart and checkout. The numbers your customers see are the same numbers you'd see on the carrier dashboard for the same parcel. Under the hood, the plugin packs each cart into the smallest viable parcel using a true 3D bin-packing algorithm (volume-then-SKU-then-product-id deterministic sort, ships-alone overrides honored, custom-packed dimensions for soft goods supported), POSTs the parcel to ShipEngine over HTTPS, dedupes the rate response by carrier+service, and caches the result on your server so identical carts don't trigger redundant API calls. The same RateService::quote() entry point feeds Classic Checkout, Blocks Checkout, and the WP-CLI wp precision-rates test-rate command — so cart, checkout, and your terminal all return byte-identical rates within the cache TTL. The diagnostic surface is built for real-world support load. The Rate Test admin screen captures every quote attempt's full request and response from ShipEngine into a 1-hour transient and surfaces it inline (collapsible, color-coded by HTTP status) so when a customer reports "no shipping options," you can see exactly which carrier returned what. The Services screen auto-discovers every carrier:service_code flowing through the rate filter and lets you uncheck the ones you don't want shown. The Plugin Status panel on the Overview tab reports the running version, saved API key state, active carriers, cache TTL, and current markup at a glance — so verifying "is the new code actually live with my settings" is a glance, not an SSH dive. Privacy and compliance are first-class. The plugin transmits only postal codes, country codes, and parcel dimensions to ShipEngine — never customer name, email, IP, billing address, or order ID. Suggested privacy-policy boilerplate auto-registers with WP's Settings → Privacy editor on activation. Personal-data exporter and eraser hooks are wired so the WP Tools → Export/Erase Personal Data flows recognize the plugin as compliant. EU/UK merchants can flip on a Settings → Privacy toggle to render a "Shipping rates calculated using ShipEngine — Privacy policy" line under the cart and checkout shipping options. Highlights Out of scope The plugin is intentionally focused on rate calculation. It does not purchase shipping labels, generate manifests, schedule pickups, sync tracking webhooks back to order status, or integrate with multi-vendor marketplaces (Dokan, WCFM). For label printing and fulfillment, use ShipStation / ShipEngine's own dashboard or a separate WC label plugin.

安装:

  1. Upload the plugin files to /wp-content/plugins/precision-live-rates/, or install via the WordPress Plugins screen. Activate.
  2. The first-activation onboarding wizard auto-launches: 4 steps from "just activated" to "first rate quoted" in under three minutes. Welcome → ShipEngine API key (with inline Test connection) → Origin address → Run a test quote.
  3. (Optional) Define your box catalog under WooCommerce → Precision Live Rates → Boxes. Without a box catalog, the cart aggregates into a single representative parcel; with a catalog, items 3D-bin-pack into the smallest viable box.
  4. (Optional) Tune per-carrier markups under Precision Live Rates → Settings → Markup. UPS typically benefits from a 65-75% markup to bridge negotiated → retail; USPS rates already match retail, so leave at 0.
  5. Verify the live cart shows expected rates. Use the Rate Test tab to simulate any cart against your live carrier configuration without leaving the admin.
Requirements

屏幕截图:

  • Settings tab — origin address, ShipEngine + UPS + USPS connections with inline Test Connection, packing toggle, per-carrier markup, cache TTL, privacy disclosure toggle.
  • Services tab — auto-discovered `carrier:service_code` whitelist with diagnostic counts ("Filter state: N enabled, M disabled") so the merchant can verify saves persisted.
  • Rate test tab — quote against your live carrier configuration without leaving the admin. Shows final rates with markup applied PLUS the raw ShipEngine request and response inline (collapsible).
  • Cart with live rates — UPS Ground, USPS Priority Mail, FedEx Ground rendering at the merchant's chosen markup, with optional EU/UK privacy disclosure line.
  • Onboarding wizard — first-activation 4-step flow that takes a merchant from "just clicked Activate" to "first rate quoted" in under three minutes.
  • Audit log — append-only record of state-changing admin actions (settings saves, box CRUD, service-filter changes, cache clears, ShipEngine connection tests). Filter by event type, paginate, export to CSV.

升级注意事项:

0.2.39 Hardens output escaping in the onboarding wizard's text-field renderer and fixes two more 404 URLs in the readme. No user-visible behavior changes. 0.2.38 Restores the admin-page styling that 0.2.37 inadvertently disabled when the text domain was renamed. Upgrade is mandatory for anyone who installed 0.2.37. 0.2.37 Text domain renamed to match the WP.org-assigned plugin slug. No user-visible behavior changes; existing translations on translate.wordpress.org now resolve correctly. Settings and box catalog carry over. 0.2.36 Upgrades dvdoug/boxpacker from 3.x to 4.x and bumps the minimum PHP version from 8.1 to 8.2 (the new boxpacker requires it). Sanitizes the box-catalog allowed_carriers POST field. No user-visible behavior changes. 0.2.35 WP.org reviewer remediation: removed all premium-tier / license-key code, renamed the internal PHP namespace, tightened nonce sanitization, scrubbed comparative marketing from the description. No user-facing behavior changes. Existing settings carry over. 0.2.34 Slug renamed wc-precision-ratesprecision-live-rates to clear the WP.org trademark warning. Settings reset on upgrade — option/transient prefix changed, so origin, markups, box catalog, and API keys must be re-entered. Onboarding wizard re-launches automatically. 0.2.33 WP.org Plugin Check round 2 cleanup. Uses $wpdb->insert() for the audit-log INSERT; drops the now-redundant load_plugin_textdomain() call. No behavior changes. 0.2.32 WP.org Plugin Check remediation. No behavior changes. 0.2.31 Internal infrastructure work. No user-facing changes. 0.2.30 Adds delivery-date badges and carrier logos to cart/checkout (both default ON) plus an optional free-shipping threshold. Existing installs see the badges/logos appear automatically; the threshold defaults to 0 (disabled). 0.2.29 Adds an Audit log tab + custom DB table. Schema bootstraps automatically; no merchant action required. 0.2.28 Adds Canadian + UK postal-code → province/region inference. Existing US installs see no behavior change; international quotes now include state_province by default. 0.2.27 WordPress.org submission prep — plugin header now declares the real Author + Plugin URI, no behavior changes, safe to upgrade. 0.2.26 Documentation polish for WordPress.org submission readiness — no behavior changes, safe to upgrade. 0.2.25 Adds GDPR-compliant privacy disclosure surface. EU/UK merchants should turn on Settings → Privacy → "Display privacy disclosure on cart/checkout" after upgrading. 0.2.24 Spanish + French translations now bundled. Set site language under Settings → General to switch UI locale. No behavior changes for English installs. 0.2.22 Adds an onboarding wizard for new installs. Existing installs with populated settings are auto-marked onboarded — your existing config will not be touched.

常见问题:

How do I get a ShipEngine API key?

Sign up at https://dashboard.shipengine.com/ — the free sandbox tier returns synthetic rates that work end-to-end for testing. Once you're ready for production, the same dashboard issues LIVE_… keys; connect at least one carrier (USPS via Stamps.com Connect is free and the easiest start) under ShipStation/ShipEngine → Settings → Shipping → Carriers, then paste the key into Precision Live Rates → Settings → ShipEngine. The Test Connection button below the key field pings /v1/carriers and lists everything connected — use it to confirm the key authenticates before going live.

Why are the UPS rates I see lower than ups.com retail?

ShipEngine returns each carrier's account/negotiated rate. For UPS specifically, that's typically 30-50% below ups.com retail (UPS heavily discounts via aggregators to compete with USPS). To display retail-equivalent prices to customers, set the UPS markup % under Precision Live Rates → Settings → Markup. 65-75% bridges the gap for most accounts; check a few real shipments via the Rate Test tab to calibrate. USPS rates from ShipEngine already match retail — leave the USPS markup at 0.

Can I use my own UPS / USPS developer account instead of ShipEngine?

Yes. Under Settings → UPS direct or USPS direct, paste your client ID + client secret. The plugin uses OAuth 2.0 client-credentials flows for both carriers. Sandbox and production toggle with a single checkbox. You can run UPS direct + USPS direct + ShipEngine simultaneously — rates from all three sources merge into a single deduped list at checkout.

How do I hide a shipping service from customers?

Trigger at least one rate quote (open the cart with a shippable address). Then visit Precision Live Rates → Services. Every carrier:service_code the plugin has seen is listed as a checkbox. Uncheck what you don't want, save. The change applies to the very next cart view — the plugin auto-flushes WC's shipping cache on save. If a service still shows up after saving, the cause is almost always a downstream cache (Varnish, Breeze, browser, CDN) serving a stale checkout page; the diagnostic count at the top of the Services screen tells you whether the save itself persisted.

What does "Combine parcels" do?

Default on. When no box catalog is configured, the plugin can either ship each cart line as its own parcel (carriers bill each one — 4 mugs = 4 UPS labels = 4× the cost), or aggregate the cart into one representative parcel by stacking items along their smallest dimension. The default "combine" behavior is what most small shops want; toggle off under Settings → Packing if you genuinely need strict per-item billing. Once you configure a box catalog under Precision Live Rates → Boxes, items pack into real boxes regardless of this setting.

Why is the cart still showing old rates after I changed something?

A few possibilities. (1) The plugin's own rate cache. Default TTL is 60 seconds; click "Clear cached rates now" on Overview → Quick actions to bust it immediately. (2) WC's shipping transient. Auto-flushed on every settings save, but if you saved via raw update_option() the auto-flush didn't fire — clear from Overview. (3) Editing a product's weight/dimensions/shipping class auto-invalidates the rate cache, so 0.2.2+ shouldn't have this issue from product edits. (4) Downstream cache (Cloudways Varnish, Breeze, browser, CDN) serving stale checkout HTML. The Services tab's diagnostic count distinguishes "save didn't persist" from "downstream cache is stale."

Does it support international shipping?

It returns whatever the carrier returns for international destinations. The plugin's address-fallback logic currently optimizes for US ZIPs (auto-derives state from ZIP when the customer leaves it blank); other countries pass through. There is no separate customs declaration workflow yet — declared values and dimensions pass through to the carrier; carriers handle customs ingestion. Canadian and UK postal-code → province/region inference is on the roadmap (BACKLOG E4).

Where do I report bugs or request features?

GitHub issues: https://github.com/sulemanshahjahan/precision-live-rates-for-wooCommerce/issues. Please include WordPress version, WooCommerce version, PHP version, plugin version, and (for rate-related issues) the relevant <details> block from Precision Live Rates → Rate test → Raw ShipEngine I/O. The Logs tab also captures debug output when "Verbose debug logging" is enabled in Settings → Cache & diagnostics — the most recent entries are usually the most relevant.

更新日志:

0.2.39 0.2.38 0.2.37 0.2.36 0.2.35 0.2.34 0.2.33 0.2.32 0.2.31 0.2.30 0.2.29 0.2.28 0.2.27 0.2.26 0.2.25 0.2.24 0.2.23 0.2.22 0.2.21