A client asked me about implementing In-App Purchase discounts on the Apple App Store and Google Play. For example, putting an item that's normally $7.99 on sale for $5.99.
I've primarily been working on desktop games for the last couple of years so my memory is rusty, but from some quick research it sounds like neither the App Store or Google Play supports IAP discounts of this nature for consumable or non-consumable items (though there can be discounts for things like subscriptions or pay-up-front apps).
I can think of several possible alternate approaches:
Create multiple IAP items for the same product, at different prices, and control which one is active at at time. So for example, BOOSTER_PACK costs $7.99 and BOOSTER_PACK_ONSALE costs $5.99, but only one of these two products shows up in the store at a given time. However, this seems like it's circumventing the rules and would probably cause the IAP to be rejected (on the App Store at least).
If the game uses a premium currency model, IAP currency packs come with bonus currency during the sale. So for example, $5 normally gives you 50 gems, but during the sale, you get an extra 15 gems for free with the $5 pack. This might also be seen as circumventing the rules.
If the game uses the premium currency model (where the player can buy a currency like Gems with real money, and then spend Gems on in-game items), the price of buying in-game items with virtual currency can be reduced (so for example, $5 always gives you 50 gems, but during a sale, an item that normally costs 50 gems might instead cost 35 gems). This seems like the safest approach because any given IAP pack always has the same price and gives you the same item(s).
Are there any other strategies I'm not thinking of for offering discounts on IAP?