I believe this affects all versions (uc1 and uc2).

At least in uc_ups_fulfill_order_validate function and based on my results with UPS shipping tools,$error->errorseverity[0]->data() is set to 'Hard' when an error is present and not 'HardError' as the current code checks against.

In other words, I believe the statement:
if ($error->errorseverity[0]->data() == 'HardError') {
should be:
if ($error->errorseverity[0]->data() == 'Hard') {

This may also affect uc_ups_quote function, but I have not tested it.

Comments

rszrama’s picture

Assigned: Unassigned » Island Usurper
Island Usurper’s picture

Version: 6.x-2.0-beta6 » 6.x-2.0-rc1
Status: Active » Needs review
StatusFileSize
new1.3 KB

I feel like this has gone back and forth several times. And rather than figure out if the two services have different specifications, or the documentation is wrong, I'm just going to change the code to handle both situations. If it works, I'll backport it to Ubercart 1.x as well.

Island Usurper’s picture

Status: Needs review » Fixed
StatusFileSize
new1.54 KB

The validate function wasn't doing what I intended anyway, which is to set a form error and return to the shipment form. New patch fixes that (as tested on the Livetest) and is committed.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.