useCrossmintCheckout()
Returns
object
Show parameters
Show parameters
object[]
Show parameters
Show parameters
Record<string, any>
"solana" | "sui" | "aptos" | "ethereum" | "polygon" | "bsc" | "optimism" | "arbitrum" | "base" | "zora" | ...
{ recipient?: object | object; status: "completed"; tokens: ... | ...[]; txId: string } | ...
object
number
object
number
"en-US" | "es-ES" | "fr-FR" | "it-IT" | "ja-JP" | "ko-KR" | "pt-PT" | "zh-CN" | "zh-TW" | "de-DE" | "ru-RU" | ...
string
object
Show parameters
Show parameters
"usd" | "eur" | "gbp" | "aud" | "sgd" | "hkd" | "krw" | "inr" | "vnd" | "jpy" | "mxn" | "xcd" | "eth" | ...
{ code: string; message?: string } | { code: "unknown" | "tx-id-not-found" | "insufficient-funds"; message?: string }
"solana" | "ethereum" | "polygon" | "bsc" | "optimism" | "arbitrum" | "base" | "zora" | "arbitrumnova" | ...
object | object
string
object | object
object | object
"in-progress" | "completed" | "awaiting-payment" | "requires-quote" | "requires-crypto-payer-address" | ...
"completed" | "quote" | "delivery" | "payment"
string
Usage
import { useCrossmintCheckout } from "@crossmint/client-sdk-react-native-ui";
import { View, Text } from "react-native";
function OrderStatus() {
const { order } = useCrossmintCheckout();
if (!order) return <Text>No active order</Text>;
return (
<View>
<Text>Order ID: {order.orderId}</Text>
<Text>Phase: {order.phase}</Text>
</View>
);
}
useIdentityVerificationCredentials()
Reads the current order’s verification credentials, for a merchant taking the step over withidentityVerificationHandling="external". Undefined until the order needs verification, and again once the order moves on, which happens before the flow shows its result. Keep the last value mounted until onComplete or onCancel.
Usage
import { useRef, useState } from "react";
import {
CrossmintIdentityVerification,
type IdentityVerificationAppearance,
useIdentityVerificationCredentials,
} from "@crossmint/client-sdk-react-native-ui";
// Mount one step per order, for example with key={order.orderId}, so the next order starts open.
function VerificationStep({ appearance }: { appearance?: IdentityVerificationAppearance }) {
const credentials = useIdentityVerificationCredentials();
// The order moves on before the flow shows its result, so keep the last credentials
// and close the step on onComplete or onCancel.
const lastCredentials = useRef(credentials);
lastCredentials.current = credentials ?? lastCredentials.current;
const [closed, setClosed] = useState(false);
if (closed || lastCredentials.current == null) {
return null;
}
return (
<CrossmintIdentityVerification
credentials={lastCredentials.current}
appearance={appearance}
onComplete={({ status }) => {
console.log(status);
setClosed(true);
}}
onCancel={() => setClosed(true)}
/>
);
}

