I'm using Transaction.environment
to determine server behavior.
https://developer.apple.com/documentation/storekit/apptransaction/environment
https://developer.apple.com/documentation/storekit/appstore/environment
I gather this information on the app using StoreKit and then send it to the server:
originalTransactionId = transaction.originalID
originalTransactionEnvironment = transaction.environment
When testing within Xcode, on a simulator, the value sent to the server for originalTransactionEnvironment
is Xcode
- as expected.
When testing on a device using a TestFlight build, the value sent to the server for originalTransactionEnvironment
is undefined
/nil
. I expected it to be Sandbox
- and later in production it should be Production
.
Most importantly, the value sent to the server for originalTransactionId
in the TestFlight version is not undefined
/nil
- it is the value I expected it would be. The transaction was originally for a subscription purchase, if that makes a difference.
So the transaction is available, and information like originalID
is also available. Why is transaction.environment
not available? What is the behavior in production?