Real Time Rates Failure Issues - Any Caching Workaround Available?


We have several USPS services configured (e.g. Media Mail, Priority Mail Flat Rate envelope, First Class) in our CS Cart. Often times several will cover the same weight ranges. The services differ by time of delivery so offering all of them is important.

Now, it appears that CS Cart (4.7.3) sends a separate request for each service. Further, this request is sent every time the cart is calculated even if products/address have not changed (e.g. I change the selected shipping method or submit the order after having made all my selections).

The problem is that when the USPS API fails (as it has been doing frequently as of late), CS Cart will automatically switch to another shipping method if the previously selected one was not computed successfully.

For example, a user may select Media Mail at checkout and submit the order. But when the order is submitted, CS Cart attempts to compute shipping again and if it fails to get the Media Mail rate, automatically switches the order to a different shipping method with a different rate (e.g. Fedex, etc).

Obviously, this is terrible for customer service.. as rates and order totals are being changed on them without their approval.

I would imagine that a better implementation would have been to cache the successful responses from the webservices and use them if the input parameters have not changed.

Does anyone have a fix/workaround/addon that can help with this? It is becoming quite a source of frustration for us and our customers.

Thanks for your help.


P.S. I have also reached out to USPS to see why we're getting errors sporadically. Here's the error message in case anyone else has had experience with this:

An error has occurred with the service. Please contact the system administrator, or try again.
But regardless, the design issue above still stands...