We should be explicitly sending and accepting application/json in spartacus. Currently spartacus does not send an Accept: application/json for example. But I'll not that I've spotted code in webpay that behaves differently if it sees the application/json header. Probably best to clean up webpay, then spartacus.
fwiw Anything sync methods backbone is calling defaults to application/json https://github.com/mozilla/spartacus/blob/master/public/js/models/base.js#L25
We did this for all requests and found a bug on from that request. But hey this is done.