WordPress eShop USPS Shipping Rates Plugin

Wordpress eShop USPS Shipping Rates Plugin

Use WordPress eShop USPS Shipping Rates Plugin to replace eShop’s default shipping methods with live calls to United States Shipping Service.

eShop Shipping Extension framework overrides eShop’s default shipping methods. Add USPS support with WordPress eShop USPS Shipping Rates Plugin for real time shipping rates.

Please note that if you’re using WooCommerce, this is NOT FOR YOU! This works with eShop for WordPress only.


  1. Install Free eshop-shipping-extension plugin from WordPress.org if you haven’t already done so (min. v1.4 required);
  2. Upload eshop-shipping-extension-usps.zip to your blog’s wp-content/plugins directory;
  3. Activate WordPress eShop USPS Shipping Rates Plugin in your Plugin Admin interface;
  4. Set eShop shipping preferences to Mode 4 (by Weight & Zone);
  5. Go to Settings -> eShop Shipping Extension to activate USPS interface;
  6. Follow the instructions on how to obtain your USPS API credentials, and save your preferences.


1. A few easy settings get you up and running in minutes.

USPS Admin Panel

USPS Admin Panel

2. Ajax requests to USPS API interface fetch base rates and extra services (when available).

USPS Shipping Form Options

USPS Shipping Form Options



Use the forum to post your questions and I’ll help however I can. For fastest results, make sure you include the following:

  1. eSE Version
  2. Active 3rd Party Module (e.g. Canada Post/USPS/UPS)
  3. Debug XMLs
  4. Complete Error Message, if applicable

Related Modules


  • 2.1.3
    • Added Automatic Priority Flat Rate Box sizes


