KMP-IAP 1.2.1 is a patch release that updates OpenIAP dependencies and adds DSL improvements for better developer experience.
What's New
OpenIAP Dependency Updates
Updated to the latest OpenIAP versions:
openiap-apple: 1.3.7 (was 1.3.5)openiap-google: 1.3.15 (was 1.3.14)openiap-gql: 1.3.8 (was 1.3.5)
DSL Improvements
Added google {} and apple {} DSL aliases for platform-specific purchase configurations:
// Before: Only android {} and ios {} were available
val purchaseProps = purchase {
type = ProductType.InApp
ios { sku = "com.example.premium" }
android { skus = listOf("premium_upgrade") }
}
// After: google {} and apple {} are now available as aliases
val purchaseProps = purchase {
type = ProductType.InApp
apple { sku = "com.example.premium" } // alias for ios {}
google { skus = listOf("premium_upgrade") } // alias for android {}
}
advancedCommerceData Support
Added advancedCommerceData property to IosOptionsBuilder for StoreKit 2's Product.PurchaseOption.custom API (iOS 18+):
val purchaseProps = purchase {
type = ProductType.InApp
apple {
sku = "com.example.premium"
advancedCommerceData = "campaign_summer_2025"
}
}
Billing Programs API (Stub)
Added interface methods for Billing Programs API (Android 8.2.0+):
isBillingProgramAvailableAndroid(program)createBillingProgramReportingDetailsAndroid(program)launchExternalLinkAndroid(params)
Note: These methods are currently stubs that throw
FeatureNotSupported. Full implementation will be available whenopeniap-googleupdates to Billing Library 8.2.0+.
OpenIAP Versions
Current OpenIAP versions:
openiap-apple: 1.3.7openiap-google: 1.3.15openiap-gql: 1.3.8
Installation
Gradle (Kotlin DSL)
// shared/build.gradle.kts
kotlin {
sourceSets {
commonMain.dependencies {
implementation("io.github.hyochan:kmp-iap:1.2.1")
}
}
}
Version Catalog (libs.versions.toml)
[versions]
kmp-iap = "1.2.1"
[libraries]
kmp-iap = { module = "io.github.hyochan:kmp-iap", version.ref = "kmp-iap" }
CocoaPods
pod 'kmp-iap', '~> 1.2.1'
What's New in 1.2.x
If you're upgrading from 1.0.x or 1.1.x, check out the 1.2.0 release notes for the full list of new features including:
- Billing Programs API (Android 8.2.0+) - External billing support
- One-Time Product Discounts (Android 7.0+) - Discount and offer support
- Purchase Suspension Status (Android 8.1.0+) - Payment issue detection
References
- 1.2.0 Release Notes - Full feature release notes
- API Reference - Core Methods
- GitHub Release
Questions or feedback? Reach out via GitHub Issues.
