UPS REST Rates & Labels
Edition: CS-Cart & Multi-Vendor · Latest version: 1.0.0 · Compatible with: CS-Cart & Multi-Vendor 4.17.2 – 4.21.x, PHP 7.4 – 8.3 · Changelog: view
UPS shipping for CS-Cart and Multi-Vendor on the UPS OAuth REST APIs: live and negotiated rates with delivery dates, UPS labels (GIF, ZPL), multi-package shipments, return labels, void, pickups, tracking and address validation. Works on CS-Cart 4.17 to 4.21.
What it does
Section titled “What it does”- Rates at checkout from the UPS Rating API (one call for all services): your account (negotiated) rates or the published rates, 13 services (Ground, 3 Day Select, 2nd Day Air, Next Day Air, Worldwide Saver, Worldwide Expedited, Worldwide Express …), delivery date or business days in transit, residential flag, optional signature and declared value, markup, rounding, free shipping threshold and a fallback rate.
- Labels from the order page, or automatically when the order reaches a status you choose: GIF or ZPL, one label per package, multi-package shipments, the commercial invoice for international parcels, the duties and taxes payer.
- Return labels (UPS Print Return Label), void a shipment at UPS, and a guarded purchase (a lock per order, the attempt recorded before the call, and a purchase whose answer was lost is never repeated automatically: it is held for review and recovered through UPS tracking or by the tracking number you paste).
- Pickups: book and cancel UPS on-call pickups from the shipment list.
- Tracking with scheduled checks (Track API), status and scan events on the order, optional order status when delivered, the tracking number as a regular CS-Cart shipment with a working UPS tracking link.
- Address validation (Address Validation API, street level, United States and Puerto Rico): resolves the delivery address and uses the UPS residential / commercial classification for the label.
- OAuth 2.0 client credentials stored encrypted, separate test and live mode, a job queue with retries and a log with CSV export.
- Multi-Vendor: marketplace owner mode (one UPS account for everyone, vendors may create labels if you allow it) or one UPS account per vendor in the vendor panel.
How it relates to the built-in UPS module
Section titled “How it relates to the built-in UPS module”CS-Cart 4.17.2, 4.18.3 and 4.21.2 ship a core carrier “UPS” that already uses the UPS OAuth REST Rating API (the old XML carrier “UPS (deprecated)” is still there). The core carrier quotes rates only: one service per shipping method and no labels, returns, void, tracking, pickups, international paperwork or address check beyond a residential flag. This add-on has its own carrier (“UPS REST Rates & Labels”, module kv_ups_rest), its own shipping services and its own tables, so it does not conflict with the core module and replaces no core file. Use it instead of the core carrier for the checkout methods where you want labels and the rest.
Compatibility
Section titled “Compatibility”- CS-Cart and Multi-Vendor 4.17.2 to 4.21.x (CS-Cart Ultimate and Multi-Vendor).
- PHP 7.4 to 8.3, depending on your CS-Cart version. Smarty 4 and 5.
- A UPS account (shipper) number and a free UPS Developer Portal app with the Rating, Shipping, Tracking, Address Validation and Pickup products. The queue needs a cron job (see Configuration).
Next steps
Section titled “Next steps”UPS is a trademark of United Parcel Service of America, Inc. This add-on is independent and is not affiliated with, sponsored or endorsed by UPS. It uses the name “UPS” only to say which carrier it connects to.