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

iOS lifetime purchase (non-consumable) never expired in sandbox #1033

Open
vietstone-ng opened this issue Apr 2, 2024 · 5 comments
Open
Labels
bug Something isn't working

Comments

@vietstone-ng
Copy link

vietstone-ng commented Apr 2, 2024

Hi,
My RevenueCat works perfectly for subscriptions. I'm trying to add lifetime purchase (non-consumable).

I made a purchase yesterday on iOS. Then I clear the purchase history (both on the device and appstoreconnect's web). The entitlement is still active, even today.

In the attached image, I made the purchase on April 1st. Today is April 2nd. The active entitlement name is "allAccess"
Screenshot 2024-04-02 at 09 37 20

UPDATE: It's still active after 2 days (April 3rd)

@vietstone-ng vietstone-ng added the bug Something isn't working label Apr 2, 2024
@RCGitBot
Copy link
Contributor

RCGitBot commented Apr 2, 2024

👀 We've just linked this issue to our internal tracker and notified the team. Thank you for reporting, we're checking this out!

@vietstone-ng vietstone-ng changed the title iOS lifetime purchase (non consumable) never expired in sandbox iOS lifetime purchase (non-consumable) never expired in sandbox Apr 2, 2024
@mshmoustafa
Copy link
Contributor

Hi @vietstone-ng,
This is because that data is saved in RevenueCat. In production it is impossible for a user to clear their own purchase history so this flow will never happen (even in the case of a refund, Apple keeps the purchase in the history and marks it as refunded.) You will have to delete the customer in RevenueCat to clear the data.

@jbdtky
Copy link

jbdtky commented Apr 7, 2024

That's what I'm doing and it works well.
iOS: Clear the purchase history + Delete the customer in RevenueCat
Android: Refund directly in RevenueCat or Refund on Play Store console.

PS: Amazing job RevenueCat for bridging the stores at a very affordable price for developers and founders. Kudos to you and please keep it up!

@vietstone-ng
Copy link
Author

vietstone-ng commented Apr 10, 2024

Hi @vietstone-ng, This is because that data is saved in RevenueCat. In production it is impossible for a user to clear their own purchase history so this flow will never happen (even in the case of a refund, Apple keeps the purchase in the history and marks it as refunded.) You will have to delete the customer in RevenueCat to clear the data.

@mshmoustafa I think in case of a refund, you can check the receipt to see whether it's still a valid purchase. Apple will update the cancellationDate property. Reference: tikhop/TPInAppReceipt#100 (comment)

Manually updating RevenueCat seems not the optimized way.

@mshmoustafa
Copy link
Contributor

Hi @vietstone-ng, Apologies for the delay, that's true, we do update the record in RevenueCat when we detect the cancellation date. I originally understood that the issue was when you clear purchase history, which is not the same as refunds. Are you having issues with refunds?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants