Improve error handling during checkout & write some basic integration specs.