-
Notifications
You must be signed in to change notification settings - Fork 319
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
SDK fetching Receipt breaks first-time App Review #2120
Comments
Hey @natelowry, that sounds like a really frustrating experience. I'll add some context here: re: the first fetch will fail re: why the SDK uses receipt refresh even when StoreKit 2 is enabled Could you clarify what exactly is the rejection reason? Was there a user-facing error popping up? All of this stuff should be under the hood, so that's why I'm asking. |
@aboedo it feels like a sick right of passage to get through the review process lol 🙃 Your notes all make sense and it has me questioning some things. We were seeing an error pop up when they tapped the button that calls The reviewer said I thought it was the missing receipt error in that, but now I'm not so sure. I'm going to have them trigger that one more time just to make sure I have the logs correlated correctly. Standby for more info. Thanks! -nate |
This looks similar to https://community.revenuecat.com/sdks-51/missing-receipt-leading-to-many-app-store-rejections-2321. There's some good guidance there as well for how to help Apple reviewers when they encounter these issues. |
Hi @NachoSoto thanks for that link, had seen that before and tried to pass that info to the reviewer. I finally got a clean error log from review. The receipt error shows up when trying to purchase the product.
here are the events preceding that:
we also get occasional It seems the receipt validation is still happening and erroring somewhere in that purchasing call chain. Is there any way to remove that? Another error we get that seems to be before the receipt issue (possibly when they first hit purchase?):
I think I may be able to repro this in XCode here by disabling our storekit config file and logging in w/ a Sandbox account on the simulator. Standby. Thanks. -nate |
Like the error says, that's an App Store bug. https://www.revenuecat.com/docs/app-store-rejections has some good guidance for how to deal with these rejections. I recommend attaching a video showing that you can purchase the subscription yourself through TestFlight. I completely understand this is frustrating, having had an App Store rejection myself for this same issue. |
@NachoSoto yep, understood it's an App Store bug, but the actual purchase is failing because that bug and/or the missing receipt error are killing the Purchase per this error:
So it seems like there's still a spot where I need to have RC swallow that missing receipt error and not blow up the Purchase. Or am I seeing something wrong? (end of the week and I'm seeing double lol) |
The reviewer provided some additional info that really helped. The Purchase is definitely going through on the Store side because you see the "You're all set" dialog pop up. But the RC purchase method still throws the error. I was able to sorta reproduce it by putting a I don't see where RC could throw that error other than from the StoreKit purchase call itself, but there is quite a bit of completion handling logic in there that I'm not super familiar with. Will keep investigating, but wanted to share that info. |
Do you have logs for that? In the logs you've attached, the purchase is always showing as failed:
|
FYI I just filed a Feedback about this: |
@NachoSoto thanks! Also, thanks for troubleshooting it here too (I know you're busy with other features/fixes). We are actually going to do our first release without any subscriptions just to get the app out there before the holidays. We'll be adding them back in later, so hoping that might be a better/easier process 🤞 |
This issue has been automatically locked due to no recent activity after it was closed. Please open a new issue for related reports. |
Describe the bug
Note: This may be related to #2116, but it seems a bit different.
We've been attempting the "submit & pray" technique for our first App Store Review with new subscription products. I have read allllll the forum and blog posts on the issues in Sandbox and tried our submission at least a dozen times.
We finally opened a TSI with Apple and got some information about how we should be handling those missing receipts. Basically, we should ignore any missing receipts as they are guaranteed to be there in Prod and kinda guaranteed to be broken in App Review Sandbox. It seems like maybe the SDK should either ignore that specific error OR could have a
firstTimeAppReview
config flag that folks could set for their first review that ignores that error.I'm also not 100% sure how to do the ignoring except for forking the SDK and adding some custom code. I'm happy to do that, but based on the forum posts, we're not the only ones hitting this issue :) Any direction there would be helpful.
It sorta seems to me like the RevenueCat SDK is calling
SKReceiptRefreshRequest
instead ofrestoreCompletedTransactions
even though that code is in the SK1 branch that we opted out of. I'm a bit confused why it's fetching the receipt at all...is there something I'm doing wrong in the setup to cause it to fetch that receipt early?Here's the response from the Apple tech:
useStoreKit2IfEnabled(false)
) (Y/N): Y (tried w/ N as well)Try to purchase any product in our app
Additional context
Here's our setup code:
in the App init:
as a .Task on our main Scene, we bootstrap things with these two calls:
our PurchasesDelegateHandler is identical to the example app PurchasesDelegateHandler.swift
here's the code we use to make the Purchase (and where the receipt error pops up):
let result = try await Purchases.shared.purchase(package: package)
(packages are read from userModel.offerings?.current?.availablePackages)
Products are in the Ready To Submit, Approved, or Waiting for Review status and the Subscription Group is attached to the build.
Paid Application Agreement is signed and up to date.
We have a synced StoreKit Configuration file set on our Target, but sounds like that shouldn't matter in Sandbox testing, only Xcode.
Reference Names have not been changed recently.
We tried recreating all of our App Store Subscription Products, but it didn't help.
Looking forward to getting through this. Glad Apple is being helpful on the technical side.
Suggestions for us going forward?
-nate
The text was updated successfully, but these errors were encountered: