Solana Pay to standardowy protokół i zestaw implementacji referencyjnych, które umożliwiają deweloperom włączenie zdecentralizowanych płatności do ich aplikacji i usług. Zapewnia zunifikowane podejście do płatności w całym ekosystemie Solana, gwarantując kompatybilność między portfelami, aplikacjami i usługami.
Przegląd protokołu
Solana Pay definiuje dwa główne typy żądań płatności:
Żądania transferu (nieinteraktywne)
Żądania transferu opisują proste transfery SOL lub tokenów SPL przy użyciu parametrów URL. Portfel może bezpośrednio skomponować i podpisać transakcję bez dodatkowej komunikacji z serwerem.
solana:recipient?amount=1.5&spl-token=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
Przypadki użycia:
- Proste płatności i darowizny
- Płatności kodem QR w punkcie sprzedaży
- Linki płatności w wiadomościach e-mail lub wiadomościach
- Deep linking w aplikacjach mobilnych
Żądania transakcji (interaktywne)
Żądania transakcji umożliwiają złożone interakcje poprzez komunikację portfela z serwerem w celu skomponowania dowolnej transakcji Solana. Odblokowuje to zaawansowane przypadki użycia wykraczające poza proste transfery.
solana:https://merchant.com/api/payment
Przypadki użycia:
- Mintowanie NFT w punkcie sprzedaży
- Dynamiczne ceny i rabaty
- Wieloetapowe transakcje DeFi
- Integracja programów lojalnościowych
- Niestandardowa logika biznesowa
Kluczowe korzyści
Dla deweloperów
- Standardowy protokół: Jedna implementacja działa ze wszystkimi portfelami Solana
- Niezależność od frameworka: Użyj z dowolnym frameworkiem webowym lub platformą mobilną
- Bezpieczeństwo typów: Pełne wsparcie TypeScript w JavaScript SDK
- Elastyczność: Od prostych transferów po złożone transakcje wieloinstrukcyjne
Dla użytkowników
- Szybkość: Transakcje potwierdzane w mniej niż sekundę
- Taniość: Średni koszt 0,0005 $ za transakcję
- Bezpieczeństwo: Bez pośredników ani zewnętrznych procesorów
- Uniwersalność: Działa z każdym portfelem Solana
Dla sprzedawców
- Brak opłat: Bezpośrednie płatności bez opłat za przetwarzanie
- Czas rzeczywisty: Natychmiastowe rozliczenie i potwierdzenie
- Globalnie: Przyjmuj płatności z dowolnego miejsca na świecie
- Kompozycyjne: Integruj się z protokołami DeFi i rynkami NFT
Architektura techniczna
Schemat URL
Solana Pay używa niestandardowego schematu URL solana:, który działa w
przeglądarkach internetowych i mobilnych systemach operacyjnych:
- Web: Adresy URL mogą być używane jako linki lub kodowane w kodach QR
- Mobile: Integracja głębokich linków z aplikacjami portfeli
- Desktop: Procedury obsługi protokołu dla bezproblemowego uruchamiania portfela
SDK JavaScript
SDK @solana/pay (zbudowane na @solana/kit) zapewnia:
- Fabryki klientów:
createMerchantClient,createWalletClient,createSolanaPayClientdla kompozycyjnych przepływów płatności - Kodowanie/parsowanie URL:
encodeURL,parseURLdla adresów URL Solana Pay - Tworzenie transferów:
createTransferdla instrukcji płatności w SOL i tokenach SPL - Walidacja płatności:
findReference,validateTransfer,watchReferencedo wykrywania i weryfikacji płatności - Kody QR: Wbudowany
createQRdo generowania skanowalnych kodów płatności - Wtyczki Kit:
solanaPayMerchant(),solanaPayWallet()do komponowania z innymi wtyczkami@solana/kit
Integracja z portfelem
Obsługiwane portfele implementują:
- Obsługę i parsowanie schematu URL
- Kompozycję i walidację transakcji
- Przepływy potwierdzania użytkownika
- Transmisję i monitorowanie transakcji
Przykłady przepływu płatności
Z aplikacji webowej do mobilnego portfela
- Aplikacja webowa generuje kod QR z adresem URL Solana Pay
- Użytkownik skanuje kod QR aplikacją portfela
- Portfel parsuje adres URL i wyświetla szczegóły płatności
- Użytkownik potwierdza płatność w portfelu
- Portfel podpisuje i transmituje transakcję
- Aplikacja webowa wykrywa potwierdzenie płatności
Z aplikacji webowej do portfela w przeglądarce
- Aplikacja webowa wyświetla przycisk „Zapłać za pomocą Solana“
- Użytkownik klika przycisk, aby uruchomić portfel
- Rozszerzenie portfela wyświetla potwierdzenie płatności
- Użytkownik zatwierdza transakcję
- Transakcja jest podpisywana i wysyłana
- Aplikacja webowa otrzymuje potwierdzenie płatności
Aplikacja mobilna do portfela mobilnego
- Aplikacja mobilna tworzy link głęboki do płatności
- Link głęboki uruchamia aplikację portfela
- Portfel wyświetla potwierdzenie płatności
- Użytkownik zatwierdza lub odrzuca płatność
- Portfel powraca do oryginalnej aplikacji
- Aplikacja otrzymuje wynik płatności
Kwestie bezpieczeństwa
Dla sprzedawców
- Walidacja transakcji: Zawsze weryfikuj szczegóły transakcji w łańcuchu bloków
- Używaj odniesień: Dołączaj unikalne klucze referencyjne do identyfikacji płatności
- Walidacja po stronie serwera: Obliczaj kwoty i waliduj płatności po stronie serwera
- Ograniczanie częstotliwości: Wdróż odpowiednie limity częstotliwości na punktach końcowych płatności
Dla twórców portfeli
- Walidacja URL: Waliduj i sanityzuj wszystkie komponenty URL
- Potwierdzenie użytkownika: Zawsze pokazuj użytkownikom jasne szczegóły płatności
- Walidacja transakcji: Weryfikuj zawartość transakcji przed podpisaniem
- Tylko HTTPS: Zezwalaj wyłącznie na adresy URL HTTPS dla żądań transakcji
Wzorce integracji
Kasa e-commerce
- Klient dodaje produkty do koszyka
- Sprzedawca generuje żądanie płatności ze szczegółami zamówienia
- Klient skanuje kod QR lub klika przycisk płatności
- Portfel pokazuje wyszczególniony paragon i sumę całkowitą
- Klient potwierdza płatność
- Sprzedawca waliduje transakcję i realizuje zamówienie
Punkt sprzedaży
- Kasjer wprowadza kwotę sprzedaży
- System POS wyświetla kod QR
- Klient skanuje za pomocą portfela mobilnego
- Płatność procesowana natychmiast
- Paragon drukowany automatycznie
Usługi subskrypcyjne
- Użytkownik subskrybuje usługę
- Usługa tworzy harmonogram płatności cyklicznych
- Zautomatyzowany system generuje żądania płatności
- Użytkownik zatwierdza płatności przez portfel
- Usługa śledzi status płatności
Najlepsze praktyki
Generowanie URL
- Używaj HTTPS dla wszystkich punktów końcowych żądań transakcji
- Dołączaj opisowe etykiety i komunikaty
- Generuj unikalne odniesienia do śledzenia płatności
- Waliduj wszystkie parametry przed utworzeniem URL
Obsługa transakcji
- Zawsze waliduj transakcje po stronie serwera
- Używaj odpowiedniej liczby potwierdzeń dla bezpieczeństwa
- Wdrażaj właściwą obsługę błędów i ponawianie prób
- Rejestruj zdarzenia płatności w celu uzgadniania
Doświadczenie użytkownika
- Zapewnij wyraźne potwierdzenia płatności
- Pokazuj aktualizacje statusu transakcji
- Obsługuj połączenie portfela w sposób płynny
- Wspieraj wiele opcji portfeli
Następne kroki
Gotowy do integracji Solana Pay? Zacznij od tych przewodników:
- Przewodnik instalacji - Skonfiguruj SDK i narzędzia
- Żądania transferu - Twórz proste adresy URL płatności
- Żądania transakcji - Buduj interaktywne przepływy
- Przykłady integracji - Zobacz rzeczywiste implementacje
Zasoby
- Oficjalna specyfikacja - Pełna specyfikacja protokołu
- Repozytorium GitHub - Kod źródłowy i przykłady
- Wytyczne marki - Loga i zasoby marki
Is this page helpful?