Przycisk płatności

Commerce Kit jest obecnie w wersji beta. API mogą się zmienić przed wydaniem stabilnej wersji. Więcej informacji o Commerce Kit znajdziesz w dokumentacji Commerce Kit.

Komponent PaymentButton z Commerce Kit zapewnia kompletny interfejs płatności — obsługuje połączenie z portfelem, wybór tokena, przetwarzanie transakcji oraz stan UI bez dodatkowej konfiguracji.

Instalacja

pnpm add @solana-commerce/kit

Podstawowe użycie

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);
}}
/>
);
}

Wypróbuj Commerce Kit Playground, aby skonfigurować i przetestować komponent.

Przycisk napiwku

Przycisk napiwkuPrzycisk napiwku

Modal płatnościModal płatności

Modal kodu QR Solana PayModal kodu QR Solana Pay

Tryby płatności

Opcja mode określa zachowanie przycisku:

TrybOpis
buyNowZakup pojedynczego produktu ze stałą kwotą
cartKoszyk z wieloma produktami
tipUżytkownik wybiera własną kwotę (darowizny/napiwki)

Konfiguracja

Wymagana konfiguracja

WłaściwośćTypOpis
merchant.namestringNazwa firmy wyświetlana podczas płatności
merchant.walletstringAdres portfela Solana do odbioru płatności
mode'buyNow' | 'cart' | 'tip'Typ przepływu płatności

Opcjonalna konfiguracja

WłaściwośćTypOpis
network'mainnet' | 'devnet'Sieć Solana (domyślnie: 'mainnet')
rpcUrlstringWłasny endpoint RPC
allowedMintsstring[]Ogranicz akceptowane tokeny według adresu mint
showQRbooleanWłącz opcję płatności kodem QR
themeThemeConfigWizualna personalizacja (kolory, zaokrąglenie rogów itp.)

Konfiguracja płatności

Dla trybów buyNow oraz cart produkty należy przekazać przez paymentConfig:

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

Callbacki zdarzeń

CallbackParametryOpis
onPaymentSuccess(signature: string)Transakcja potwierdzona on-chain
onPaymentError(error: Error)Płatność nie powiodła się na którymkolwiek etapie
onPaymentStart()Rozpoczęto proces płatności
onCancel()Użytkownik anulował płatność

Własny wyzwalacz

Zastąp domyślny przycisk własnym elementem:

<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?

Spis treści

Edytuj stronę

Zarządzane przez

© 2026 Solana Foundation.
Wszelkie prawa zastrzeżone.
Bądź na bieżąco