Advanced Commerce metadata from a transaction (iOS 18.4+).
Contains item details, tax information, and refund data for purchases
made through the Advanced Commerce API using generic SKUs.
Only present for transactions that use the Advanced Commerce API.
Display information for developer-rendered Billing Choice screens (Android)
Available in OpenIAP Spec 2.1.0 / openiap-google 2.3.0 (requires Play Billing 9.1.0+).
Parameters for showing a billing program information dialog (Android)
Available in OpenIAP Spec 2.1.0 / openiap-google 2.3.0 (requires Play Billing 9.1.0+).
Reporting details for transactions made outside of Google Play Billing (Android)
Contains the external transaction token needed for reporting
Available in Google Play Billing Library 8.2.0+
Parameters for a developer billing option in a purchase flow (Android).
Used with BillingFlowParams for external payments (8.3.0+) and Billing Choice
(OpenIAP Spec 2.1.0 / openiap-google 2.3.0; requires Play Billing 9.1.0+).
Only billingProgram is required; link fields are used when the selected program
links outside the app.
Details provided when user selects developer billing option (Android)
Received via DeveloperProvidedBillingListener callback
Available in Google Play Billing Library 8.3.0+
Discount information returned from the store.
@deprecated Use the standardized SubscriptionOffer type instead for cross-platform compatibility.
@see https://openiap.dev/docs/types#subscription-offer
External offer availability result (Android)
@deprecated Use BillingProgramAvailabilityResultAndroid with isBillingProgramAvailableAsync instead
Available in Google Play Billing Library 6.2.0+, deprecated in 8.2.0
External offer reporting details (Android)
@deprecated Use BillingProgramReportingDetailsAndroid with createBillingProgramReportingDetailsAsync instead
Available in Google Play Billing Library 6.2.0+, deprecated in 8.2.0
Parameters for fetching Billing Choice display information (Android)
Available in OpenIAP Spec 2.1.0 / openiap-google 2.3.0 (requires Play Billing 9.1.0+).
Parameters for showing Play billing in-app messages (Android)
Available in OpenIAP Spec 2.1.0 / openiap-google 2.3.0
(upstream API available since Play Billing 4.1.0).
Result from showing Play billing in-app messages (Android)
Available in OpenIAP Spec 2.1.0 / openiap-google 2.3.0
(upstream API available since Play Billing 4.1.0).
Installment plan details for subscription offers (Android)
Contains information about the installment plan commitment.
Available in Google Play Billing Library 7.0+
Parameters for launching an external link (Android)
Used with launchExternalLink to initiate external offer, app install, or
developer-rendered Billing Choice flows
Available in Google Play Billing Library 8.2.0+
Pending purchase update for subscription upgrades/downgrades (Android)
When a user initiates a subscription change (upgrade/downgrade), the new purchase
may be pending until the current billing period ends. This type contains the
details of the pending change.
Available in Google Play Billing Library 5.0+
One-time purchase offer details (Android).
Available in Google Play Billing Library 8.0+
@deprecated Use the standardized DiscountOffer type instead for cross-platform compatibility.
@see https://openiap.dev/docs/types#discount-offer
JWS promotional offer input for iOS 15+ (StoreKit 2, WWDC 2025).
New signature format using compact JWS string for promotional offers.
This provides a simpler alternative to the legacy signature-based promotional offers.
Back-deployed to iOS 15.
Product-level subscription replacement parameters (Android)
Used with setSubscriptionProductReplacementParams in BillingFlowParams.ProductDetailsParams
Available in Google Play Billing Library 8.1.0+
Win-back offer input for iOS 18+ (StoreKit 2)
Win-back offers are used to re-engage churned subscribers.
The offer is automatically presented via StoreKit Message when eligible,
or can be applied programmatically during purchase.
Alternative billing mode for Android
Controls which billing system is used
@deprecated Use enableBillingProgramAndroid with BillingProgramAndroid instead.
Use USER_CHOICE_BILLING for user choice billing, EXTERNAL_OFFER for alternative only.
Choice screen renderer for Billing Choice availability (Android)
Available in OpenIAP Spec 2.1.0 / openiap-google 2.3.0 (requires Play Billing 9.1.0+).
Billing program types for Google Play Billing Programs (Android)
Available in Google Play Billing Library 8.2.0 (External Offer and External Content Link
integrations require 8.2.1+), EXTERNAL_PAYMENTS added in 8.3.0,
BILLING_CHOICE added in OpenIAP Spec 2.1.0 / openiap-google 2.3.0
(requires Play Billing 9.1.0+).
Developer-provided billing destination type for Billing Program reporting details (Android)
Available in OpenIAP Spec 2.1.0 / openiap-google 2.3.0 (requires Play Billing 9.1.0+).
Launch mode for external link flow (Android)
Determines how the external URL is launched
Introduced in Google Play Billing Library 8.2.0. External Offer and External Content Link
integrations require 8.2.1+ and fresh details immediately before every redirect session.
Response code from Play billing in-app messages (Android)
Available in OpenIAP Spec 2.1.0 / openiap-google 2.3.0
(upstream API available since Play Billing 4.1.0).
Status code for individual products returned from queryProductDetailsAsync (Android)
Prior to 8.0, products that couldn't be fetched were simply not returned.
With 8.0+, these products are returned with a status code explaining why.
Available in Google Play Billing Library 8.0.0+
Replacement mode for subscription changes (Android)
These modes determine how the subscription replacement affects billing.
Available in Google Play Billing Library 8.1.0+