Re: RFC: Credit card processing
| From: | Justin Patrin | Date: | Sat, 13 Dec 2003 00:03:40 +0000 |
| Subject: | Re: RFC: Credit card processing | ||
| References: | 1 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-24363@lists.php.net to get a copy of this message | ||
Sounds interesting, and as I'm working on writing a new online cart, this would be useful. I could probably write a Verisign module and possibly help with other aspects if you'd like it.
One problem with verisign is that you have to use their software to actually send the message. The data format is all XML, though, so it makes processing easy. (Or you can use a Query string if you're a masochist.)
Ian Eure wrote:
I'm currently working on some code to process credit cards. It's pretty rough at the moment, but I'd like to see it become something roughly equivalent to CPAN's Business::OnlinePayment. I know of no equivalent of this for PHP. If I've missed one, let me know so I can stop wasting my time. :^) Something like this could be quite big, so I'd like to know what you thought, and if you had any suggestions. It's designed with the factory pattern, which allows for the code for a single processor to be encapsulated in a single file, and allows it to support many different processors. There are a couple issues I'm aware of: 1. Should I let the processors have an arbitrary data format, or should I define a common subset which everything supports? Business::OnlinePayment chose the latter arrangement, and it allows one to change the payment processor quite easily. On the other hand, it makes it harder to support diverse features among the processors, for example if one processor supports CVV2[1]. At the moment, I'm using the freeform method, which is much simpler. 2. Should I try to support Business::OnlinePayment modules? It seems like this would be fairly easy to do with a glue processor which calls a perl script. So, any interest? I'm at least going to finish the base and one processor (DPILink), as I intend to use the code in my current project. [1]: http://1callhosting.com/cvv2/-- paperCrane <Justin Patrin>