CrossmintEmbeddedCheckout
Props
appearance
EmbeddedCheckoutV3Appearance
rules
EmbeddedCheckoutV3AppearanceRules
colors
{ background?: string; border?: string; boxShadow?: string; placeholder?: string; text?: string }
focus
{ colors?: { background?: string; border?: string; boxShadow?: string } }
font
{ family?: string; size?: string; weight?: string }
hover
{ colors?: { background?: string; border?: string; boxShadow?: string; text?: string } }
Label
{ colors?: { text?: string }; font?: { family?: string; size?: string; weight?: string } }
font
{ family?: string; size?: string; weight?: string }
colors
{ background?: string; text?: string }
disabled
{ colors?: { background?: string; text?: string } }
font
{ family?: string; size?: string; weight?: string }
hover
{ colors?: { background?: string; text?: string } }
colors
{ background?: string; border?: string; boxShadow?: string; text?: string }
font
{ family?: string; size?: string; weight?: string }
hover
{ colors?: { background?: string; border?: string; boxShadow?: string; text?: string } }
selected
{ colors?: { background?: string; border?: string; boxShadow?: string; text?: string } }
variables
EmbeddedCheckoutV3AppearanceVariables
payment
EmbeddedCheckoutV3Payment
required
crypto
EmbeddedCheckoutV3CryptoPayment
required
defaultChain
BlockchainIncludingTestnet
initialChain
PayerSupportedBlockchains
required
supportedChains
PayerSupportedBlockchains[]
handleSignAndSendTransaction
fiat
EmbeddedCheckoutV3FiatPayment
required
allowedMethods
{ applePay?: boolean; card?: boolean; googlePay?: boolean }
lineItems
EmbeddedCheckoutV3LineItem | EmbeddedCheckoutV3LineItem[]
recipient
EmbeddedCheckoutV3Recipient
physicalAddress
EmbeddedCheckoutV3PhysicalAddress
Usage
import { CrossmintEmbeddedCheckout } from "@crossmint/client-sdk-react-ui" ;
function Checkout () {
return (
< CrossmintEmbeddedCheckout
lineItems = { {
collectionLocator: "crossmint:YOUR_COLLECTION_ID" ,
callData: {
totalPrice: "0.001" ,
},
} }
payment = { {
crypto: {
enabled: true ,
defaultChain: "base-sepolia" ,
defaultCurrency: "usdc" ,
},
fiat: {
enabled: true ,
defaultCurrency: "usd" ,
allowedMethods: {
card: true ,
applePay: true ,
googlePay: true ,
},
},
receiptEmail: "buyer@example.com" ,
} }
recipient = { { email: "buyer@example.com" } }
locale = "en-US"
/>
);
}
CrossmintHostedCheckout
Props
appearance
CrossmintHostedCheckoutV3Appearance
display
"popup" | "new-tab" | "same-tab"
overlay
CrossmintHostedCheckoutV3OverlayOptions
rules
HostedCheckoutV3AppearanceRules
theme
{ button?: CrossmintHostedCheckoutV3ButtonTheme; checkout?: CrossmintHostedCheckoutV3Theme }
button
CrossmintHostedCheckoutV3ButtonTheme
checkout
CrossmintHostedCheckoutV3Theme
variables
CrossmintHostedCheckoutV3AppearanceVariables
lineItems
EmbeddedCheckoutV3LineItem | EmbeddedCheckoutV3LineItem[]
payment
HostedCheckoutV3Payment
required
crypto
HostedCheckoutV3CryptoPayment
required
defaultChain
BlockchainIncludingTestnet
fiat
HostedCheckoutV3FiatPayment
required
recipient
EmbeddedCheckoutV3Recipient
physicalAddress
EmbeddedCheckoutV3PhysicalAddress
Usage
import { CrossmintHostedCheckout } from "@crossmint/client-sdk-react-ui" ;
function BuyButton () {
return (
< CrossmintHostedCheckout
lineItems = { {
collectionLocator: "crossmint:YOUR_COLLECTION_ID" ,
callData: {
totalPrice: "0.001" ,
},
} }
payment = { {
crypto: {
enabled: true ,
defaultChain: "base-sepolia" ,
defaultCurrency: "usdc" ,
},
fiat: {
enabled: true ,
defaultCurrency: "usd" ,
},
receiptEmail: "buyer@example.com" ,
} }
recipient = { { email: "buyer@example.com" } }
appearance = { {
display: "popup" ,
overlay: { enabled: true },
theme: {
button: "dark" ,
checkout: "light" ,
},
} }
locale = "en-US"
/>
);
}
CrossmintPaymentMethodManagement
Props
Which sections the management UI renders. ["new"] (default) shows only the “add new” section: no saved-methods fetch, no auto-open/auto-select of an existing method. Include "existing" to also show the saved-methods section.
allowedPaymentMethodTypes
PaymentMethodManagementAllowedType[]
Filter array of which method types the “add new” section offers (default ["card"]). LM0 renders the first supported entry; passing more than one type does not yet render a type picker.
appearance
PaymentMethodManagementAppearance
fonts
EmbeddedCheckoutV3Appearance["fonts"]
rules
EmbeddedCheckoutV3Appearance["rules"]
variables
EmbeddedCheckoutV3Appearance["variables"]
onPaymentMethodSelected
(paymentMethod: CrossmintPaymentMethod) => void | Promise<void>
Usage
import { CrossmintPaymentMethodManagement } from "@crossmint/client-sdk-react-ui" ;
function PaymentMethods ({ jwt } : { jwt : string }) {
return (
< CrossmintPaymentMethodManagement
jwt = { jwt }
allowedModes = { [ "new" , "existing" ] }
allowedPaymentMethodTypes = { [ "card" ] }
onPaymentMethodSelected = { ( paymentMethod ) => {
if ( paymentMethod . type === "card" ) {
console . log ( "Card selected:" , paymentMethod . card . last4 );
}
} }
/>
);
}
Note: CrossmintPaymentMethodManagement renders an iframe-based UI for managing saved payment methods. Requires a valid JWT for authentication. The onPaymentMethodSelected callback receives a discriminated union — narrow on type before accessing variant-specific fields.