Package 

Interface MutationResolver

    • Method Detail

      • acknowledgePurchaseAndroid

         abstract Boolean acknowledgePurchaseAndroid(String purchaseToken)

        Acknowledge a non-consumable purchase. Required within 3 days or Google auto-refunds. See: https://openiap.dev/docs/apis/android/acknowledge-purchase-android

      • beginRefundRequestIOS

         abstract String beginRefundRequestIOS(String sku)

        Present the refund request sheet (iOS 15+). See also Features → Refund. See: https://openiap.dev/docs/apis/ios/begin-refund-request-ios

      • clearTransactionIOS

         abstract Boolean clearTransactionIOS()

        Clear pending transactions in the queue (sandbox helper). See: https://openiap.dev/docs/apis/ios/clear-transaction-ios

      • consumePurchaseAndroid

         abstract Boolean consumePurchaseAndroid(String purchaseToken)

        Consume a consumable purchase so it can be re-bought. See: https://openiap.dev/docs/apis/android/consume-purchase-android

      • createBillingProgramReportingDetailsAndroid

         abstract BillingProgramReportingDetailsAndroid createBillingProgramReportingDetailsAndroid(BillingProgramAndroid program, DeveloperBillingTypeAndroid developerBillingType)

        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 Spec 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

      • endConnection

         abstract Boolean endConnection()

        Close the store connection and release resources. See: https://openiap.dev/docs/apis/end-connection

      • finishTransaction

         abstract Unit finishTransaction(Purchase purchase, Boolean isConsumable)

        Complete a transaction after server-side verification. Required on Android within 3 days. See: https://openiap.dev/docs/apis/finish-transaction

      • isBillingProgramAvailableAndroid

         abstract BillingProgramAvailabilityResultAndroid isBillingProgramAvailableAndroid(BillingProgramAndroid program)

        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

         abstract Boolean launchExternalLinkAndroid(LaunchExternalLinkParamsAndroid params)

        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 Spec 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

      • openRedeemOfferCodeAndroid

         abstract Boolean openRedeemOfferCodeAndroid()

        Open the Google Play offer/promo code redemption flow so the user can enter a code. On Google Play builds, launches the Play Store redeem page (https://play.google.com/redeem). A purchase listener can receive the redeemed purchase while the app is running with an active billing connection; always reconcile with getAvailablePurchases when the app resumes. Does not require the billing client to be initialized (no Play Billing version requirement). Available in OpenIAP Spec 2.4.2 / openiap-google 2.5.0. Android counterpart of presentCodeRedemptionSheetIOS. Returns true when the redemption flow was launched, or false when the current store flavor does not provide an equivalent redemption flow. See: https://openiap.dev/docs/apis/android/open-redeem-offer-code-android

      • presentCodeRedemptionSheetIOS

         abstract PurchaseIOS presentCodeRedemptionSheetIOS()

        Show the App Store offer code redemption sheet. On iOS 27+, Mac Catalyst 27+, and visionOS 27+, returns the verified transaction produced by the redemption. Earlier iOS and Mac Catalyst versions present the legacy sheet and return null; reconcile purchases through the normal transaction listener or an explicit available-purchases refresh. See: https://openiap.dev/docs/apis/ios/present-code-redemption-sheet-ios

      • presentExternalPurchaseNoticeSheetIOS

         abstract ExternalPurchaseNoticeResultIOS presentExternalPurchaseNoticeSheetIOS()

        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

      • restorePurchases

         abstract Unit restorePurchases()

        Restore non-consumable and active subscription purchases. See: https://openiap.dev/docs/apis/restore-purchases

      • showExternalPurchaseCustomLinkNoticeIOS

         abstract ExternalPurchaseCustomLinkNoticeResultIOS showExternalPurchaseCustomLinkNoticeIOS(ExternalPurchaseCustomLinkNoticeTypeIOS noticeType)

        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

         abstract InAppMessageResultAndroid showInAppMessagesAndroid(InAppMessageParamsAndroid params)

        Overlay Play billing in-app messages, such as payment issues or subscription price-change confirmations. OpenIAP availability: Spec 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

         abstract List<PurchaseIOS> showManageSubscriptionsIOS()

        Present the manage-subscriptions sheet and return changed purchases (iOS 15+). See: https://openiap.dev/docs/apis/ios/show-manage-subscriptions-ios

      • syncIOS

         abstract Boolean syncIOS()

        Force sync transactions with the App Store (iOS 15+). See: https://openiap.dev/docs/apis/ios/sync-ios

      • verifyPurchase

         abstract VerifyPurchaseResult verifyPurchase(VerifyPurchaseProps options)

        Verify a purchase against your own backend. Returns a platform-specific variant of VerifyPurchaseResult — VerifyPurchaseResultIOS exposes isValid

        • receipt/JWS metadata, VerifyPurchaseResultAndroid carries Play Store receipt fields (no isValid), and VerifyPurchaseResultHorizon uses success. Inspect the concrete variant before reading fields. See: https://openiap.dev/docs/features/validation#verify-purchase