Skip to main content
Question

Non-Consumable Lifetime refund entitlements still active

  • 29 August 2024
  • 1 reply
  • 44 views

Forum|alt.badge.img+1

Hi!

I’ve been trying to add RevenueCat to my App, I’ve managed to successfully setup subscriptions, and test them using the StoreKit Configuration file. Works like a charm.

I’m now working on adding a Lifetime non-consumable in app purchase. Purchasing works well. But I can’t make the refund works.

Here is my flow:
- Start the app
- Buy the Lifetime IAP
- Wait a bit
- Issue a refund via the Xcode StoreKit test panel.

The refund seems to be process correctly, I see this in the dashboard for the user:


Unfortunately the Entitlements for the user is still active.

<EntitlementInfo: "
identifier=Pro,
isActive=true,
willRenew=false,
periodType=PeriodType(rawValue: 0),
latestPurchaseDate=Optional(2024-08-29 12:36:23 +0000),
originalPurchaseDate=Optional(2024-08-29 12:36:23 +0000),
expirationDate=nil,
store=Store(rawValue: 0),
productIdentifier=#####.#######,
productPlanIdentifier=null,
isSandbox=true,
unsubscribeDetectedAt=nil,
billingIssueDetectedAt=nil,
ownershipType=PurchaseOwnershipType(rawValue: 0),
verification=VerificationResult.notRequested
>

This data is refreshed each time the app comes in foreground. (become active).

And I don’t know what to do to make it change, having user being refunded but still being able to use the App is you can guess it an issue.

Is there any other way to get the information that the user refunded the purchase?
 

Also, after the refund the Dashboard still shows this:

Which seems inaccurate since it was refunded, or I’m missing something?

This post has been closed for comments

joan-cardona
RevenueCat Staff
Forum|alt.badge.img+6

Hi @Basile,

This is expected in sandbox environment but it’ll work in production. 

The reason is that while you can cancel and refund subscriptions through Xcode's Manage Transactions... window, these types of events are not stored in the receipt and will not appear on the RevenueCat dashboard.

However, the RevenueCat SDK is still able to detect there are no active subscriptions and the appropriate entitlements will be removed when the app is restarted again.

 

For the best performance in production, It's recommended to set up Platform Server Notifications.

Let me know if this works!


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings