* Cache presentedOfferingContext when making a purchase from a paywall
* Avoid using stale cached presentedOfferingContext
Co-authored-by: Cursor <cursoragent@cursor.com>
* Only remove cached context when date check passes
* Include productId in cancel events and add tests
* Add log
* One more test
* More tests
* fix warning
* Fix compilation
* Fix integration test compilation for SPI import
Co-authored-by: Cursor <cursoragent@cursor.com>
* Include paywall and offering context in SK2 transaction listener
* Improve comment
* More tests
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
* Rename Test Store to Simulated Store only internally
* fix lint
* fix test under `SIMULATED_STORE` compiler flag
* fix test compilation
* Add name clarification to `APIKeyValidationResult.simulatedStore` enum case
* Fix public-facing strings
* Improve comment
* improve comment