flutter_inapp_purchase library

Classes

ActiveSubscription
AndroidSubscriptionOfferInput
AppTransaction
ConnectionResult
Connection result (legacy - kept for backward compatibility)
DeepLinkOptions
DiscountIOS
DiscountOfferInputIOS
DiscountOfferIOS
EntitlementIOS
ErrorCodeUtils
Utility functions for error code mapping and validation
ExternalPurchaseLinkResultIOS
Result of presenting an external purchase link (iOS 18.2+)
ExternalPurchaseNoticeResultIOS
Result of presenting external purchase notice sheet (iOS 18.2+)
FetchProductsResult
FetchProductsResultProducts
FetchProductsResultSubscriptions
FlutterInappPurchase
InitConnectionConfig
Connection initialization configuration
MutationHandlers
MutationResolver
GraphQL root mutation operations.
PricingPhaseAndroid
PricingPhasesAndroid
Product
ProductAndroid
ProductAndroidOneTimePurchaseOfferDetail
ProductCommon
ProductIOS
ProductRequest
ProductSubscription
ProductSubscriptionAndroid
ProductSubscriptionAndroidOfferDetails
ProductSubscriptionIOS
Purchase
PurchaseAndroid
PurchaseCommon
PurchaseIOS
PurchaseOfferIOS
PurchaseOptions
PurchaseResult
Purchase result (legacy - kept for backward compatibility)
QueryHandlers
QueryResolver
GraphQL root query operations.
ReceiptValidationAndroidOptions
ReceiptValidationProps
ReceiptValidationResult
ReceiptValidationResultAndroid
ReceiptValidationResultIOS
RefundResultIOS
RenewalInfoIOS
RequestPurchaseAndroidBuilder
Builder for Android purchase props
RequestPurchaseAndroidProps
RequestPurchaseBuilder
Unified purchase parameter builder
RequestPurchaseIosBuilder
Builder for iOS-specific purchase props
RequestPurchaseIosProps
RequestPurchaseProps
RequestPurchasePropsByPlatforms
RequestPurchaseResult
RequestPurchaseResultPurchase
RequestPurchaseResultPurchases
RequestSubscriptionAndroidBuilder
Builder for Android subscription props
RequestSubscriptionAndroidProps
RequestSubscriptionBuilder
RequestSubscriptionIosBuilder
Builder for iOS-specific subscription props
RequestSubscriptionIosProps
RequestSubscriptionPropsByPlatforms
SubscriptionHandlers
SubscriptionInfoIOS
SubscriptionOfferIOS
SubscriptionPeriodValueIOS
SubscriptionResolver
GraphQL root subscription operations.
SubscriptionStatusIOS
UserChoiceBillingDetails
User Choice Billing event details (Android) Fired when a user selects alternative billing in the User Choice Billing dialog

Enums

AlternativeBillingModeAndroid
Alternative billing mode for Android Controls which billing system is used
AndroidPurchaseState
Android purchase states from Google Play Billing
AndroidReplacementMode
Android Replacement Mode (formerly Proration Mode)
BillingClientState
Billing client state
ErrorCode
ExternalPurchaseNoticeAction
User actions on external purchase notice sheet (iOS 18.2+)
IapEvent
IapPlatform
InAppMessageType
In-app message types
OfferType
Offer types
PaymentModeIOS
ProductAvailability
Platform availability types
ProductQueryType
ProductType
ProductTypeIOS
PurchaseState
RefundType
Refund types
ReplacementMode
Replacement mode (Android)
ReplaceMode
Replace mode (Android)
ResponseCodeAndroid
Android billing response codes
Store
Store types
SubscriptionOfferTypeIOS
SubscriptionPeriodIOS
SubscriptionState
Subscription states
TransactionState
Transaction states
TypeInApp
A enumeration of in-app purchase types for Android

Functions

androidPurchaseStateFromValue(int value) AndroidPurchaseState
buildIosPurchasePayload(String nativeType, Object? iosProps) Map<String, dynamic>?
Build iOS purchase payload from props
convertToPurchase(Map<String, dynamic> itemJson, {required bool platformIsAndroid, required bool platformIsIOS, required Map<String, bool> acknowledgedAndroidPurchaseTokens, Map<String, dynamic>? originalJson}) Purchase
convertToPurchaseError(PurchaseResult result, {required IapPlatform platform}) PurchaseError
extractPurchases(dynamic result, {required bool platformIsAndroid, required bool platformIsIOS, required Map<String, bool> acknowledgedAndroidPurchaseTokens}) List<Purchase>
extractResult(dynamic result) List<PurchaseResult>?
getCurrentPlatform() IapPlatform
Get current platform
getUserFriendlyErrorMessage(dynamic error) String
Returns a user-friendly message for the given error or error code
normalizeDynamicMap(dynamic value) Map<String, dynamic>?
normalizeDynamicValue(dynamic value) → dynamic
parseAndLogAndroidResponse(dynamic result, {required String successLog, required String failureLog}) → void
Parse Android JSON response and log the result
parseProductFromNative(Map<String, dynamic> json, String type, {required bool fallbackIsIOS}) ProductCommon
resolveProductType(Object type) String

