Promo Codes and Discounts in Mobile App

NOVASOLUTIONS.TECHNOLOGY is engaged in the development, support and maintenance of iOS, Android, PWA mobile applications. We have extensive experience and expertise in publishing mobile applications in popular markets like Google Play, App Store, Amazon, AppGallery and others.
Development and support of all types of mobile applications:
Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1 servicesAll 1735 services
Promo Codes and Discounts in Mobile App
Medium
~2-3 business days
FAQ
Our competencies:
Development stages
Latest works
  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1052
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    445

Implementing Promo Codes and Discounts in Mobile Apps

Promo codes in mobile applications are three different mechanisms with different implementation complexity: native App Store/Google Play promo codes, custom server-side logic with your own codes, and promotional offers through RevenueCat/Adapty. Mixing them without understanding the limitations is a typical mistake.

Native App Store promo codes

Apple allows generating up to 1000 promo codes per app version (for paid apps) or IAP. User enters the code in App Store → gets the product. This comes to the app as a regular transaction — handled by standard StoreKit flow.

Problem: App Store promo codes cannot be applied inside the app. User must be redirected to App Store. For most monetization scenarios (discount for a specific user, referral program) this doesn't work.

Custom promo codes — server-side implementation

Custom promo codes live entirely on the backend:

Data schema:

promo_codes: id, code, discount_type (percent|fixed|trial_days), value,
             max_uses, used_count, expires_at, product_ids[], user_id (optional)
promo_redemptions: id, code_id, user_id, created_at, purchase_id

Client flow:

  1. User enters code → client calls POST /api/promo/validate with code and product_id
  2. Server returns discount type and applicable price
  3. Client shows final price
  4. Purchase through native IAP at full price → on server after transaction verification we apply the discount (credit the difference with currency, extend trial, etc.)

Direct price change for IAP on the client is impossible — Apple and Google don't allow dynamically changing product cost. All discount logic is implemented post-purchase on the server or through separate products with already reduced price.

Promotional offers as discount mechanism

For subscriptions on iOS — SKPaymentDiscount / SubscriptionOffer in StoreKit 2. Create an offer in App Store Connect with the desired price, server generates a signature for a specific user. This is a legal way to offer a discount without bypassing native billing.

// Get offer from server
let offerSignature = await serverAPI.getPromoSignature(userID: user.id, offerID: "discount_50")

let product = try await Product.products(for: ["premium_monthly"]).first!
let purchaseOption = product.subscriptionOffer(
    offerID: "discount_50",
    keyID: offerSignature.keyID,
    nonce: offerSignature.nonce,
    signature: offerSignature.signature,
    timestamp: offerSignature.timestamp
)
let result = try await product.purchase(options: [purchaseOption!])

Promo code input in UI

Promo code input field — separate screen or bottom sheet with debounce validation (request to server 300ms after last character). Important: show loading during validation and handle errors — "code expired", "code already used", "not applicable to selected product".

Estimated time — 2–3 days: server promo code model, validation and application API, UI component, integration with IAP flow.