# Methods

| Method | Description |
|  --- | --- |
| `open({ sessionId, token, containerId?, paymentAction?, layout? })` | Open the Cashier (modal, container, deposit/withdraw, or single-column). `token` required. See [Opening the Cashier](/cashier/sdk/open). |
| `close()` | Close the Cashier. |
| `reload()` | Reload the Cashier. Reuses the `token` from the original `open()` — you don't pass it again. |
| `destroy()` | Destroy the instance and remove the iframe from the DOM. |
| `isOpen()` | Whether the Cashier is currently open. |
| `getDeviceType()` | The resolved device type. |
| `getSessionId()` | The current session ID. |
| `on(event, handler)` | Register an event handler. See [Events](/cashier/sdk/events). |


## Hosted Payment Fields methods

These belong to [Hosted Payment Fields](/hosted-payment-fields), which never uses the Cashier `token`:

| Method | Description |
|  --- | --- |
| `mountFields({ sessionId, fields, styles? })` | Mount the hosted card-input iframes; returns `{ submit, destroy }`. |
| `submit(options?)` | Submit the hosted fields. |
| `destroyFields()` | Remove the field iframes and their coordinator. |


See the [HPF `mountFields` reference](/hosted-payment-fields/mount-fields).

## Build it →

- [Events](/cashier/sdk/events) · [Errors](/cashier/sdk/errors)