Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upcoming changes to the App Store receipt signing certificate #684

Open
nikunjgabani opened this issue Dec 22, 2022 · 4 comments
Open

Upcoming changes to the App Store receipt signing certificate #684

nikunjgabani opened this issue Dec 22, 2022 · 4 comments

Comments

@nikunjgabani
Copy link

I have recently got this news to the apple developer news channel,
https://developer.apple.com/news/?id=ytb7qj0x

So I want to know that will this affect my implementation to check the status of user purchase status.
I am currently using this function to verify receipt, so that I can check the user's purchase status,
SwiftyStoreKit.verifyReceipt(using: AppleReceiptValidator)

Response on this will be very helpful to me.

@GreydeskChirag
Copy link

Yes, Require any changes in existing apps?

@gesabo
Copy link

gesabo commented Jan 6, 2023

I found this but still not 💯 sure if this will effect SwiftyStoreKit...can anyone chime in? https://www.revenuecat.com/blog/engineering/app-store-receipt-signing-certificate-changes-in-2023/

@SergejLogis
Copy link

SergejLogis commented Jan 19, 2023

Surely it would be best to hear from the author, but here is some analysis from my side:

The linked Apple document states:

If you verify App Store transactions using the AppTransaction and Transaction APIs, or the verifyReceipt web service endpoint, no action is required.

SwiftyStoreKit uses verifyReceipt service for validation. So, no action is needed from our side 🤓

public class AppleReceiptValidator: ReceiptValidator {

	public enum VerifyReceiptURLType: String {
		case production = "https://buy.itunes.apple.com/verifyReceipt"
		case sandbox = "https://sandbox.itunes.apple.com/verifyReceipt"
	}

        ...
}

@gesabo
Copy link

gesabo commented Jan 26, 2023

I'm not sure if its related but seems coincidental that this went into place January 18, 2023 and today January 26, 2023 when calling SwiftyStoreKit.verifyReceipt I am now getting Finished refreshing receipt with error: Error Domain=ASDServerErrorDomain Code=500328 "Unhandled exception" UserInfo={NSLocalizedFailureReason=An unknown error occurred, NSLocalizedDescription=Unhandled exception, AMSServerErrorCode=0} as well as Receipt verification failed: networkError(error: Error Domain=SKErrorDomain Code=0 "An unknown error occurred" UserInfo={NSLocalizedDescription=An unknown error occurred, NSUnderlyingError=0x283a2b960 {Error Domain=ASDServerErrorDomain Code=500328 "Unhandled exception" UserInfo={NSLocalizedDescription=Unhandled exception, NSLocalizedFailureReason=An unknown error occurred}}}) which I never recall happening before, so maybe this is an issue?

update: a few minutes later I am not getting this error in the sandbox anymore, but if I download my app from the store its fully unlocked - which could only happen if SwiftyStoreKit.verifyReceipt returns an error. So it seems to either be related to case production = "https://buy.itunes.apple.com/verifyReceipt" or there is an outage with the App Store but system status says its green. 🤔 Obviously this is nearly impossible to test since it's production.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants