module Spree
  Payment.class_eval do
    state_machine :initial => 'checkout' do
      after_transition :to => 'completed', :do => :create_subscriptions!
    end

    def create_subscriptions!
      self.order.create_subscriptions
    end
  end
end
module Spree
  Payment.class_eval do
    state_machine :initial => :checkout do
      after_transition :to => :completed, :do => :create_subscriptions!
    end

    def create_subscriptions!
      self.order.create_subscriptions
    end
  end
end
Use symbols for payment decorator states
Use symbols for payment decorator states

By re-defining the state machine like this, the state_machine gem will complain because 'checkout' != :checkout and 'completed' != :completed
