The complete SDK reference for `embeddedCheckout()` is now live - including full type signatures, callback documentation, and shipping options support for physical goods checkouts.

## `embeddedCheckout()` SDK reference

Since [we launched Revolut Checkout](/blog/2026-02-01-revolut-checkout), the [`embeddedCheckout()` SDK reference](/docs/sdks/merchant-web-sdk/payment-methods/embedded-checkout) now covers the full API surface of the widget, including parameters that were previously undocumented.

### Shipping options support

If you sell physical goods, you can now pass shipping options directly to the widget. Customers select their preferred delivery option at checkout, and you receive callbacks when they change their address or option - giving you a chance to update the order total before payment completes.

### What's documented

| Parameter | Description |
|----------------------|-------------|
| `createOrder` | Async function that calls your backend to create an order and returns the token |
| `email`, `billingAddress` | Pre-fill customer details to reduce checkout friction |
| `shippingOptions` | Array of shipping options presented to the customer |
| `onShippingAddressChange` | Called when the customer changes their shipping address; return updated options and total |
| `onShippingOptionChange` | Called when the customer selects a different shipping option; return updated total |
| `onSuccess`, `onError`, `onCancel` | Payment lifecycle callbacks (note: `orderId` in callbacks refers to the order's public token) |
| `destroy()` | Clean up and unmount the widget |

## Get started

- [`embeddedCheckout()` SDK reference](/docs/sdks/merchant-web-sdk/payment-methods/embedded-checkout) - full parameter and callback documentation
- [Revolut Checkout integration guide](/docs/guides/merchant/accept-payments/online-payments/revolut-checkout/web) - step-by-step walkthrough from order creation to widget mounting
- [`Address` type reference](/docs/sdks/merchant-web-sdk/types/address) - billing and shipping address fields