This is a request for comment, specifically on (1) whether any modules which already do this are out there, and (2) whether this is an appropriate place in the Namespace to park this. Of course I am certainly open to any other ideas folks might have about how to build this in a useful and broadly reusable way.

Business::CCProcessor, as I envision it being called right now, would permit a script to collect non-financial data locally and then using an http POST call, hand that data off to a secure credit card processor which then collects the credit card parameters, and processes the transaction between the credit card owners account and the script owners account. This is a poor man's variant on Business::OnlinePayment for clients who cannot afford the video camera watched locked cages around their server, to collect credit card payments from their buyers or donors, in a real-time interaction with the credit card owner.

Business::OnlinePayment allows a script to accept credit card data from an end user or other source and process a transaction of funds between the account represented by the credit card data and the account owned by the merchant which deploys the script. Its a fine tool for a client who can afford the security it requires to handle credit card data. But another approach is required for folks who haven't invested in an ssl certificate, their own IP and a dedicated server.

I'm guessing that at least the following two modules would be included from the onset, ::Paypal, for which I have working code for this to extract from several scripts now, and ::Verisgn for a new client's site, which I need to write today.

Any advice would be appreciated.

-- Hugh

UPDATE:

I've now posted Business::CCProcessor to cpan. If this would be useful to you, please download a copy, test it and check it out. Feedback, tests, patches, bug reports, feature requests, etc. are welcome. Consider testing the buttons it's test suite generates. The paypal button should drop your contribution into the coffers of the Georgia Green Party. Your support would be appreciated.

if( $lal && $lol ) { $life++; }

Replies are listed 'Best First'.
Re: RFC: Business::CCProcessor
by perrin (Chancellor) on Jan 26, 2007 at 20:58 UTC
    Most processors seem to offer some kind of mode like this, where you send users to a page hosted on their server to handle financial transactions. I'm sure that modules to help with it would be welcome. However, I wonder if there's enough standardization in their integration approach to make a common API possible. If you find that there is, go for it. If not, you could still put them up, but maybe in different namespaces (e.g. PayPal:: and Verisign::).
Re: RFC: Business::CCProcessor
by cbrandtbuffalo (Deacon) on Jan 26, 2007 at 21:32 UTC
    I believe PayPal bought Verisign's payment services division. PayPal is still offering those services (payflowpro, etc.), but it is now part of PayPal. So I guess that means you'll have a few modes in ::PayPal?
Re: RFC: Business::CCProcessor
by spatterson (Pilgrim) on Jan 29, 2007 at 12:50 UTC
    Each card processor will probably have significant enough differences in the information required (and especially where to send the data) so a good approach may be to have a standard transaction module that then hands off the authorisation to a module specific to an individual payment processor.

    Some of the processors (certainly the 2 big UK ones) have their own secure pages you can forward the cardholder to (including transaction amount, merchant id etc) so the cardholder enters details on the payment company's SSL-secured page and some confirmation code is sent back to the merchant's site.


    just another cpan module author