26 thoughts on “WordPress eShop USPS Shipping Rates Plugin

  1. Wondering when UPS will be up and ready to go.. THANK YOU CODE GOD for making this.. the one thing i HATE about eshop is the shipping situation..

    • Hi Joshua,

      I totally agree – so much that I decided to write this module. I’ll try to release UPS by next week.


      • I’ll be keeping an eye out for that UPS module!

      • can you explain a bit more how this works? right now i ship only to the US but i would like to add Canada, but i was not sure how. if i do this will it reset my matrix?

        • Hi Kim,

          eShop Shipping Extension overrides some of eShop’s functions, enabling the store to communicate with the courier of your choice. Currently, there are modules for Canada Post and USPS – which means if you are in Canada and you want to ship using Canada Post, all you have to do is download eSE from wordpress.org and set it up. If you are in the US (which I believe is the case), acquire the USPS plugin after downloading eSE, upload, and activate it.


          Under Settings -> eShop Shipping Extension, you’ll see a new section for US Postal Service. You’ll need to add your User ID – which you can get by registering at USPS Web Tools.

          Besides the User ID, you have to select which services you’d like offer quotes for. For each selected service you will have to set the specific service options displayed below the “International Mail Types” select box.

          Save your preferences.

          User Interface:

          Once you’ve saved your preferences, the checkout form will display a link to get shipping quotes. The Country and Zip/Postal Code are usually required to get the rates. Any errors (like missing fields) will show up right above the link. If no errors were found, then a drop-down with the rates will be created, and any additional services available will be displayed with a checkbox.

          After selecting the desired shipping service and any additional services, those get calculated into the shipping field and sent to the merchant gateway.

          Order Screen:

          Under the order screen, where you regularly see “Shipping”, you will now see the shipping information selected, with any extra services the user may have checked. That’s how you know what to use when taking the parcel to the post office.

          The parcel dimensions are still at a very simple stage – you can only set up one dimension per service. This means you probably want to set up the maximum dimensions for that service in order to get safer quotes (better to over-quote than under-quote).

          Commercial rates are generally lower than counter rates, so I highly recommend choosing “Commercial” => “No” at the beginning until you get comfortable with the dimensions setup – if you get under-quoted because of an incorrect dimension, you still have some flexibility by setting counter rates and paying commercial rates at the post office.

          Regarding your matrix: no, you will not reset it. This plugin does not change any of eshop’s existing settings – if you want to stop using eSE, all you have to do is to disable the plugin or select “None” in the admin settings for eSE.

          I hope this has covered your doubts. Feel free to ask with more details if there is still something you don’t understand.


      • Hello Vinny, I would like to know if I buy this extension plugin for usps. Will I still need to buy a third party online shipper as well that charges $29.00 that works with stamps.com.. I’m new to word press and i do not know what I’M doing. I need shipping of all the cheapest rates that a customer can see when they check out. Will this plugin solve the problem.. I want to be able to use regional priority shipping etc. Email me at lecre05@yahoo.com Thanks Need help with web site thanks

        • Hi Tia,
          My shipping plugins are intended to be used with eShop for WordPress. I looked at your site and saw that you are using Woocommerce. I recommend that you look at their USPS plugins here. I’ll email you to discuss any other needs for your site.


          • Hello Vinny,
            This is Tia from Bodiscentials.com
            I paid someone to make my web page and this is what he gave me in return.. Told me that I had woocommerce for shipping and for me to learn how to use my web page. I need to focus on other parts of my business not trying to learn how to build a web page.. So let me ask you this what is the diffrence in woocommerce and USPS shipping then the one in eshop? Which one is better woocommerce or eshop. I’m not sure if I was given an incomplete web page. Should I change to eshop?

          • Hi Tia,

            Both e-commerce solutions are excellent and get the job done. WooCommerce requires a theme that works with it, while eShop works in pretty much every theme. I use WooCommerce on my wife’s online pharmacy (http://medicine4life.ca) and eShop for my own site to sell my plugins. My recommendation is, if you already have WooCommerce, stick with it. The only difference between the USPS implementations is how they are set up, and the fact that they are not cross-system compatible (WC USPS doesn’t work on eShop and vice-versa). I sent you an email asking what it was that you needed on your site so we can discuss solutions.

          • Hello Vinny Again this isTia Harris with Bodiscentials Im not really u sure what else I need on my site other then more information which I’m working on at the moment.. I just would like my site to be more user friendly. I would like my authorized.net symbol to be at the top of page I would like all my media tabs at the top of page it look naked.. How can you help me and what would you recommend for my site To be more user friendly Thanks for helping and your advice I really appreciate your help. thanks

  2. HI Vinny, Is this plugin for Eshop Shipping Extension a paid plugin to get the real time postal rates because the free plugin isn’t helping? I just saw the prices after I sent you that last message. Thanks again

    • Hi Niema,

      eShop Shipping Extension Plugin is a framework (free) that comes with Canada Post API interface (also free). If you need to use UPS or USPS, you will need to purchase the additional modules (USPS on this page, and UPS here

  3. Hi Vinny,

    I have one more question before I purchase. I will be shipping from the United States, Can I still use the USPS Module?


    • Hi Niema,

      You can, and in that case you will have to take the parcels to a USPS office. If you use UPS, you will have the option to take the parcel to a UPS office or call them for pickup (if you don’t already have a Daily Pickup plan with them). It all depends on your business setup. The only constant here is that you CANNOT use Canada Post module to ship from the US.


  4. Thank you for responding so fast. I appreciate it.


  5. Hello Vinny

    Yesterday I have purchased your USPS module in order to integrate it to my eshop shipping extension, however, when I was exploring its functionality, especially in US Postal service section, I have noticed that we have to include our User ID, (something that already received along with its password), I have contacted USPS Internet Customer Care Center via email as you suggested to grant me production access, with not luck yet.
    My question is: once we have all these data in place and our access granted from (ICCC) do we need to put our hands on any other configuration (server configuration perhaps) or extra coding? because, the links of USPS WEB Tools that you provide has a lot of info how to integrate the API into an e-commerce,which confuse me even more because for a moment I thought that your plugin replaced all these steps.
    What I am missing here?
    Best Regards

    • Hi Frans,

      Thank you for purchasing USPS module! You don’t need anything other than the settings in the Admin interface. This tool is still quite simple – it only gets shipping rates. In the future I plan to add the ability to print shipping labels and also to track parcels (which is in part what is documented in the USPS Web Tools website), but that’s not coming any time soon.

      Regarding ICCC, it’s usually faster to get them on the phone. And if you have the bad luck of getting a rep who says you need to test more before he grants you production access, tell them that this module is provided by a third party and has already been tested extensively by several production customers. If that still doesn’t work, hang up and call again to get to a different rep. That usually does the trick.


  6. Thank you for respond to my concern Vinny.
    Let me inform you that ICCC have replied to my email early this morning, so if you allow me, I will like to share the back and forward emails with those who are considering this option.

    – Me –

    I am sending this email because I need to enable production access to my website in order to provide (real time) shipping rates. My User ID is: (xxxxxxxxxxxxx)
    – iccc –

    Dear Frans
    Thank you for contacting the USPS Internet Customer Care Center in regards to moving your account to production. I will be happy to assist you today

    I apologize; however, the test logs under UserID xxxxxxxxxxx do not show any valid test requests. We are unable to move your account to the production server until at least two valid test requests have been received. If you are using third party software testing is not required. Please provide the name of the software and we can then update your account.
    We will be happy to further assist you as soon as we receive your response.
    – Me –

    Thank you Ernesto for getting back to me on this.
    I am glad that you mentioned the third party software, because I am currently using a WordPress “software” (PLUGIN) called eShop Shipping Extension with a USPS Module which requires only my UserID. I hope this information is good enough in order to move forward to the next step.
    – iccc –

    Dear Frans,
    Thank you for your response.

    As per your request, profile xxxxxxxxxx has been updated to allow you access to the Production Server.

    1. The Production Server URL is: http://production.shippingapis.com. For APIs calling the secure server, the URL is https://secure.shippingapis.com.
    2. There is a line of code that refers to “shippingapitest.dll”. You’ll need to remove the word “test”.

    If you have any additional questions or concerns, please contact us again.
    Thank you,

    I hope this info is useful to those who are seeking for additional information about this process…

    Now, before I go, I will like to ask you something else Vinny!
    I already have the access granted,however, when I complete the form with the shipping information, I have this error:

    *** Invalid XML Element content is incomplete according to the DTD/Schema. line= 0 pos= 1668 ***

    Any ideas?
    Also, I have noticed that I cannot define more than one Package Size for service, so what do you do when you have 3 different sizes?

    • Hi Frans,

      Thank you for your update regarding your chat with ICCC. I’m sure it will be helpful to other people as well.

      Regarding the XML error, please email me the full debug request and response (turn on debugging, make a request, refresh the eShop Shipping Extension admin screen, and click on display debug contents. Save both fields in a text file and send it to me (vinny [at] usestrict [dot] net).

      Regarding the package sizes, starting with eSE version 1.4, you can enable Package Sizes “Per Product” and “Per Product Option”. “Global” option uses only the package sizes specified in the admin screen. The other two options work with Package Classes (only visible when one of the two options are selected). You can create as many Package Classes as you want, and will be able to set the correct class in the “Product Entry” form for each of your products.

      Have a look at this post for screenshots of how it works.


  7. I am interested in giving customers the option of both UPS or USPS for there shipping. can I do this if I add the USPS Module. I already have the UPS Module installed and running. I am about a week from having the store go live.

    • Hi Dan,

      Unfortunately you cannot do that at this time. I’m working on the code to allow multiple vendors but I don’t know when it’ll be ready.


  8. Hello again Vinny

    Today one of our customers sent us an email saying that our checkout process doesn’t work properly, and so we reply right away to know more details about the issue, It looks like; as soon as the customer complete the form for payment and delivery, the area of the shipping estimate shows a wheel spinning without showing the rates. I contact ICCC and they said that everything looks okay from their end and that I have to contact the software provider. So here I am!
    I think the best way to explain this issue is if you try it yourself?

    • Hi Frans,

      I took a look at your form and the issue seems to be with the eShop Dynamic Checkout States plugin, and not with the USPS plugin. When I run the query for any country using Ajax, the GET request fails. If I paste it in the browser window, it works. I also ran my tests against my wife’s website and it works fine.

      I suspect it’s a problem with your server configuration. If you can get me the server’s error logs, I might be able to diagnose the problem better. In the meantime, I recommend that you deactivate the eShop Dynamic Checkout States plugin until the issue is resolved.


      • Hey Vinny

        Thank you for getting back to me.
        If you think is my server configuration I will email you my Server Log file (please use it with discretion), but first, would you recommend to re-install the plugin? because at this point I have uninstalled eShop Checkout Dynamic, but the issue persists! Please feel free to take a look by yourself anytime.

        • I sent you an email this morning when I saw that you had uninstalled eShop Checkout Dynamic and that the issue persisted (at a different point in the code, but the same error – ajax not working).

          Feel free to try to reinstall the plugin, but I doubt it’s the case. The Server Logs should have error messages from between 8 and 9 AM EDT (when I tried it).

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.