Skip to main content
Embedded Checkout renders a full checkout interface inside your application — no redirects, no pop-ups. Customers complete payment without ever leaving your site.

Overview

Quick Start

1

Create a payment on the server

2

Mount the checkout on the client

Add a container element to your HTML:

Configuration

The ZendFiEmbeddedCheckout constructor accepts a configuration object with these properties:

Required

Callbacks

PaymentSuccessData

CheckoutError

Theming

Customize the checkout appearance to match your brand:

Theme Properties

Dark Mode

Payment Methods

The Embedded Checkout supports multiple payment methods. Customers can switch between them during checkout.
Connects the customer’s browser wallet (Phantom, Solflare, Backpack, etc.) to sign and submit the transaction directly. This is the fastest payment method — one click after wallet connection.
Displays a Solana Pay QR code. The customer scans it with any Solana-compatible mobile wallet. The checkout polls for confirmation and updates automatically.
Shows the merchant’s wallet address and the exact token amount. The customer sends the payment from any wallet. The checkout monitors for the incoming transaction.
For payment links with on-ramp enabled, customers can pay with a credit card or bank transfer. The fiat is converted to crypto and settled to the merchant. Available when the payment link is configured with onramp: true.

React Integration

CDN Usage

If you are not using a bundler, load the checkout from the CDN:

Lifecycle

Methods

Always call unmount() when the component is removed from the page (e.g., in a React useEffect cleanup function) to prevent memory leaks.

Error Handling

Sizing and Layout

The checkout adapts to its container. Set a minimum height to prevent layout shifts:
The checkout is responsive and works on mobile screens. On narrow viewports, it stacks payment methods vertically and adjusts button sizes for touch targets.