diff --git a/modules/stock_package_shipping_ups/stock.py b/modules/stock_package_shipping_ups/stock.py index 9ac87bab6b..33f4c2eecc 100644 --- a/modules/stock_package_shipping_ups/stock.py +++ b/modules/stock_package_shipping_ups/stock.py @@ -185,17 +185,21 @@ class CreateShippingUPS(Wizard): try: while nb_tries < 5 and response is None: try: - req = requests.post( + response = requests.post( api_url, json=shipment_request, headers=headers, timeout=TIMEOUT) except ssl.SSLError as e: error_message = e.reason nb_tries += 1 continue - req.raise_for_status() - response = req.json() + response.raise_for_status() + response = response.json() except requests.HTTPError as e: - error_message = e.args[0] + try: + errors = e.response.json()['response']['errors'] + error_message = "\n".join(m['message'] for m in errors) + except (requests.JSONDecodeError, TypeError, KeyError): + error_message = e.args[0] if error_message: raise UPSError(