When testing iOS Subscription, I encountered some weird issues

Issue 1: When testing iOS subscriptions with StoreKit 2 in a sandbox environment on iOS 16.2 / Xcode 14.2 with a Sandbox Tester Account on a real device, I encountered a strange problem. The first 5 subscription renewals worked correctly, but after that, it didn't renew, and I received the following notification: 'notificationType': 'EXPIRED', 'subtype': 'VOLUNTARY'. According to the App Store Server documentation, this subtype indicates that the subscription expired after the user disabled subscription auto-renewal. However, I did not manually disable Auto-Renewal.

Issue 2: After a subscription expires and is not renewed, attempting to re-subscribe doesn't show the confirmation dialog and returns success without any error message. The transactionId is the ID of the expired subscription. However, if I switch to a different productId plan, such as switching from a monthly payment plan (which doesn't show the dialog) to an annual payment plan (which does show the dialog), it works as expected.

I found a similar case on the Apple Developer forums: https://developer.apple.com/forums/thread/723126, but the provided solutions didn't work for my situation.

Hope you guys can help me out.

In Sandbox subscriptions do not renew indefinitely. If a subscription has renewed more than a certain number of times in a period, we end auto-renewal. This sounds like the behavior you experienced.

When testing iOS Subscription, I encountered some weird issues
 
 
Q