Skip to main content

1.1.1 — OpenIAP 1.3.14 & New Android/iOS Types

· 2 min read
Hyo
Godot IAP Maintainer

Godot IAP 1.1.1 syncs with OpenIAP v1.3.14, bringing new enums, types, and subscription features for both Android and iOS platforms.

IAPKit - In-App Purchase Solution

Highlights

  • New Android Enums: ProductStatusAndroid and SubResponseCodeAndroid for granular error handling
  • iOS Win-Back Offers: Type support for iOS 18+ win-back offers
  • JWS Promotional Offers: New iOS promotional offer format
  • Kotlin Warning Fixes: Resolved type inference warnings for nullable strings

New Android Features (Billing Library 8.0+)

ProductStatusAndroid Enum

Individual product fetch status codes:

enum ProductStatusAndroid {
OK, # Product was successfully fetched
NOT_FOUND, # Product SKU doesn't exist in Play Console
NO_OFFERS_AVAILABLE, # Product exists but user is not eligible
UNKNOWN # Unknown error occurred
}

SubResponseCodeAndroid Enum

Granular purchase error information:

enum SubResponseCodeAndroid {
NO_APPLICABLE_SUB_RESPONSE_CODE, # No specific sub-response code
PAYMENT_DECLINED_DUE_TO_INSUFFICIENT_FUNDS, # Insufficient funds
USER_INELIGIBLE # User doesn't meet eligibility
}

BillingResultAndroid Class

Extended billing result with sub-response code for detailed error handling.

New iOS Features

Win-Back Offers (iOS 18+)

New SubscriptionOfferTypeIOS.WIN_BACK offer type for re-engaging churned subscribers:

# Type support for win-back offers
var props = Types.RequestSubscriptionIosProps.new()
props.win_back_offer = win_back_offer_input

JWS Promotional Offers (iOS 15+)

New PromotionalOfferJWSInputIOS class for JWS format promotional offers.

RequestSubscriptionIosProps New Fields

  • win_back_offer: Win-back offer to apply (iOS 18+)
  • promotional_offer_jws: JWS promotional offer (iOS 15+)
  • introductory_offer_eligibility: Override introductory offer eligibility

Android Improvements

RequestActiveSubscriptionsAndroidProps

New field include_suspended_android to include suspended subscriptions in results (Android 8.1+).

ProductAndroid

New field product_status_android for product-level status code indicating fetch result.

Bug Fixes

  • Resolved Kotlin type inference warnings for nullable strings in Android plugin

Version Updates

PackageVersion
openiap-gql1.3.14
openiap-apple1.3.12
openiap-google1.3.25

Notes

  • iOS subscription features (win-back offers, JWS promotional offers) are type-only updates. Using them requires native GDExtension updates which will be added in a future release.
  • Android enums (ProductStatusAndroid, SubResponseCodeAndroid) are returned automatically by OpenIAP when available.

Upgrade Guide

No breaking changes from 1.1.0:

  1. Download the latest release
  2. Replace your addons/godot-iap folder
  3. Rebuild your project

For detailed changes, see the OpenIAP Release Notes.

Follow for updates: @hyodotdev