Use a transaction during checkout's order creation method to ensure all data gets set

Closes #5368