> ## Documentation Index
> Fetch the complete documentation index at: https://crossmint-devin-1787949784-wallet-docs-two-concept-model.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# CrossmintCheckoutController

> Swift Class

**Class**

The observable order state of one embedded checkout session.

```swift theme={null}
@MainActor final class CrossmintCheckoutController
```

Give an instance to `CrossmintEmbeddedCheckout`. Observe the instance to react to order changes. `identityVerificationCredentials` has a value when the order needs identity verification. Call `clear()` before you use one controller for a new checkout session.

## Initializers

### init()

Creates a controller with no order.

```swift theme={null}
@MainActor init()
```

## Instance Properties

| Property                          | Type                               | Description                                            |
| --------------------------------- | ---------------------------------- | ------------------------------------------------------ |
| `identityVerificationCredentials` | `IdentityVerificationCredentials?` | The credentials for the pending identity verification. |
| `order`                           | `CheckoutOrder?`                   | The order in its latest state.                         |
| `orderClientSecret`               | `String?`                          | The secret that authorizes reads of the order.         |

## Instance Methods

### clear()

Removes the stored order state.

```swift theme={null}
@MainActor func clear()
```
