How To Redeem Promo Codes for Consumable Products

  • 15 December 2023
  • 2 replies

Badge +5

I have created promo codes within the App Store per Apple’s instructions. I am able to give the user a code and they’re able to redeem the code for a consumable IAP. However, the consumable product never gets called in my app. How can I check that the user has used a promo code to credit their account with the reward? 

2 replies

Userlevel 3
Badge +5

Hi! Because of how the Promo Codes by Apple work, we are unable to track and attach Promo Codes to users from our end. Here is our documentation on them. I would recommend looking at Apple’s documentation on them as that may provide an option for you.


I’ve run into this too, and your response explains why I don’t see the promo code redemption transaction in `customerInfo.nonSubscriptions`

But I’m really unclear on where to go with this. Apple mentions that these will be captured by SKPaymentTransactionObserver, but I don’t see that in a debug build. I see some mention that it only works in prod - but then the issue is that I don’t know how to avoid duplication of processing these transactions with those RevenueCat is handling.

SKPaymentTransactionObserver is triggered whenever I complete an IAP, so if I use that to unlock consumable content, I’ll double apply the IAP when it’s done via Purchases.shared.purchase

It looks like I’m missing something fundamental, but I’m really unsure how to handle consumable IAP promo codes period, but especially without duplicating transactions being processed by the RevenueCat SDK.