MutationResolver class abstract

GraphQL root mutation operations.

Constructors

MutationResolver()

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

acknowledgePurchaseAndroid(String purchaseToken) → Future<bool>
Acknowledge a non-consumable purchase. Required within 3 days or Google auto-refunds. See: https://openiap.dev/docs/apis/android/acknowledge-purchase-android
beginRefundRequestIOS(String sku) → Future<String?>
Present the refund request sheet (iOS 15+). See also Features → Refund. See: https://openiap.dev/docs/apis/ios/begin-refund-request-ios
clearTransactionIOS() → Future<bool>
Clear pending transactions in the queue (sandbox helper). See: https://openiap.dev/docs/apis/ios/clear-transaction-ios
consumePurchaseAndroid(String purchaseToken) → Future<bool>
Consume a consumable purchase so it can be re-bought. See: https://openiap.dev/docs/apis/android/consume-purchase-android
createBillingProgramReportingDetailsAndroid({required BillingProgramAndroid program, DeveloperBillingTypeAndroid? developerBillingType}) → Future<BillingProgramReportingDetailsAndroid>
Create the reporting details and external transaction token required by a billing program. Introduced in Play Billing 8.2.0. External Offer and External Content Link integrations must use 8.2.1+ and create fresh details immediately before every redirect session; do not cache the token for a later redirect. The same token may report multiple purchases made during one External Offer session. Replaces the deprecated createExternalOfferReportingDetailsAsync API. Returns external transaction token needed for reporting external transactions. developerBillingType is optional. When program is BILLING_CHOICE and developerBillingType is omitted, native Android defaults it to IN_APP. The Billing Choice extension is available in OpenIAP 2.1.0 / openiap-google 2.3.0 (requires Play Billing 9.1.0+). Throws OpenIapError.NotPrepared if billing client not ready. See: https://openiap.dev/docs/apis/android/create-billing-program-reporting-details-android
deepLinkToSubscriptions({String? packageNameAndroid, String? skuAndroid}) → Future<void>
Open the platform's subscription management UI. See: https://openiap.dev/docs/apis/deep-link-to-subscriptions
endConnection() → Future<bool>
Close the store connection and release resources. See: https://openiap.dev/docs/apis/end-connection
finishTransaction({required PurchaseInput purchase, bool? isConsumable}) → Future<void>
Complete a transaction after server-side verification. Required on Android within 3 days. See: https://openiap.dev/docs/apis/finish-transaction
initConnection({BillingChoiceScreenTypeAndroid? billingChoiceScreenTypeAndroid, BillingProgramAndroid? enableBillingProgramAndroid}) → Future<bool>
Initialize the store connection. Call before any IAP API. See: https://openiap.dev/docs/apis/init-connection
isBillingProgramAvailableAndroid(BillingProgramAndroid program) → Future<BillingProgramAvailabilityResultAndroid>
Check whether a billing program (e.g., External Payments) is available for the current user. Replaces the deprecated isExternalOfferAvailableAsync API. Introduced in Google Play Billing Library 8.2.0. External Offer and External Content Link integrations must use 8.2.1+ because 8.2.1 fixes this API. Returns availability result with isAvailable flag. Throws OpenIapError.NotPrepared if billing client not ready. See: https://openiap.dev/docs/apis/android/is-billing-program-available-android
launchExternalLinkAndroid({required BillingProgramAndroid billingProgram, String? externalTransactionToken, required ExternalLinkLaunchModeAndroid launchMode, required ExternalLinkTypeAndroid linkType, required String linkUri}) → Future<bool>
Launch an external content/offer link from inside the Billing Programs flow (introduced in Play Billing 8.2.0; External Offer and External Content Link require 8.2.1+), including developer-rendered Billing Choice external-link flows. Billing Choice availability: OpenIAP 2.1.0 / openiap-google 2.3.0 (requires Play Billing 9.1.0+). Replaces the deprecated showExternalOfferInformationDialog API. Shows Play Store dialog and optionally launches external URL. Throws OpenIapError.NotPrepared if billing client not ready. See: https://openiap.dev/docs/apis/android/launch-external-link-android
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
openRedeemOfferCode() → Future<Purchase?>
Open the platform's offer/promo code redemption flow. Resolves the redeemed purchase only when the store reports it synchronously; every other path resolves null, so reconcile through the purchase listeners. Throws when a redemption flow exists but cannot be opened. Available in OpenIAP 3.3.0 / openiap-apple 3.3.0 / openiap-google 3.4.0. See: https://openiap.dev/docs/apis/open-redeem-offer-code
presentExternalPurchaseLinkIOS(String url) → Future<ExternalPurchaseLinkResultIOS>
Present an external purchase link, StoreKit External (iOS 16+). See: https://openiap.dev/docs/apis/ios/present-external-purchase-link-ios
presentExternalPurchaseNoticeSheetIOS() → Future<ExternalPurchaseNoticeResultIOS>
Present the external purchase notice sheet (iOS 17.4+). Uses ExternalPurchase.presentNoticeSheet() which returns a token when the user continues. Reference: https://developer.apple.com/documentation/storekit/externalpurchase/presentnoticesheet() See: https://openiap.dev/docs/apis/ios/present-external-purchase-notice-sheet-ios
requestPurchase(RequestPurchaseProps params) → Future<RequestPurchaseResult?>
Initiate a purchase or subscription flow; rely on events for final state. Providers emit one canonical purchase-error event before returning or throwing a request failure. See: https://openiap.dev/docs/apis/request-purchase
restorePurchases() → Future<void>
Restore non-consumable and active subscription purchases. See: https://openiap.dev/docs/apis/restore-purchases
showBillingProgramInformationDialogAndroid({required BillingProgramAndroid billingProgram, required String externalTransactionToken}) → Future<BillingResultAndroid>
Show Google's mandatory information dialog before a developer-rendered, in-app Billing Choice screen. OpenIAP availability: 2.1.0 / openiap-google 2.3.0 (requires Play Billing 9.1.0+). Throws OpenIapError.NotPrepared if billing client not ready. See: https://openiap.dev/docs/apis/android/show-billing-program-information-dialog-android
showExternalPurchaseCustomLinkNoticeIOS(ExternalPurchaseCustomLinkNoticeTypeIOS noticeType) → Future<ExternalPurchaseCustomLinkNoticeResultIOS>
Present the disclosure sheet required before linking out via ExternalPurchaseCustomLink (iOS 18.1+). Call this after a deliberate customer interaction before linking out to external purchases. Reference: https://developer.apple.com/documentation/storekit/externalpurchasecustomlink/shownotice(type:) See: https://openiap.dev/docs/apis/ios/show-external-purchase-custom-link-notice-ios Parameter noticeType: Notice type determining the style of disclosure
showInAppMessagesAndroid({List<InAppMessageCategoryAndroid>? categories}) → Future<InAppMessageResultAndroid>
Overlay Play billing in-app messages, such as payment issues or subscription price-change confirmations. OpenIAP availability: 2.1.0 / openiap-google 2.3.0 (upstream API available since Play Billing 4.1.0). Returns a response code and, when the subscription status changes, the related purchase token. Throws OpenIapError.NotPrepared if billing client not ready. See: https://openiap.dev/docs/apis/android/show-in-app-messages-android
showManageSubscriptionsIOS() → Future<List<PurchaseIOS>>
Present the manage-subscriptions sheet and return changed purchases (iOS 15+). See: https://openiap.dev/docs/apis/ios/show-manage-subscriptions-ios
syncIOS() → Future<bool>
Force sync transactions with the App Store (iOS 15+). See: https://openiap.dev/docs/apis/ios/sync-ios
toString() → String
A string representation of this object.
inherited
verifyPurchase({VerifyPurchaseAppleOptions? apple, VerifyPurchaseGoogleOptions? google, VerifyPurchaseHorizonOptions? horizon}) → Future<VerifyPurchaseResult>
Verify a purchase against your own backend. Every VerifyPurchaseResult variant exposes isValid, so entitlement can be gated without inspecting the concrete type. Variants add their own metadata on top: IOS carries receipt/JWS fields, Android carries Play Store receipt fields, and Horizon carries grantTime. See: https://openiap.dev/docs/features/validation#verify-purchase
verifyPurchaseWithProvider({RequestVerifyPurchaseWithIapkitProps? iapkit, required PurchaseVerificationProvider provider}) → Future<VerifyPurchaseWithProviderResult>
Verify via a managed provider without standing up your own server. The PurchaseVerificationProvider enum currently exposes only IAPKit; platform availability may differ by implementation. See: https://openiap.dev/docs/features/validation#verify-purchase-with-provider

Operators

operator ==(Object other) → bool
The equality operator.
inherited