2

This night I ran into the problem that the UPS method stopped working.

The error on the front-end: "This shipping method is currently unavailable. If you would like to ship using this shipping method, please contact us."
https://prnt.sc/ncv1mr

By enabled debug for UPS method I got next logs:

[2019-04-16 18:55:13] main.DEBUG: array (
  'request' => 
  array (
    'accept_UPS_license_agreement' => 'yes',
    '10_action' => '4',
    '13_product' => 'GNDRES',
    '14_origCountry' => 'US',
    '15_origPostal' => '44610',
    'origCity' => NULL,
    '19_destPostal' => '93906',
    '22_destCountry' => 'US',
    '23_weight' => 5.0,
    '47_rate_chart' => 'One Time Pickup',
    '48_container' => '00',
    '49_residential' => '01',
    'weight_std' => 'lbs',
  ),
  'result' => '',
) [] []

No result.
Where might be an issue?

Magento 2.2.6

Thanks.

1
  • double check your UPS settings it might be set to be available for a specific country, city or region or set to specific weight or etc.
    – fmsthird
    Commented Apr 16, 2019 at 21:15

1 Answer 1

5

Having the exact same issue on 2.1.5 and 2.1.17. Our last UPS order came through April 15th at 9pm. With no configuration change, it stopped working on April 16th.

You can possibly fix it by changing the gateway url to https rather than http So change

http://www.ups.com/using/services/rave/qcostcgi.cgi

to

https://www.ups.com/using/services/rave/qcostcgi.cgi

This fixed things on my local 2.1.5 instance, but not on my servers. It now gives a slightly better error message:

[2019-04-18 17:26:37] main.DEBUG: array (
'request' => 
  array (
    'accept_UPS_license_agreement' => 'yes',
    '10_action' => '4',
    '13_product' => 'GNDRES',
    '14_origCountry' => 'US',
    '15_origPostal' => '28146',
    'origCity' => 'Salisbury',
    '19_destPostal' => '28145',
    '22_destCountry' => 'US',
    '23_weight' => 8,
    '47_rate_chart' => 'Regular Daily Pickup',
    '48_container' => '00',
    '49_residential' => '01',
    'weight_std' => 'lbs',
  ),
  'result' => 
  array (
    'error' => 'Unable to Connect to ssl://www.ups.com:443. Error #0: ',
    'code' => 0,
  ),
) {"is_exception":false} []

EDIT:

I ended up having to edit /public_html/vendor/magento/zendframework1/library/Zend/Http/Client.php and change the adapter from Zend_Http_Client_Adapter_Socket to Zend_Http_Client_Adapter_Curl and it now works for me. I don't feel good about this solution. Can anyone tell me what else I might be screwing up?

protected $config = array(
    'maxredirects'    => 5,
    'strictredirects' => false,
    'useragent'       => 'Zend_Http_Client',
    'timeout'         => 10,
    'adapter'         => 'Zend_Http_Client_Adapter_Curl',
    'httpversion'     => self::HTTP_1,
    'keepalive'       => false,
    'storeresponse'   => true,
    'strict'          => true,
    'output_stream'   => false,
    'encodecookies'   => true,
    'rfc3986_strict'  => false
);
4
  • Thanks! It worked! It is strange that the http worked before.
    – Igosyee
    Commented Apr 18, 2019 at 18:43
  • Hello Thanks for this one. I'm having the same issue. and turning http to https for the gateway URL worked on my end. Thanks again Commented Apr 22, 2019 at 2:49
  • 1
    This "just" occurred for all of our Magento sites (all 1.9.x versions). Had to update all the gateway urls to https. Weird this just occurred for us now. Commented May 16, 2019 at 0:41
  • This issue occurred without our knowledge on a M 1.9.4.1 site on a shared host. UPS returns the 'unable to connect to SSL'. Switching from Zend to Curl creates a new error and the sysadmin at the shared host is clueless to update the ca-certs on their machine. BUT switching to UPS XML works, but is not an option. Updating the URLs from http to https creates a new SSL error. Only thing working is the USPS. FedEx is dead as well.
    – themew
    Commented Aug 8, 2019 at 22:44

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.