Carrier Documentation
The shipping carrier gateway for Craft Commerce
Installation
Requirements, the gateway and the add-ons you install, and a first run with the Mock carrier.
Carriers
Every carrier add-on, what each one can do, and why the add-ons are free.
Connections
Adding a carrier account, credentials and environment variables, sandbox, label format, ship-from, testing and webhooks.
Configuration
The plugin settings screen field by field, overriding it from config/carrier.php, and permissions.
Checkout methods
What the customer chooses between at checkout — flat, table and live pricing, conditions, packing and freight defaults.
Pickup points
Lockers, parcel shops, post offices and your own stores — where points come from, the storefront picker, and the endpoints behind it.
Labels
Buying labels one at a time or in bulk, why a label is never bought twice, the Problems screen, voiding, printing, returns and cash on delivery.
Tracking
How Carrier follows a parcel until it arrives, the status vocabulary, the order write-back, and hooking notifications onto status changes.
Collections
Booking a courier to collect your parcels, and closing the day for carriers that need a manifest.
Templating and events
The craft.carrier Twig variable for checkout and account pages, and the PHP events for changing requests, prices, purchases and notifications.
Console
Every console command, its options, and what to run from cron.
Writing a carrier
The add-on contract — one class per carrier, what it declares, and the rules the conformance suite enforces.
Troubleshooting
Where to look first, and the failures that turn out to have ordinary causes.
FAQ
Licensing, the add-on model, which carriers, sandbox advice, and the questions that come up before a purchase.
Carrier for UPS
UPS rates, ZPL and PNG labels, returns, tracking, Access Points, pickups and address validation through the UPS OAuth REST APIs, for shippers in the United States and Puerto Rico.
Carrier for FedEx
FedEx rates, PDF, ZPL and PNG labels, returns, tracking, Hold at Location, pickups and address validation through the FedEx REST APIs, for shippers in the United States and Puerto Rico.
Carrier for USPS
USPS prices, domestic, international and return labels, voids, reprints, tracking, carrier pickups, Hold for Pickup at a Post Office and US address validation, on the USPS APIs v3.
Carrier for LTL Freight
Six US less-than-truckload carriers in one add-on (TForce Freight, Old Dominion, Estes, XPO, R+L Carriers and SAIA), with quotes, bills of lading, PRO tracking and, for two of them, pickups.
Carrier for DPD
DPD Croatia and DPD Slovenia through DPD's own EasyShip web service, with labels fetched at creation, cash on delivery, imported parcel shops, collections and the daily manifest.
Carrier for GLS
GLS through the MyGLS API in Croatia, Hungary, Czechia, Romania, Slovenia, Slovakia and Serbia, with labels, cash on delivery, parcel shops and lockers synced daily, batch reprints and full tracking.
Carrier for BOX NOW
BOX NOW parcel lockers in Greece, Cyprus, Bulgaria, Croatia and Slovenia, on the BOX NOW Partner API, with locker delivery, cash on delivery, labels, cancellation, tracking and the whole country's locker list.
Carrier for National Posts
Four south-east European national posts in one add-on (Hrvatska pošta, Pošta Slovenije, Magyar Posta and ELTA Courier), with labels, cash on delivery, Paketomat and PostaPont points, tracking and Magyar Posta's end-of-day close.