Best way to identify first purchase?

  • 11 June 2022
  • 0 replies

Badge +2

I’m storing the “point of entry” that turned in a purchase. 

If entitlements changed I log the point of entry

This approach worked fine for months, but as the app ages, it seems more paid users are returning, and instead of using the restore option, they are actually buying the non-consumable again, so I’m getting more and more false flags

I looked at the entitlement properties, and I expected that checking equals for originalPurchaseDate and latestPurchaseDate might have been the solution. But at least in the sandbox, no changes occur to any of those dates after a repurchase 


I see purchasePackage returns an SKPaymentTransaction, which has a transactionDate and an “original” property with a transactionDate. So I could probably delay the storing and cancel if I see both of those dates not matching, but I was hoping to keep all the logic in the delegate when purchaseInfo changed

0 replies

Be the first to reply!