Use promises in CheckoutController.