"“Test Apple Root CA - G3” certificate is not trusted" when verifying renewal info

Apple Recommended

Replies

Thank you for filing the feedback, we will look into this. Does this behavior reproduce regularly, or did you just notice it this one time?

We looked into this issue some more and have an update:

This will impact all users testing StoreKit 2 in the sandbox environment at the moment. That is, Product.SubscriptionInfo.RenewalInfo and Transaction will always result as VerificationResult.unverified(_:). In the meantime, if you want to test successfully verified transaction and renewal information, you can use StoreKit Testing in Xcode which will not be impacted by this issue.

I'm seeing the same thing here! Works fine with Xcode testing, just not in TestFlight/Sandbox.

Since sandbox purchases do not pass validation, they can not be finalized either. This makes it impossible to test the rest of the purchase flow.

I am wondering if Apple can provide updates on this. Should we expect the sandbox transactions to pass validation once iOS15 is officially released?

  • You should still call finish() on any transaction in which you grant content to the user, regardless of the case of the VerificationResult. Whether you grant content to the user for unverified(_:_:) transactions is up to your business model.

  • That makes sense. Thanks! I was not expecting the .unverified enum case to also contain the decoded transaction.

Add a Comment

I'm also seeing this issue so just +1ing the issue.

Also curious if there is a technical reason why promotional offers are not signed/validated automatically by StoreKit2 the same way purchases can now be signed by the framework itself? Thanks

  • Promotional offers signatures are meant to be generated off-device, via a secure connection to a server you control. This is so the App Store can validate the app's developer intended to apply the promotional offer. StoreKit can not provide a secure API to create signatures for promotional offers because the developer does not necessarily have control over the device which the app is running on.

    See Implementing Promotional Offers in Your App for more information.

Add a Comment

Hi so we already have a release candidate, the whole time I test it with StoreKit testing but now we are testing before release and still get Failed to verify the signature for Transaction, will assume invalid Is there something that I'm missing or does the in-App purchase have to be approved on Appstore Connect?