edx/edx-platform — pull request #5122 by wedaly (2014-09-08 12:52:36+00:00)
Title: WIP: Change shopping cart status when out to Cybersource (ECOM-218)

Set order status to "paying" before redirecting to the external payment processor. This ensures that a user does not modify an order once we have sent it to CyberSource, avoiding the error some users have reported: "Sorry! Due to an error your purchase was charged for a different amount than the order total!"

Open questions (need input from product / doc):

* Are the implications of this change (potential for duplicate orders in the DB, resetting the user's cart if they restart the payment flow after getting to CyberSource) acceptable? (Waiting on input from product).

* Do we need text in the UI warning users that once they click on "Checkout", they can't go back and change their order? If so, how can we succinctly explain this to users? @srpearce

Suggested reviewers: @dianakhuang @jbau

@stroilova This change implies that there could be multiple orders for a particular user, but only one order with status "cart" or "payment" (aborted orders would have status "paying"). I'm not sure if this will affect the audit script you're using.

[ECOM-218](https://openedx.atlassian.net/browse/ECOM-218)