I am creating a recurring profiles implementation for a payment method. I have create the required functions based on the class Mage_Payment_Model_Recurring_Profile_MethodInterface
. My main struggle is how to physically create the new order.
Firstly I tried creating the order from the payment information as this contains order_info, order_item_info, billing_address_info and shipping_address_info. This had a problem when the payment failed that it was not working in the normal checkout way in terms using sales/service_quote
and being able to roll back.
My question is this really. How should I work with the recurring profile to create the order "correctly" so that error cases work?
Looking at an example system it seems to simply create the order from the profile using Mage_Sales_Model_Recurring_Profile::createOrder
but then in that case how would this work if the payment fails?