I double checked the plans rank/order (Starter = 3, Plus = 2, Pro = 1), re-ran the experiment, and got the same result. I check currentEntitlements both right after the purchase and in the transactions listener; readings consistent and as reported.
Post
Replies
Boosts
Views
Activity
It looks like renewal state does change to .expired after some time; I'm not sure when or if it is load dependent (I checked one hour after expected expiration time (e.g., 3 * 3 * 12 = 108 minutes for a quarterly subscription on an accelerated time basis of 1 month = 3 minutes, and 12 renewals). Maybe this shows possible delays need to be handled.
Issue seems to have been related to the outage; error is not showing up anymore.
[I realized my problem is with StoreKit / iOS testing but error is the same; will put this into an iOS-specific post too].
I'm getting this (I think) the same error starting today (on iOS 18.1 beta 5/6/7 at least) while trying StoreKit sandbox testing. Outside code/app, I can't even login to the test account in settings->AppStore->Sandbox Account (goes through email/phone confirmation and then silently fails).
Tried a different password for a new sandbox test account with no success...Anyone else experiencing this?
Status page (https://developer.apple.com/system-status/) shows some related outage from two days ago, but no current problem.
Error:
Purchase did not return a transaction: Error Domain=ASDErrorDomain Code=530 "(null)" UserInfo={NSUnderlyingError=0x3009ca040 {Error Domain=AMSErrorDomain Code=100 "Authentication Failed The authentication failed." UserInfo={NSMultipleUnderlyingErrorsKey=(
"Error Domain=AMSErrorDomain Code=2 "Password reuse not available for account The account state does not support password reuse." UserInfo={NSDebugDescription=Password reuse not available for account The account state does not support password reuse., AMSDescription=Password reuse not available for account, AMSFailureReason=The account state does not support password reuse.}",
"Error Domain=AMSErrorDomain Code=306 "Reached max retry count Task reached max retry count (3 / 3);" UserInfo={AMSDescription=Reached max retry count, AMSURL=..., NSDebugDescription=Reached max retry count Task reached max retry count (3 / 3);, AMSFailureReason=Task reached max retry count (3 / 3);, AMSStatusCode=200}"
), AMSDescription=Authentication Failed, NSDebugDescription=Authentication Failed The authentication failed., AMSFailureReason=The authentication failed.}}, storefront-country-code=USA, client-environment-type=Sandbox}
Any development in 2024? renewalInfo.willAutoRenew does not seem to get cleared (after 2-3 hours (with accelerated timing in sandbox) ; is that long enough?). I really hope to see expected values in sandbox before launch.
The only hint I could find so far is that the expirationDate in the latestTransaction for the product identified by renewalInfo.currentProductID is in the past (but renewal state remains .subscribed, willAutoRenew remains true, etc.).
If this issue cannot be fixed, is checking the latest transaction expiration date a valid approach? Should I look at this date check as a hack for sandbox, or is it necessary outside the sandbox too?