Strange behavior was found for subscription upgrades/downgrades for Sandbox users.
Step 1: Select from the internal app UI productId.
Step 2: Get the product from StoreKit by Product.products(for: [productID])
Step 3: Purchase fetched product: product.purchase(options: [options])
Step 4: Analyze the received Product.PurchaseResult.
And what we have here:
Works perfectly on the first try. The correct and successful transaction was received.
But when tried to change the subscription, using the same flow, in Step 4 received a successful transaction with a different productID.
Usually the previous subscription productID.
Can't get how it can be. Request purchase with one productID, but receive successful result with another.
Any ideas of what is going on would be appreciated.