Hi Ryan -
I ran into some tricky framework issues when implementing my subscription payments in the cybersource SOAP api, and wanted to let you know since you are working on a uc_recurring framework -
I had an issue with the structure of the $order object being passed to the gateway - and the setup of the "line_items" object and how it did not include specific products, just a "subtotal". I understand the thought behind this, so I'm not suggesting a change, but to add a subscription price for a specific product in my cart, I had to manually loop through the products array in the $order object and check for my subscription attributes, and calculate a total using everything in my products array in a separate loop. After that I loop through the line-items to add taxes or shipping...
Some problems were with specifically how Taxes were added into the line_items object "as a whole" but were not added, or did not have information for how much tax amount went to each product. This made it a little difficult to add the tax amount for a product into the subscription fee. I suppose a solution would be for the taxes array in the line_items object to have a "products" array in there with the taxes for each product, allowing you to get the specific tax for a product in a gateway implementation.
Another possible solution (at least in terms of how cybersource implements subscriptions) would be to add a subscription array to the line_items object, with the information for the subscription fees there, hopefully this would allow taxes and shipping to be added to that price if needed - and gateway implementations would not have to loop through all the products to try and calculate the total subscription price out of the products array.
Anyways, I thought I'd chime in on what I experienced with the cybersource subscription model, just to give you an idea of possible scope needed beyond the paypal subscription model.
Thanks!



Re: Some notes from implementing Cybersource subscriptions and f
rad, I'm not sure if you've taken a gander at the recurring fee module in core yet or not. Basically it will pass any sort of recurring fee information attached to a product (via the product feature system) to your module using a hook during checkout. This should totally bypass the troubles you were having. Let me know if I've misunderstood you.
Read more: http://www.ubercart.org/forum/development/2912/looking_uc_recurringmodul...