The UPS shipping driver for Shopper. It quotes real time rates at checkout and pulls the tracking timeline of every shipment into the order.
- PHP 8.3+
- Laravel 12.x or 13.x
shopper/frameworkinstalled and migrated
composer require shopper/upsThe service provider is auto-discovered and registers the ups driver on the shipping
manager. Enable it and add the credentials issued by the UPS developer portal to .env:
SHIPPING_UPS_ENABLED=true
SHIPPING_SANDBOX=true
UPS_CLIENT_ID=...
UPS_CLIENT_SECRET=...
UPS_USER_ID=...
UPS_ACCOUNT_NUMBER=...A driver left disabled stays out of the carriers the admin offers, even once its credentials are filled in. The account number is the shipper number your negotiated rates are attached to.
Shipments handed to UPS are refreshed every thirty minutes by the shopper:shipments:sync-tracking
scheduled command from shopper/shipping. The driver does not generate labels: buy the label on
the UPS portal and paste the tracking number on the shipment.
php artisan vendor:publish --tag=shopper-ups-configThis publishes config/shopper/ups.php.
Read the shipping documentation for carriers, fulfillment and the tracking scheduler.