USPS

In order to use USPS, you'll need to ensure you are using a valid United States address as your store location. You'll also need to ensure your Craft Commerce default currency is set to USD.

How to get API access #

Register for an API username via the Registration for USPS Web Tools form. Add this username in the provider information either through the control panel, or in the configuration file.

Services #

The below service are available with USPS for domestic and international customer destination addresses.

  • Domestic

    • PRIORITY_MAIL_EXPRESS_1_DAY
    • PRIORITY_MAIL_EXPRESS_1_DAY_HOLD_FOR_PICKUP
    • PRIORITY_MAIL_EXPRESS_1_DAY_SUNDAY_HOLIDAY_DELIVERY
    • PRIORITY_MAIL_EXPRESS_1_DAY_FLAT_RATE_ENVELOPE
    • PRIORITY_MAIL_EXPRESS_1_DAY_FLAT_RATE_ENVELOPE_HOLD_FOR_PICKUP
    • PRIORITY_MAIL_EXPRESS_1_DAY_FLAT_RATE_ENVELOPE_SUNDAY_HOLIDAY_DELIVERY
    • PRIORITY_MAIL_EXPRESS_1_DAY_LEGAL_FLAT_RATE_ENVELOPE
    • PRIORITY_MAIL_EXPRESS_1_DAY_LEGAL_FLAT_RATE_ENVELOPE_HOLD_FOR_PICKUP
    • PRIORITY_MAIL_EXPRESS_1_DAY_LEGAL_FLAT_RATE_ENVELOPE_SUNDAY_HOLIDAY_DELIVERY
    • PRIORITY_MAIL_EXPRESS_1_DAY_PADDED_FLAT_RATE_ENVELOPE
    • PRIORITY_MAIL_EXPRESS_1_DAY_PADDED_FLAT_RATE_ENVELOPE_HOLD_FOR_PICKUP
    • PRIORITY_MAIL_EXPRESS_1_DAY_PADDED_FLAT_RATE_ENVELOPE_SUNDAY_HOLIDAY_DELIVERY
    • PRIORITY_MAIL_EXPRESS_2_DAY
    • PRIORITY_MAIL_EXPRESS_2_DAY_HOLD_FOR_PICKUP
    • PRIORITY_MAIL_EXPRESS_2_DAY_FLAT_RATE_ENVELOPE
    • PRIORITY_MAIL_EXPRESS_2_DAY_FLAT_RATE_ENVELOPE_HOLD_FOR_PICKUP
    • PRIORITY_MAIL_EXPRESS_2_DAY_LEGAL_FLAT_RATE_ENVELOPE
    • PRIORITY_MAIL_EXPRESS_2_DAY_LEGAL_FLAT_RATE_ENVELOPE_HOLD_FOR_PICKUP
    • PRIORITY_MAIL_EXPRESS_2_DAY_PADDED_FLAT_RATE_ENVELOPE
    • PRIORITY_MAIL_EXPRESS_2_DAY_PADDED_FLAT_RATE_ENVELOPE_HOLD_FOR_PICKUP
    • PRIORITY_MAIL_1_DAY
    • PRIORITY_MAIL_1_DAY_LARGE_FLAT_RATE_BOX
    • PRIORITY_MAIL_1_DAY_MEDIUM_FLAT_RATE_BOX
    • PRIORITY_MAIL_1_DAY_SMALL_FLAT_RATE_BOX
    • PRIORITY_MAIL_1_DAY_FLAT_RATE_ENVELOPE
    • PRIORITY_MAIL_1_DAY_LEGAL_FLAT_RATE_ENVELOPE
    • PRIORITY_MAIL_1_DAY_PADDED_FLAT_RATE_ENVELOPE
    • PRIORITY_MAIL_1_DAY_GIFT_CARD_FLAT_RATE_ENVELOPE
    • PRIORITY_MAIL_1_DAY_SMALL_FLAT_RATE_ENVELOPE
    • PRIORITY_MAIL_1_DAY_WINDOW_FLAT_RATE_ENVELOPE
    • FIRST_CLASS_MAIL
    • FIRST_CLASS_MAIL_STAMPED_LETTER
    • FIRST_CLASS_MAIL_METERED_LETTER
    • FIRST_CLASS_MAIL_LARGE_ENVELOPE
    • FIRST_CLASS_MAIL_POSTCARDS
    • FIRST_CLASS_MAIL_LARGE_POSTCARDS
    • FIRST_CLASS_PACKAGE_SERVICE_RETAIL
    • MEDIA_MAIL_PARCEL
    • LIBRARY_MAIL_PARCEL
  • International

    • USPS_GXG_ENVELOPES
    • PRIORITY_MAIL_EXPRESS_INTERNATIONAL
    • PRIORITY_MAIL_INTERNATIONAL
    • PRIORITY_MAIL_INTERNATIONAL_LARGE_FLAT_RATE_BOX
    • PRIORITY_MAIL_INTERNATIONAL_MEDIUM_FLAT_RATE_BOX
    • FIRST_CLASS_MAIL_INTERNATIONAL
    • FIRST_CLASS_PACKAGE_INTERNATIONAL_SERVICE

Configuration #

Add the following code to your configuration file under the providers array, as per the below. Note that to disable certain services, simply omit them from the services array.

'providers' => [
    'usps' => [
        'name' => 'USPS',

        'settings' => [
            'username' => 'xxxxxxxxxxxxx',
        ],

        'services' => [
            'PRIORITY_MAIL_EXPRESS_1_DAY' => 'Priority Mail Express',
            'PRIORITY_MAIL_1_DAY' => 'Priority Mail',
            'FIRST_CLASS_MAIL' => 'First-Class Mail',
            'PRIORITY_MAIL_INTERNATIONAL' => 'Priority Mail International',
        ],
    ],
]

Get started with Postie

Available for Craft 3. Get it from the plugin store.