Skip to main content
Question

Entitlement purchase date not updating

  • 11 November 2021
  • 6 replies
  • 172 views

Antoine van der Lee
Forum|alt.badge.img+4

The entitlement identifier shows an purchase date of:

While the user bought a new subscription at:

It seems that the latest purchase date of the active entitlement is also returning the 2021-07-27 date from what I can see in the logs.

My question is:

Why isn’t the active entitlement date updating to the latest purchase?

For full context: This user purchased a non-renewing IAP last year and now purchased my newest auto-renewing IAP.

6 replies

ryan
RevenueCat Staff
Forum|alt.badge.img+9
  • RevenueCat Staff
  • 391 replies
  • November 11, 2021

Non-renewing IAPs (e.g. one time purchases) unlock lifetime entitlement access. When lifetime access to rocketsim_pro is purchased, that “Entitlements” card will show the purchase date, since there’s no expiration - this would also override the display of any future subscription purchase, since the lifetime access is still active.

However, the latest purchase date for the entitlement through the REST API / SDK should be updating. Can you make a GET /subscribers call and confirm?


Antoine van der Lee
Forum|alt.badge.img+4

Ah yeah, that must be it! Though, wouldn’t you expect the entitlement to return the actual `latestPurchaseDate`? In other words; shouldn’t the renewing subscription overwrite the non-renewing one since it’s newer?

I’ll look into `GET /subscribers`, though, I should likely built in a hard-coded check using `activeSubscriptions` don’t you think?


ryan
RevenueCat Staff
Forum|alt.badge.img+9
  • RevenueCat Staff
  • 391 replies
  • November 12, 2021

Though, wouldn’t you expect the entitlement to return the actual `latestPurchaseDate`? In other words; shouldn’t the renewing subscription overwrite the non-renewing one since it’s newer?

Yes, it should. Can you make a GET /subscribers call for this customer and confirm? 


Antoine van der Lee
Forum|alt.badge.img+4

> Yes, it should. Can you make a GET /subscribers call for this customer and confirm? 

I wonder how I would do that w/o an app update, that’s not really possible, is it? Or do I miss some context here?


ryan
RevenueCat Staff
Forum|alt.badge.img+9
  • RevenueCat Staff
  • 391 replies
  • November 12, 2021

Oh sorry! As long as you have their App User ID, you can make the request through our REST API: https://docs.revenuecat.com/reference#subscribers

For authentication you can use the same API key you’ve embedded in your app. This is the same endpoint the SDK calls to check subscription status, so it can be used to confirm what behavior the device is seeing.


Antoine van der Lee
Forum|alt.badge.img+4

Thanks, Ryan, that helped!

However, the latest purchase date for the entitlement through the REST API / SDK should be updating. Can you make a GET /subscribers call and confirm?

 

This is not the case, unfortunately:

{
	"request_date": "2021-11-14T13:36:26Z",
	"request_date_ms": 1636896986009,
	"subscriber": {
		"entitlements": {
			"rocketsim_pro": {
				"expires_date": null,
				"grace_period_expires_date": null,
				"product_identifier": "com.rocketsim.yearly.subscription",
				"purchase_date": "2020-10-22T14:12:58Z"
			}
		},
		"first_seen": "2020-10-22T14:11:28Z",
		"last_seen": "2021-11-14T13:34:43Z",
		"management_url": "itms-apps://apps.apple.com/account/subscriptions",
		"non_subscriptions": {
			"com.rocketsim.yearly.subscription": [{
				"id": "XXX",
				"is_sandbox": false,
				"original_purchase_date": "2020-10-22T14:12:58Z",
				"purchase_date": "2020-10-22T14:12:58Z",
				"store": "app_store"
			}]
		},
		"original_app_user_id": "XXX",
		"original_application_version": "3.0.1",
		"original_purchase_date": "2020-10-22T14:10:43Z",
		"other_purchases": {
			"com.rocketsim.yearly.subscription": {
				"purchase_date": "2020-10-22T14:12:58Z"
			}
		},
		"subscriptions": {
			"com.rocketsim.yearly.renewing.subscription": {
				"billing_issues_detected_at": null,
				"expires_date": "2022-11-10T14:56:42Z",
				"grace_period_expires_date": null,
				"is_sandbox": false,
				"original_purchase_date": "2021-11-10T14:56:43Z",
				"ownership_type": "PURCHASED",
				"period_type": "normal",
				"purchase_date": "2021-11-10T14:56:42Z",
				"store": "app_store",
				"unsubscribe_detected_at": null
			}
		}
	}
}

In this response, my expectation would be that the entitlement latestExpiryDate would be set to the `subscriptions.expires_date`, does that make sense?


Reply


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