iTransact::Lite
I've just released a new module called iTransact::Lite. It's just a simple wrapper around the iTransact XML Connect payment gateway web service.
It does all the hard work of signing, serializing, and submitting your requests to their web service. However, I call it "Lite" because it doesn't do any document formatting or response handling. Therefore it still requires knowledge of the web service documents. Luckily, those are well documented on iTransact's web site.
If you're looking for a new payment provider, you could do worse than iTransact, and with this module, you have fairly easy access to the service. This module is in use in The Game Crafter and our forthcoming Mob Rater service.
It would be cool to base this module on Business::OnlinePayment, so users of Perl e-commerce software can easily integrate it.
At any rate, please don't put it in the root namespace of CPAN, e.g. rename it to Business::iTransact::Lite.
Regards
Racke
Thanks for the suggestion. If at some point I need Business::OnlinePayment I'd certainly create a wrapper around this module for it. If somebody else needs it they're welcome to wrap my module. I specifically didn't use it because I don't need to be pluggable for my projects, and making a Business::OnlinePayment module requires a lot of code that I don't need.
As far as I know, there's no rule as to how modules need to be named. Starman, Plack, Moose, Catalyst, Facebook all sit in the root for example. And I don't think there will be anybody wanting to use the iTransact root namespace. Moreover, there doesn't even seem to be a consensus amongst developers as to where to put interfaces to web services. They use everything from the root namespace to Net::, Web::, WebService::, WWW::, and Business::.
Here are some relevant quotes from On the Naming of Modules (pause.perl.org):
"There isn't a set of formal rules, or even its less restrictive little brother, guidelines, for naming your packages. Your module can use any name that it likes, but like all names, a good one goes a long way."
"For frameworks like
Moose
,Catalyst
, orDBI
provide a functionality around an idea rather than a particular low-level or general task. They don't live in a hierarchy because they are large enough to stand on their own.""Even though the module naming is in practice a first-come first-served process, it is quite impolite to grab top-level names. Yes, even if your project/product is named with just a single word, please think of people trying to find something that would help them in their problems."
"Modules that interact with websites use the network, but they aren't about the network, and they have much better homes in
WWW
orWebService
."