Typedefs

AndroidPurchaseBuilder = void Function(RequestPurchaseAndroidBuilder builder)
AndroidSubscriptionBuilder = void Function(RequestSubscriptionAndroidBuilder builder)
IosPurchaseBuilder = void Function(RequestPurchaseIosBuilder builder)
IosSubscriptionBuilder = void Function(RequestSubscriptionIosBuilder builder)
MutationAcknowledgePurchaseAndroidHandler = Future<bool> Function(String purchaseToken)
MutationBeginRefundRequestIOSHandler = Future<String?> Function(String sku)
MutationCheckAlternativeBillingAvailabilityAndroidHandler = Future<bool> Function()
MutationClearTransactionIOSHandler = Future<bool> Function()
MutationConsumePurchaseAndroidHandler = Future<bool> Function(String purchaseToken)
MutationCreateAlternativeBillingTokenAndroidHandler = Future<String?> Function()
MutationDeepLinkToSubscriptionsHandler = Future<void> Function({String? packageNameAndroid, String? skuAndroid})
MutationEndConnectionHandler = Future<bool> Function()
MutationFinishTransactionHandler = Future<void> Function({bool? isConsumable, required PurchaseInput purchase})
MutationInitConnectionHandler = Future<bool> Function({AlternativeBillingModeAndroid? alternativeBillingModeAndroid})
MutationPresentCodeRedemptionSheetIOSHandler = Future<bool> Function()
MutationPresentExternalPurchaseLinkIOSHandler = Future<ExternalPurchaseLinkResultIOS> Function(String url)
MutationPresentExternalPurchaseNoticeSheetIOSHandler = Future<ExternalPurchaseNoticeResultIOS> Function()
MutationRequestPurchaseHandler = Future<RequestPurchaseResult?> Function(RequestPurchaseProps params)
MutationRequestPurchaseOnPromotedProductIOSHandler = Future<bool> Function()
MutationRestorePurchasesHandler = Future<void> Function()
MutationShowAlternativeBillingDialogAndroidHandler = Future<bool> Function()
MutationShowManageSubscriptionsIOSHandler = Future<List<PurchaseIOS>> Function()
MutationSyncIOSHandler = Future<bool> Function()
MutationValidateReceiptHandler = Future<ReceiptValidationResult> Function({ReceiptValidationAndroidOptions? androidOptions, required String sku})
PurchaseError = PurchaseError
PurchaseInput = Purchase
QueryCanPresentExternalPurchaseNoticeIOSHandler = Future<bool> Function()
QueryCurrentEntitlementIOSHandler = Future<PurchaseIOS?> Function(String sku)
QueryFetchProductsHandler = Future<FetchProductsResult> Function({required List<String> skus, ProductQueryType? type})
QueryGetActiveSubscriptionsHandler = Future<List<ActiveSubscription>> Function([List<String>? subscriptionIds])
QueryGetAppTransactionIOSHandler = Future<AppTransaction?> Function()
QueryGetAvailablePurchasesHandler = Future<List<Purchase>> Function({bool? alsoPublishToEventListenerIOS, bool? onlyIncludeActiveItemsIOS})
QueryGetPendingTransactionsIOSHandler = Future<List<PurchaseIOS>> Function()
QueryGetPromotedProductIOSHandler = Future<ProductIOS?> Function()
QueryGetReceiptDataIOSHandler = Future<String?> Function()
QueryGetStorefrontHandler = Future<String> Function()
QueryGetStorefrontIOSHandler = Future<String> Function()
QueryGetTransactionJwsIOSHandler = Future<String?> Function(String sku)
QueryHasActiveSubscriptionsHandler = Future<bool> Function([List<String>? subscriptionIds])
QueryIsEligibleForIntroOfferIOSHandler = Future<bool> Function(String groupID)
QueryIsTransactionVerifiedIOSHandler = Future<bool> Function(String sku)
QueryLatestTransactionIOSHandler = Future<PurchaseIOS?> Function(String sku)
QuerySubscriptionStatusIOSHandler = Future<List<SubscriptionStatusIOS>> Function(String sku)
QueryValidateReceiptIOSHandler = Future<ReceiptValidationResultIOS> Function({ReceiptValidationAndroidOptions? androidOptions, required String sku})
RequestBuilder = void Function(RequestPurchaseBuilder builder)
SubscriptionOfferAndroid = AndroidSubscriptionOfferInput
SubscriptionPromotedProductIOSHandler = Future<String> Function()
SubscriptionPurchaseErrorHandler = Future<PurchaseError> Function()
SubscriptionPurchaseUpdatedHandler = Future<Purchase> Function()
SubscriptionUserChoiceBillingAndroidHandler = Future<UserChoiceBillingDetails> Function()
VoidResult = void