Платёжная кнопка

Commerce Kit сейчас находится в бета-версии. API могут измениться до стабильного релиза. Дополнительную информацию о Commerce Kit смотрите в документации Commerce Kit.

Компонент PaymentButton из Commerce Kit предоставляет полноценный платёжный интерфейс — подключение кошелька, выбор токена, обработка транзакций и управление состоянием UI из коробки.

Установка

pnpm add @solana-commerce/kit

Базовое использование

import { PaymentButton } from "@solana-commerce/kit";
function Checkout() {
return (
<PaymentButton
config={{
merchant: { name: "My Store", wallet: "your-wallet-address" },
mode: "buyNow"
}}
paymentConfig={{
products: [{ id: "item-1", name: "Coffee", price: 5.0, quantity: 1 }]
}}
onPaymentSuccess={(signature) => {
console.log("Payment confirmed:", signature);
}}
/>
);
}

Откройте песочницу Commerce Kit, чтобы настроить и протестировать компонент.

Кнопка чаевых

Кнопка чаевыхКнопка чаевых

Модальное окно оплаты

Модальное окно оплатыМодальное окно оплаты

Модальное окно QR-кода Solana Pay

Модальное окно QR-кода Solana PayМодальное окно QR-кода Solana Pay

Режимы оплаты

Опция mode определяет поведение кнопки:

РежимОписание
buyNowПокупка одного товара с фиксированной суммой
cartКорзина с несколькими товарами
tipПользователь выбирает сумму (донаты/чаевые)

Конфигурация

Обязательные параметры

СвойствоТипОписание
merchant.namestringНазвание бизнеса, отображаемое при оплате
merchant.walletstringАдрес Solana-кошелька для получения платежей
mode'buyNow' | 'cart' | 'tip'Тип платёжного сценария

Необязательные параметры

СвойствоТипОписание
network'mainnet' | 'devnet'Сеть Solana (по умолчанию: 'mainnet')
rpcUrlstringПользовательский RPC-эндпоинт
allowedMintsstring[]Ограничить принимаемые токены по mint-адресу
showQRbooleanВключить оплату по QR-коду
themeThemeConfigВизуальная настройка (цвета, скругление и т.д.)

Конфигурация оплаты

Для режимов buyNow и cart предоставьте продукты через paymentConfig:

paymentConfig={{
products: [
{ id: '1', name: 'T-Shirt', price: 25, quantity: 2 },
{ id: '2', name: 'Hoodie', price: 45, quantity: 1 }
]
}}

Обратные вызовы событий

CallbackПараметрыОписание
onPaymentSuccess(signature: string)Транзакция подтверждена в блокчейне
onPaymentError(error: Error)Ошибка оплаты на любом этапе
onPaymentStart()Запущен процесс оплаты
onCancel()Пользователь отменил оплату

Пользовательский триггер

Замените стандартную кнопку своим элементом:

<PaymentButton
config={{
merchant: { name: "Shop", wallet: "address" },
mode: "buyNow"
}}
paymentConfig={{
products: [{ id: "1", name: "Product", price: 10, quantity: 1 }]
}}
>
<button className="my-custom-button">Pay with Solana</button>
</PaymentButton>

Is this page helpful?

Управляется

© 2026 Фонд Solana.
Все права защищены.
Подключиться