Skip to main content
Answer

Purchase history of consumables for iOS app

  • January 28, 2025
  • 1 reply
  • 155 views

Forum|alt.badge.img+1

I recently implemented RevenueCat in an existing app.

I noticed that when a user makes any purchase through the RevenueCat SDK, the "Customer Profile" screen on the dashboard shows the purchase history (including consumable items) prior to the introduction of RevenueCat.
How is this accomplished?
In StoreKit 2, you cannot get the purchase history of consumable items by `Transaction.all` (for iOS 17 and below).

Also, is there a way to retrieve past purchase history, including consumable items, for users who have not yet purchased anything after introducing RevenueCat?
It appears that `Purchases.shared.customerInfo().nonSubscriptions` does not return a history of past purchases of consumable items for users who have not yet purchased anything after introducing RevenueCat.

Best answer by Haley Pace

Hi, you are correct in that consumable purchases will not show up on the underlying store receipt after the transaction is finished, but if you are using an account system with custom app user ids then RevenueCat will be able to provide transaction details in a user's CustomerInfo for their previous consumable and non-renewing subscription purchases after they restore, see our docs here. So if those users are restoring purchases or if you are calling syncPurchases() then RevenueCat will be able to log those past transactions. 

This post has been closed for comments

1 reply

Forum|alt.badge.img+8
  • RevenueCat Staff
  • Answer
  • January 30, 2025

Hi, you are correct in that consumable purchases will not show up on the underlying store receipt after the transaction is finished, but if you are using an account system with custom app user ids then RevenueCat will be able to provide transaction details in a user's CustomerInfo for their previous consumable and non-renewing subscription purchases after they restore, see our docs here. So if those users are restoring purchases or if you are calling syncPurchases() then RevenueCat will be able to log those past transactions.