PHPackages                             darinlarimore/simple-commerce-ups - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. darinlarimore/simple-commerce-ups

ActiveLibrary[Payment Processing](/categories/payments)

darinlarimore/simple-commerce-ups
=================================

2.0.5(3mo ago)162↓88.9%[1 issues](https://github.com/darinlarimore/simple-commerce-ups/issues)PHPCI passing

Since Sep 29Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/darinlarimore/simple-commerce-ups)[ Packagist](https://packagist.org/packages/darinlarimore/simple-commerce-ups)[ RSS](/packages/darinlarimore-simple-commerce-ups/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (10)Dependencies (6)Versions (19)Used By (0)

[![](src/icon.svg)](src/icon.svg) Simple Commerce Ups
=====================================================

[](#-simple-commerce-ups)

> Simple Commerce Ups is a Statamic addon that calculates shipping costs from the UPS API.

[![](fig2.png)](fig2.png)

Features
--------

[](#features)

This addon:

- Packs items into preset UPS box sizes using the `dvdoug/boxpacker` library.
- Fetches shipping rates from the UPS rates api.

How to Install
--------------

[](#how-to-install)

You can search for this addon in the `Tools > Addons` section of the Statamic control panel and click **install**, or run the following command from your project root:

```
composer require darinlarimore/simple-commerce-ups
```

Then, you'll need to publish the config file:

```
php please vendor:publish --tag=simple-commerce-ups-config
```

Then crete the UPS shipping method, name the Shipping method 'UpsGround' for now.

```
php please make:ups-shipping-method
```

Setup Instructions
------------------

[](#setup-instructions)

### API Credentials

[](#api-credentials)

In order to use the UPS api, you'll need to do the following:

1. Go to the [UPS Developer portal](https://developer.ups.com/) and login to your account.
2. From the [Apps section](https://developer.ups.com/apps), follow the prompts to create a new app.
3. Select "I want to integrate UPS technology into my business" and select or create an account to associate.

[![Screenshot 2025-03-29 at 9 20 20 PM](https://private-user-images.githubusercontent.com/20300635/428364297-395d5d6c-677c-44f9-bab0-50da15386d4e.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAxOTA3NDIsIm5iZiI6MTc4MDE5MDQ0MiwicGF0aCI6Ii8yMDMwMDYzNS80MjgzNjQyOTctMzk1ZDVkNmMtNjc3Yy00NGY5LWJhYjAtNTBkYTE1Mzg2ZDRlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA1MzElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNTMxVDAxMjA0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFjZGQyMmM3NTdkYzg3OTYxZDgyMjg2NTkwYmU5MzUxYmM4YjFjMTJjNzVkZTlkYWMxNjU2ZmEwODc3MjRiNzAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.7ZBtR3FG2TAS1gSLcdS9msCJsBNTC66b6ELDXIbkPP8)](https://private-user-images.githubusercontent.com/20300635/428364297-395d5d6c-677c-44f9-bab0-50da15386d4e.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAxOTA3NDIsIm5iZiI6MTc4MDE5MDQ0MiwicGF0aCI6Ii8yMDMwMDYzNS80MjgzNjQyOTctMzk1ZDVkNmMtNjc3Yy00NGY5LWJhYjAtNTBkYTE1Mzg2ZDRlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA1MzElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNTMxVDAxMjA0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFjZGQyMmM3NTdkYzg3OTYxZDgyMjg2NTkwYmU5MzUxYmM4YjFjMTJjNzVkZTlkYWMxNjU2ZmEwODc3MjRiNzAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.7ZBtR3FG2TAS1gSLcdS9msCJsBNTC66b6ELDXIbkPP8)4. Add your contact information [![Screenshot 2025-03-29 at 9 20 51 PM](https://private-user-images.githubusercontent.com/20300635/428364360-a5131f05-4391-4ba6-85e8-c0f2d1f597f9.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAxOTA3NDIsIm5iZiI6MTc4MDE5MDQ0MiwicGF0aCI6Ii8yMDMwMDYzNS80MjgzNjQzNjAtYTUxMzFmMDUtNDM5MS00YmE2LTg1ZTgtYzBmMmQxZjU5N2Y5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA1MzElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNTMxVDAxMjA0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU5Mjk0OTBmODg5ODg4NDQ2NmJkMzAzYmZlMWQ4MDQxZDY3NDM1ZTQzODcwMmUzYzczMjQxMDI1OGNmMmVmNjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.DYEWxVkee6hBDPl6aer4vuxivV1JlFvUIoBWKrfyxfI)](https://private-user-images.githubusercontent.com/20300635/428364360-a5131f05-4391-4ba6-85e8-c0f2d1f597f9.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAxOTA3NDIsIm5iZiI6MTc4MDE5MDQ0MiwicGF0aCI6Ii8yMDMwMDYzNS80MjgzNjQzNjAtYTUxMzFmMDUtNDM5MS00YmE2LTg1ZTgtYzBmMmQxZjU5N2Y5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA1MzElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNTMxVDAxMjA0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU5Mjk0OTBmODg5ODg4NDQ2NmJkMzAzYmZlMWQ4MDQxZDY3NDM1ZTQzODcwMmUzYzczMjQxMDI1OGNmMmVmNjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.DYEWxVkee6hBDPl6aer4vuxivV1JlFvUIoBWKrfyxfI)5. In the next view leave callback URL blank and select the "Ratings" and "Authorization (OAuth)" APIs [![Screenshot 2025-03-29 at 9 30 00 PM](https://private-user-images.githubusercontent.com/20300635/428364475-18691a50-1dc9-497a-a600-19986be67348.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAxOTA3NDIsIm5iZiI6MTc4MDE5MDQ0MiwicGF0aCI6Ii8yMDMwMDYzNS80MjgzNjQ0NzUtMTg2OTFhNTAtMWRjOS00OTdhLWE2MDAtMTk5ODZiZTY3MzQ4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA1MzElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNTMxVDAxMjA0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM1MzUyMTZmODhhMDdlZTRlMDA0NDY3NWI0OGQwYmJjMjZmZWY0MGYyMDZmZmM0MmE4MjJmOTBkY2EyZjc5MDcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.46JTdpRvBdA6_Gog02R6TCSsr7mTUmGbI-1C2AUuwgk)](https://private-user-images.githubusercontent.com/20300635/428364475-18691a50-1dc9-497a-a600-19986be67348.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAxOTA3NDIsIm5iZiI6MTc4MDE5MDQ0MiwicGF0aCI6Ii8yMDMwMDYzNS80MjgzNjQ0NzUtMTg2OTFhNTAtMWRjOS00OTdhLWE2MDAtMTk5ODZiZTY3MzQ4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA1MzElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNTMxVDAxMjA0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM1MzUyMTZmODhhMDdlZTRlMDA0NDY3NWI0OGQwYmJjMjZmZWY0MGYyMDZmZmM0MmE4MjJmOTBkY2EyZjc5MDcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.46JTdpRvBdA6_Gog02R6TCSsr7mTUmGbI-1C2AUuwgk)[![Screenshot 2025-03-29 at 9 22 41 PM](https://private-user-images.githubusercontent.com/20300635/428364477-2363015e-9cb8-46af-91cb-f88e3228cd82.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAxOTA3NDIsIm5iZiI6MTc4MDE5MDQ0MiwicGF0aCI6Ii8yMDMwMDYzNS80MjgzNjQ0NzctMjM2MzAxNWUtOWNiOC00NmFmLTkxY2ItZjg4ZTMyMjhjZDgyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA1MzElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNTMxVDAxMjA0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY5ZTNlZDc4MDViNGYxNmMzNmZlZjZhMmJmNGM2YzEzNTk3MzMwYzk0ZmMxZWZhYTg3MDIwZjAwNWJhYzAxNWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.aQDN7eioI3UwHybcvj9gVI8BO8Tp7NNgEmNeDNWnLLI)](https://private-user-images.githubusercontent.com/20300635/428364477-2363015e-9cb8-46af-91cb-f88e3228cd82.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAxOTA3NDIsIm5iZiI6MTc4MDE5MDQ0MiwicGF0aCI6Ii8yMDMwMDYzNS80MjgzNjQ0NzctMjM2MzAxNWUtOWNiOC00NmFmLTkxY2ItZjg4ZTMyMjhjZDgyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA1MzElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNTMxVDAxMjA0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY5ZTNlZDc4MDViNGYxNmMzNmZlZjZhMmJmNGM2YzEzNTk3MzMwYzk0ZmMxZWZhYTg3MDIwZjAwNWJhYzAxNWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.aQDN7eioI3UwHybcvj9gVI8BO8Tp7NNgEmNeDNWnLLI)[![Screenshot 2025-03-29 at 9 22 30 PM](https://private-user-images.githubusercontent.com/20300635/428364481-4a5f2551-9c69-4080-82eb-1c9d5877210e.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAxOTA3NDIsIm5iZiI6MTc4MDE5MDQ0MiwicGF0aCI6Ii8yMDMwMDYzNS80MjgzNjQ0ODEtNGE1ZjI1NTEtOWM2OS00MDgwLTgyZWItMWM5ZDU4NzcyMTBlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA1MzElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNTMxVDAxMjA0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNkMDZiNDQyZTEzN2Q3ZGYzNjRhNDk3Yzg5MDJmMTcwYWEzYWRjMDVlMTc0NDRmN2UyYzFkY2NmNmNkNzI5NWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.T8oef8qWSIOMEIo6lLMEp4PJQy_02iN5jkKO7PReWkk)](https://private-user-images.githubusercontent.com/20300635/428364481-4a5f2551-9c69-4080-82eb-1c9d5877210e.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAxOTA3NDIsIm5iZiI6MTc4MDE5MDQ0MiwicGF0aCI6Ii8yMDMwMDYzNS80MjgzNjQ0ODEtNGE1ZjI1NTEtOWM2OS00MDgwLTgyZWItMWM5ZDU4NzcyMTBlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA1MzElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNTMxVDAxMjA0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNkMDZiNDQyZTEzN2Q3ZGYzNjRhNDk3Yzg5MDJmMTcwYWEzYWRjMDVlMTc0NDRmN2UyYzFkY2NmNmNkNzI5NWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.T8oef8qWSIOMEIo6lLMEp4PJQy_02iN5jkKO7PReWkk)6. This next view should have your api credentials! [![Screenshot 2025-03-29 at 9 24 21 PM](https://private-user-images.githubusercontent.com/20300635/428364530-452f4054-8885-4ab5-ae32-f1b0024aa945.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAxOTA3NDIsIm5iZiI6MTc4MDE5MDQ0MiwicGF0aCI6Ii8yMDMwMDYzNS80MjgzNjQ1MzAtNDUyZjQwNTQtODg4NS00YWI1LWFlMzItZjFiMDAyNGFhOTQ1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA1MzElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNTMxVDAxMjA0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk2MDc5OWQyZGQ2MDM2N2U0OTc0Mjk3NjNjYWQ2NTJjYThiMzdmZDZhNTAyOWZhOWI3YmQwZGQ3OGQxYWUzYzcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.xbfje80RuaC32q6cbXm9i41L-3DfGbjwOpXnXXsaUd0)](https://private-user-images.githubusercontent.com/20300635/428364530-452f4054-8885-4ab5-ae32-f1b0024aa945.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAxOTA3NDIsIm5iZiI6MTc4MDE5MDQ0MiwicGF0aCI6Ii8yMDMwMDYzNS80MjgzNjQ1MzAtNDUyZjQwNTQtODg4NS00YWI1LWFlMzItZjFiMDAyNGFhOTQ1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA1MzElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNTMxVDAxMjA0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk2MDc5OWQyZGQ2MDM2N2U0OTc0Mjk3NjNjYWQ2NTJjYThiMzdmZDZhNTAyOWZhOWI3YmQwZGQ3OGQxYWUzYzcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.xbfje80RuaC32q6cbXm9i41L-3DfGbjwOpXnXXsaUd0)
7. Copy the Client ID from UPS and paste in your `.env` file:

```
UPS_CLIENT_ID=your_client_id_here

```

9. Copy the Client Secret from UPS and paste in your `.env` file:

```
UPS_CLIENT_SECRET=your_client_secret_here

```

10. Copy your Account Number from UPS and paste in your `.env` file:

```
UPS_ACCOUNT_NUMBER=your_account_number_here

```

The addon will use these environment variables to authenticate with the UPS API.

### Add a Package Dimensions Field to your Products

[](#add-a-package-dimensions-field-to-your-products)

Each product needs package dimensions and weight for the packing algorithm to work. Add a package dimensions field to your product blueprint.

The package dimensions field will automatically create nested fields for:

- Weight (in lbs or kg)
- Height (in inches or mm)
- Width (in inches or mm)
- Length (in inches or mm)
- Package Separately (boolean)

These values will be used to calculate optimal box packing and shipping rates.

> Note: Units are determined by your `UPS_UNIT_OF_MEASUREMENT` configuration.

### Add Shipping Method(s)

[](#add-shipping-methods)

For each shipping service you want to use (eg. UPS Ground or UPS 2nd Day Air), you'll need to create a new shipping method. To do this, run `php please make:ups-shipping-method UPS-Ground` which will create a new shipping method in `/app/ShippingMethods/UPSGround.php`.

In the new file, note the `calculateCost()` function. This is where the `fetchShippingRates()` function is called to fetch UPS rates. You can pass in the service code for the UPS service you want to use. The list of service codes available:

- UPS Next Day Air
- UPS 2nd Day Air
- UPS Ground
- UPS Worldwide Express
- UPS Worldwide Expedited
- UPS Standard
- UPS 3 Day Select
- UPS Next Day Air Saver
- UPS Next Day Air Early A.M.
- UPS Worldwide Express Plus
- UPS 2nd Day Air A.M.
- UPS Saver
- UPS Today Standard
- UPS Today Dedicated Courier
- UPS Today Intercity
- UPS Today Express
- UPS Today Express Saver

Create a new shipping method for each service you want to use, and modify the name, description, and service code within each method.

### Add Shipping Method to Simple Commerce Config

[](#add-shipping-method-to-simple-commerce-config)

In the `config/simple-commerce.php` file, add the new shipping method to the shipping `methods` array.

```
'shipping' => [
		'methods' => [
				\App\ShippingMethods\UPSGround::class => [],
		],
],
```

Box Management
--------------

[](#box-management)

UPS shipping rates are calculated based on package dimensions and weight. The addon includes a box management interface in the control panel under "Simple Commerce &gt; UPS Boxes".

### Default Boxes

[](#default-boxes)

The addon comes with several pre-configured UPS box sizes:

- UPS Letter (12.5 x 9.5 x 0.25 in)
- Tube (38 x 6 x 6 in)
- 10KG Box (16.5 x 13.25 x 10.75 in)
- 25KG Box (19.75 x 17.75 x 13.25 in)
- Small Express Box (13 x 11 x 2 in)
- Medium Express Box (16 x 11 x 3 in)
- Large Express Box (18 x 13 x 3 in)

### Custom Boxes

[](#custom-boxes)

You can add custom box sizes through the control panel. Each box requires:

- Name
- Length
- Width
- Height
- Box Weight (empty box weight)
- Maximum Weight Capacity

All measurements respect your `unitOfMeasurement` configuration (metric or imperial).

### Package Separately Option

[](#package-separately-option)

Products can be configured to ship in individual boxes by enabling the `package_separately` option in the package dimensions.

When enabled, each item quantity will be packed in its own box instead of attempting to combine multiple items in a single box.

Configuration
-------------

[](#configuration)

### Unit of Measurement

[](#unit-of-measurement)

Set `UPS_UNIT_OF_MEASUREMENT` in your .env file:

```
UPS_UNIT_OF_MEASUREMENT=metric    # Use millimeters and grams
UPS_UNIT_OF_MEASUREMENT=imperial  # Use inches and pounds

```

### Test Endpoint

[](#test-endpoint)

Set `UPS_USE_TEST_ENDPOINT` in your .env file:

```
UPS_USE_TEST_ENDPOINT=true   # Use UPS test/sandbox environment
UPS_USE_TEST_ENDPOINT=false  # Use UPS production environment

```

### Ship From Address

[](#ship-from-address)

Set shipping origin address in your .env file:

```
UPS_SHIP_FROM_POSTAL_CODE=46202      # Origin postal/zip code
UPS_SHIP_FROM_COUNTRY_CODE=US        # Origin country code
UPS_SHIP_FROM_CITY=Indianapolis      # Origin city
UPS_SHIP_FROM_STATE_CODE=IN          # Origin state/province code

```

### Pickup Type

[](#pickup-type)

Set your UPS pickup type in .env:

```
UPS_PICKUP_TYPE="Daily Pickup"  # Options: Daily Pickup, Customer Counter, One Time Pickup, On Call Air, Letter Center, Air Service Center

```

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance65

Regular maintenance activity

Popularity10

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 95.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~36 days

Recently: every ~90 days

Total

16

Last Release

95d ago

Major Versions

1.0.9 → 2.0.02025-03-26

### Community

Maintainers

![](https://www.gravatar.com/avatar/f87bfd3084b748a8890d0b72c7ddc1c29922d72e4641aab0a824b29a9909a58b?d=identicon)[darinlarimore](/maintainers/darinlarimore)

---

Top Contributors

[![darinlarimore](https://avatars.githubusercontent.com/u/20300635?v=4)](https://github.com/darinlarimore "darinlarimore (39 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/darinlarimore-simple-commerce-ups/health.svg)

```
[![Health](https://phpackages.com/badges/darinlarimore-simple-commerce-ups/health.svg)](https://phpackages.com/packages/darinlarimore-simple-commerce-ups)
```

###  Alternatives

[statamic-rad-pack/runway

Eloquently manage your database models in Statamic.

135212.4k7](/packages/statamic-rad-pack-runway)[duncanmcclean/statamic-cargo

Comprehensive e-commerce addon for Statamic. Build bespoke e-commerce sites without the complexity.

3310.1k](/packages/duncanmcclean-statamic-cargo)[statamic/seo-pro

68488.6k](/packages/statamic-seo-pro)[statamic/statamic

Statamic

829176.7k](/packages/statamic-statamic)[duncanmcclean/simple-commerce

A simple, yet powerful e-commerce addon for Statamic.

16214.1k2](/packages/duncanmcclean-simple-commerce)[statamic/eloquent-driver

Allows you to store Statamic data in a database.

126688.5k15](/packages/statamic-eloquent-driver)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
