Once these views are finalized, we should add view-level integration tests to flush out any issues in the view/template logic.  I'd recommend: a) stubbing out the payment stuff (patching the Cybersource calls it probably the way to go), (b) using the Django ORM to set up database conditions, and (c) simulating user-level HTTP requests on the views using the Django test client.