This doesn't seem to be a very good option mainly due to the Terms and Conditions of Use that most people might skip over.
* User agrees to use the USPS Web site, APIs and USPS data to facilitate USPS shipping transactions only.
* User may not use USPS Web Tools APIs in connection with any other payment system other than the USPS Pay@Delivery Service.
* Developer may package software which interfaces with any or all USPS APIs with password and ID for resale or distribution to others only after registering with USPS as a Developer and agreeing to these Terms and Conditions of Use.
So you can only use the API to get info if you're using USPS shipping and you must use their services to handle monetary transactions. This solution doesn't seem to help with the problem at hand, unless he wants to dump his cc processing service. Furthermore, this particular problem doesn't require anyone to verify that the address exists but rather compensate for the expected data format of his processing service's AVS. As for your modules that you're releasing to CPAN, be certain to include the terms of use as it is yet another requirement for use of the API.
antirice
The first rule of Perl club is - use Perl
The ith rule of Perl club is - follow rule i - 1 for i > 1