MethodChannelZeroSettle class

An implementation of ZeroSettlePlatform that uses method channels.

Inheritance

Constructors

MethodChannelZeroSettle()

Properties

applePayStateEventChannel EventChannel
final
applePayStateUpdates Stream<String>
Stream of Apple Pay availability state changes from the iOS Kit's applePayAvailability.statePublisher. Each event is the raw string ("ready" / "setupRequired" / "unavailable"); the facade converts to ApplePayAvailabilityState.
no setteroverride
checkoutEventChannel EventChannel
final
checkoutEvents Stream<Map<String, dynamic>>
no setteroverride
entitlementEventChannel EventChannel
final
entitlementUpdates Stream<List<Map<String, dynamic>>>
no setteroverride
hashCode int
The hash code for this object.
no setterinherited
methodChannel MethodChannel
final
pendingClaimsEventChannel EventChannel
final
pendingClaimsUpdates Stream<List<Map<String, dynamic>>>
Stream of pending-claim list snapshots. Emits whenever the SDK's pendingClaims mutates (claim added or removed).
no setteroverride
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

acceptSaveOffer({required String productId, required String userId}) Future<Map<String, dynamic>>
override
acceptSaveOfferForCurrentUser({required String productId}) Future<Map<String, dynamic>>
1.3.0 no-userId overload — uses the currently identified user.
override
bootstrap({required String userId}) Future<Map<String, dynamic>>
override
cancelSubscription({required String productId, required String userId, bool immediate = false}) Future<void>
override
cancelSubscriptionForCurrentUser({required String productId, bool immediate = false}) Future<void>
1.3.0 no-userId overload — uses the currently identified user.
override
configure({required String publishableKey, bool syncStoreKitTransactions = true, String? appleMerchantId, bool preloadCheckout = false, int? maxPreloadedWebViews, String? applePaySetupBehavior}) Future<void>
override
fetchCancelFlowConfig({String? userId}) Future<Map<String, dynamic>>
override
fetchProducts({String? userId}) Future<Map<String, dynamic>>
override
fetchTransactionHistory({required String userId}) Future<List<Map<String, dynamic>>>
override
fetchTransactionHistoryForCurrentUser() Future<List<Map<String, dynamic>>>
1.3.0 no-userId overload — uses the currently identified user.
override
fetchUpgradeOfferConfig({String? productId, required String userId}) Future<Map<String, dynamic>>
override
fetchUpgradeOfferConfigForCurrentUser({String? productId}) Future<Map<String, dynamic>>
1.3.0 no-userId overload — uses the currently identified user.
override
getApplePayState() Future<String>
Reads the current Apple Pay availability state once. Returned as a raw string ("ready" / "setupRequired" / "unavailable"); the facade converts to ApplePayAvailabilityState.
override
getCancelFlowConfig() Future<Map<String, dynamic>?>
override
getCurrentUserId() Future<String?>
The currently identified user ID, or null if identify() hasn't been called.
override
getDetectedJurisdiction() Future<String?>
override
getEntitlements() Future<List<Map<String, dynamic>>>
override
getIsApplePayOnly() Future<bool>
Whether the SDK is currently treating this merchant as Apple-Pay-only. Mirrors ZeroSettle.shared.isApplePayOnly on iOS.
override
getIsBootstrapped() Future<bool>
Whether identify() (or the deprecated bootstrap()) has completed.
override
getIsConfigured() Future<bool>
override
getPendingCheckout() Future<bool>
override
getPendingClaims() Future<List<Map<String, dynamic>>>
StoreKit purchases the current user could claim from another ZeroSettle account.
override
getProducts() Future<List<Map<String, dynamic>>>
override
getRemoteConfig() Future<Map<String, dynamic>?>
override
override
hasActiveEntitlement({required String productId}) Future<bool>
override
identify({required String type, String? id, String? name, String? email}) Future<Map<String, dynamic>?>
override
logout() Future<void>
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
openCustomerPortal({required String userId}) Future<void>
override
pauseSubscription({required String productId, required String userId, required int pauseOptionId}) Future<String?>
override
pauseSubscriptionForCurrentUser({required String productId, int? pauseDurationDays}) Future<String?>
1.3.0 no-userId overload — uses the currently identified user. Takes pauseDurationDays per Kit 1.3.0 (replaces the old pauseOptionId).
override
preloadPaymentSheet({required String productId, String? userId}) Future<void>
override
presentApplePaySetup() Future<void>
Launches the system Wallet setup flow so the user can add a card for Apple Pay. Mirrors ZeroSettle.shared.presentApplePaySetup() on iOS.
override
presentCancelFlow({required String productId, required String userId}) Future<String>
override
presentCancelFlowForCurrentUser({required String productId}) Future<String?>
1.3.0 no-userId overload — uses the currently identified user.
override
presentPaymentSheet({required String productId, String? userId, bool dismissible = true}) Future<Map<String, dynamic>>
override
presentSaveTheSaleSheet() Future<String>
override
presentUpgradeOffer({String? productId, required String userId}) Future<String>
override
presentUpgradeOfferForCurrentUser({String? productId}) Future<String>
1.3.0 no-userId overload — uses the currently identified user.
override
product({required String productId}) Future<Map<String, dynamic>?>
override
purchase({required String productId, String? presentation}) Future<Map<String, dynamic>>
Unified purchase entry point. Routes to web checkout or StoreKit based on jurisdiction + remote config; can be overridden per-call by presentation.
override
purchaseViaStoreKit({required String productId}) Future<Map<String, dynamic>>
Force a StoreKit (App Store IAP) purchase, bypassing web checkout.
override
recommendedAppAccountToken() Future<String>
Derive a deterministic UUID for appAccountToken from the currently identified user ID. Returned as a string.
override
resetMigrateTipState() Future<void>
override
resolveMigrationManagerHandle({String? stripeCustomerId}) Future<String>
Returns the iOS-side handle ID for the migration manager scoped to the currently-identified user and the optional stripeCustomerId. The returned ID is opaque; pass it to MigrationManager.fromHandleId.
override
resolveOfferManagerHandle({String? stripeCustomerId}) Future<String>
Returns the iOS-side handle ID for the offer manager scoped to the currently-identified user and the optional stripeCustomerId. The returned ID is opaque; pass it to OfferManager.fromHandleId.
override
restoreEntitlements({required String userId}) Future<List<Map<String, dynamic>>>
override
restoreEntitlementsForCurrentUser() Future<List<Map<String, dynamic>>>
1.3.0 no-userId overload — uses the currently identified user.
override
resumeSubscription({required String productId, required String userId}) Future<void>
override
resumeSubscriptionForCurrentUser({required String productId}) Future<void>
1.3.0 no-userId overload — uses the currently identified user.
override
setBaseUrlOverride(String? url) Future<void>
override
setCustomer({String? name, String? email}) Future<void>
override
showManageSubscription({required String userId}) Future<void>
override
submitCancelFlowResponse(Map<String, dynamic> response) Future<void>
override
toString() String
A string representation of this object.
inherited
trackEvent({required String eventType, required String productId, String? screenName, Map<String, String>? metadata}) Future<void>
override
trackMigrationConversion({required String userId}) Future<void>
override
trackMigrationConversionForCurrentUser() Future<void>
1.3.0 no-userId overload — uses the currently identified user.
override
transferStoreKitOwnershipToCurrentUser({required String productId}) Future<void>
override
warmUpPaymentSheet({required String productId, String? userId}) Future<void>
override

Operators

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