`processBundle` accepts certain params on sandbox but ignores them on production

Hi Carlos! For the sandbox app, the shopping cart behaves as expected. But for production, we get this:

Note the empty First Name, Last Name, Company Name, and City fields.

This has been reproduced on Windows 10 Home (version 1709) with MS Edge and on Mac OS 10.12.6 Sierra with both Firefox 58.0.1 and Chrome 63.0.3239.132. However, the bug did not manifest using Windows 10 and Chrome.

It seems like the argument handling of processBundle is haywire. (I speculate that the code to iterate the arguments is janky.) I had earlier problems with productOptions being ignored. But while productOptions is marked “legacy”, these other fields are fully part of the supported interface.

Parsing the query string is probably not a solution. For one thing, processBundle immediately redirects to showManageOrder, and it is certainly not part of the documented API that the query string will be passed along intact. (I’m not even sure that’s the current behavior.) Code written to depend on that implementation detail could break at any time.

As for performing a bunch of API calls to create an Order, I don’t think that makes sense because the Order object shouldn’t exist until the customer completes the check out process. Otherwise, aren’t we going to create a bunch of orphaned Order objects for people who decide not to follow through with the last “OK, place my order” click?

I appreciate the suggestions, but I really wish I could count on processBundle.