1

I find Magento to be incredibly unfriendly. It's difficult for me to setup what should be very simple basic functions. I couldn't figure it out in the past so I set a flat rate for my shipping and just used First Class International mail for international orders. Now USPS has taken that away so all international orders are a rip off, nothing less than $10 leaves the USA now. You can't even print the labels for letter rate anymore.

How do I set this up in magento without having to pay for a damn plugin

I just need to set the following:

Domestic orders: Shipping is $3.99 International orders: Shipping is $12.99

How do I do this? Nothing makes sense to me in the options, and can't make heads or tales out of the table rates. Is there a simpleton version for morons? I need help. I'm using Magento 1.9

1
  • I tried following this guide: hurleydesignconsultants.co.uk/… But I used Price vs Destination. I have all the country codes, I used the astrix to indicate all for zip code and region, I set the price to $11.99 everywhere but USA. USA is set to $3.99. I import the CSV it takes it, when I do a test on checkout, when onepage gets to "Shipping Method" it says "Sorry, No quotes are available for this order at this time" WTF am I doing wrong? I have screenshots but I can't figure out this UI to upload them. Why is this so hard to do?! Commented Jan 22, 2018 at 18:18

1 Answer 1

1

Ths USPS has not taken away First Class International. The API was changed in January, as annouced on their website: https://www.usps.com/business/web-tools-apis/2018-jan-feb-release-notes.pdf

The short of it is, when Magento requests shipping rates, if it includes the value of the shipment, that option will not be returned.

I have a rewrite extension to work around this, however I will have to check the company release process in order to publish it.

In the meantime, you can copy the file app/code/core/Mage/Usa/Model/Shipping/Carrier/Usps.php to the local directory: app/code/local/Mage/Usa/Model/Shipping/Carrier/Usps.php

Around line 260 you will find: $r->setValue($request->getPackageValue());

Change that to: if ($this->_isUSCountry($destCountry))

{ $r->setValue($request->getPackageValue()); }

Now that value field will only be sent for US destinations and you will get the rate back. Note: I tried setting it to 0 like the release notes specified and still could not get a rate. Removing the field entirely fixed the issue. This particular fix is not "upgrade safe" because if Magento makes any changes to the Usps.php file in the future those changes will not be reflected in this file. That's why I used an extension to rewrite the class but I need approval to publish it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.