RCwebdev:
I need to upgrade the Sage Payment Solutions Module from Zen Cart 1.3.7 to 1.5.1 and integrate it with TaxCloud.
http://www.zen-cart.com/downloads.php?do=file&id=387
The 1.3.7 module is currently working with TaxCloud, but has intermittent problems (some may be related to error recovery).
I would assume that if it is working at all you aren't really dealing with a V1.3.7/1.5.1 compatibility issue.
RCwebdev:
I know I can and will do a compare of source files between versions for other payment modules,
I doubt that this will help solve intermittent type problems.
RCwebdev:
but if you can share some info on upgrading payment modules would be greatly appreciated.
This is a very broad thing to ask. A standard/typical response would be to replace the old files with the upgraded ones. However, from the sounds of it, you are asking about what modifications are needed to make the old files compatible with the newer zencart versions.
RCwebdev:
I am an experienced programmer, but have limited Zen Cart experience.
You probably don't need 'Zen Cart experience' for this.
RCwebdev:
I would like to either outsource this work to an experienced Zen Cart developer who understands the changes between versions and the overall structure of Zen Cart better than I do. If I can't find somebody I may have to do it.
You are probably making a lot more of this than need be. As per my 1st comment, the fact that the module works at all is evidence that it is already compatible with ZenCart V1.5.x, so you can pretty much forget the need to 'understand the changes' (This isn't true of all zencart modules, especially those that need to be 'registered' for them to appear in the Zencart menus). The shipping and payment modules don't require this.
As for the 'intermittent problems', again, this is unlikely to be related to zencart version changes (which would typically be it either does work, or it doesn't work nature), so if we accept that these problems are related to 'error recovery' I would assume that such errors can and should be trapped and resolved with the payment code only. 'Zencart' is basically an 'API' that the modules use. Zencart invokes the modules when required, and expects the data to be returned in a specific format. How the data is obtained by the modules is of no consequence to ZenCart itself. As long as it gets either a valid data response or an error response then you don't need to concern yourself with what ZenCart does with the data, just as ZenCart doesn't concern itself with how errors within the module(s) are handled.
In short, you can probably assume that the input and output data for the module is correct (else it wouldn't work at all), so if you just concentrate on the errors experienced within the module itself you'll be home and hosed.
Cheers
RodG
ps. You'll also find you'll tend to find more compatibility issues due to PHP upgrades rather than due to the ZenCart upgrades.