I would certainly love to see this centralized in core. Having looked very briefly at Authorize.net, PFP, and Linkpoint recurring API's, it does seem that they are similar enough that it would make sense to put the business logic in core and the specific gateway calls in their individual modules.
I haven't been able to test souvent's PFP module yet, but the basic logic of it sounds good to me. I would like to see some way to disable the user's options about the renewable product though. For example, in the cart and at checkout the user could be told for the recurring product "You will be billed once a month until you cancel" and not be able to choose how many times it will renew. In my mind these are "recurring" as opposed to "renewable". Perhaps this exists in the PFP module already...
It would also be great to have some events generated by the recurring payments that our custom modules can use. For example:
-Recurring payment received
-Recurring payment failed (error code)
-Credit card expiring in < 1 month
Some of this may need to be done in cron, since I'm not sure what the payment gateways will push out to us for each recurring payment.
Finally, I think we would want to have some hooks for canceling and updating recurring payments (i.e., raising or lowering prices).
I hope these thoughts are helpful!
Best,
Xerxes



Joined: 09/07/2007