Skip to main content

CrossmintEmbeddedCheckout

Props

EmbeddedCheckoutV3Appearance
string
"external"
"external": you mount CrossmintIdentityVerification from getIdentityVerificationCredentials(order), or the buyer cannot finish.
string
string
EmbeddedCheckoutV3Payment
required
EmbeddedCheckoutV3LineItem | EmbeddedCheckoutV3LineItem[]
Locale
JSONObject
EmbeddedCheckoutV3Recipient

Usage

Note: In React Native, when payment.crypto.enabled is true, you must provide a payment.crypto.payer object with the required callback handlers for signing transactions and switching chains.

CrossmintIdentityVerification

Props

EmbeddedCheckoutV3Appearance
IdentityVerificationCredentials
required
Locale
() => void
The user closed the flow: Done on a blocked screen, or closing document capture. Without it, Done does nothing.
(result: { status: "expired" | "unknown" | "failed" | "verified" | "pending-review" | "pending-manual-review" | "declined" }) => void
The flow ended with a result. Unmount here, not when the credentials go away: the order moves on first.
(error: object) => void
() => void

Usage

Note: Keep the component mounted until onComplete or onCancel: the order leaves requires-kyc, and the hook returns undefined, before the flow shows its result. Handle onCancel, or the Done button on blocked screens does nothing. Pass the appearance object you give embedded checkout, so both look the same. Document capture needs camera access granted by the host app. On Android the WebView requests android.permission.CAMERA at runtime, which only succeeds if your app declares it in AndroidManifest.xml; on iOS you must set NSCameraUsageDescription in Info.plist. Neither is added for you.