We're experiencing a very strange behaviour after purchasing auto-renewable subscription.
Basically, after submitting purchase request, our app listens to SKPaymentQueue events until it encounters an SKPaymentTransaction with matching product ID. Then, it submits receipt to our server for validation/activation. And only after that [SKPaymentQueue finishTransaction:] is called - to ensure that user can resume validation/activation later in case of failure.
It works pretty well in sandbox environment (including resuming interrupted purchases). However, in production, while non-auto-renewable purchases work fine, auto-renewable do not. What happens is that user sees a successful "You're all set" message, but in the same time, app receives transaction update with SKPaymentTransactionStateFailed and cryptic "Cannot connect to iTunes Store" error. The strangest thing is, due to the error, validation request to our server is not made and, thus, [SKPaymentQueue finishTransaction:] never called, but, still, transaction magically finalizes itself (does not appear in pending transactions list, but appears in user's subscriptons list).
Is it a known problem? Any ideas where to dig?
Thanks,
Dmitry