This provides functionality to offer a product for pre-order, bill a deposit amount then at some later point, bill the remaining price when the item is ready to be shipped.
Be sure to bundle your dependencies and then create a dummy test app for the specs to run against.
$ bundle
$ bundle exec rake test_app
$ bundle exec rspec spec
Copyright (c) 2013 FreeRunning Technologies, released under the New BSD License