I'm currently working on getting IAPs set up for an app. The documentation for ovr_IAP_LaunchCheckoutFlow specifically says "Returns a purchase on success, empty purchase on cancel, and an error on error.", and yet on initiating a test purchase and either directly clicking on the "cancel" button or pressing the {B} button on the XBox 1 controller, or similar, I get an error message as a response.
The error code is 10 / 0xA, and ovr_Error_GetMessage gets "Server response is not valid JSON".
Has something changed in how cancelled purchases are being responded to, or am I missing something?
I don't think we differentiate between cancel and failure here. I think we simply inform you whether the user successfully purchased the item. I'm happy to reevaluate this decision. What is your use case where you want to handle cancel differently than failure?
In my case, it would be nice to be able to differentiate both for analytics purpose. I don't see any way to make the difference between an actual 'system failure' and a user just 'taking a look' at the purchase process before to cancel.