Skip to main content
The Flutter SDK provides a WebView-based checkout widget that renders the Crossmint embedded checkout experience. Import it from crossmint_flutter_ui.dart.

CrossmintEmbeddedCheckout

WebView-based checkout widget that renders the Crossmint embedded checkout experience inline. Communicates bidirectionally with the hosted checkout page for dynamic sizing, order updates, and crypto transaction signing.

Props

String
required
Crossmint API key.
CrossmintCheckoutConfig
required
Checkout configuration (order, payment, appearance).
CrossmintCheckoutPayer?
Optional crypto payer override for signing transactions within checkout.
CrossmintCheckoutController?
Optional reactive controller for checkout order state.
void Function(Map<String, Object?> order)?
Called when the order state changes.
void Function(String errorMessage)?
Called when order creation fails.
void Function(CrossmintCheckoutDiagnostic diagnostic)?
Called when the hosted checkout emits a runtime diagnostic.
CrossmintCheckoutLoadingBuilder?
Optional builder for the loading overlay rendered on top of the hosted checkout WebView while the page is loading. When null, the widget falls back to a Material CircularProgressIndicator inside a themed background container (the React Native Crossmint SDK parity default).
double
Initial height before the hosted page reports its actual height.

Usage


CrossmintCheckoutController

Reactive controller for checkout order state, matching the official Crossmint RN SDK’s useCrossmintCheckout() hook. Pass this to CrossmintEmbeddedCheckout to receive order updates as observable state.

Properties

Map<String, Object?>?
The current order object from the checkout, or null if no order yet.
String?
The server-assigned client secret for the current order.
CrossmintIdentityVerificationCredentials?
Verification credentials for the current order, or null when the order does not need identity verification. Pass these to CrossmintIdentityVerification when checkout runs with identityVerificationHandling set to external.

Methods

void
Updates the order state from a checkout order:updated event.
void
Clears the order state.

Usage


CrossmintIdentityVerification

WebView-based widget that renders Crossmint’s hosted identity verification step in your own route. Use it when checkout runs with identityVerificationHandling: CrossmintIdentityVerificationHandling.external — checkout then stops rendering verification itself, and the buyer cannot finish unless you mount this widget with the credentials from CrossmintCheckoutController.identityVerificationCredentials.

Props

String
required
Crossmint API key. Resolves staging versus production and is forwarded to the hosted page, matching the React Native SDK and the other Crossmint widgets in this package.
CrossmintIdentityVerificationCredentials
required
Credentials for the verification session.
String?
Optional locale tag. Must be one the hosted page recognises, for example en-US, es-ES, pt-PT. An unrecognised tag is not ignored: the page rejects it and reports a non-retriable invalidConfiguration error, which leaves the buyer with a dead screen.
void Function()?
Called when the verification UI is ready.
void Function(CrossmintIdentityVerificationStatus status)?
Called with the outcome when verification finishes.
void Function()?
Called when the buyer abandons verification.
void Function(CrossmintIdentityVerificationError error)?
Called when verification cannot run or continue.
CrossmintIdentityVerificationLoadingBuilder?
Optional builder for the loading overlay. Falls back to a themed Material spinner, matching CrossmintPaymentMethodManagement.
double
Initial height before the hosted page reports its actual height.

Usage