General
Solana Pay

Solana Pay

Solana Pay

Solana Pay

Solana Pay adalah kerangka pembayaran open-source yang memungkinkan transaksi instan dengan biaya hampir nol di Solana.

Sudah dipercaya oleh jutaan bisnis melalui integrasi Shopify, Solana Pay mengubah perdagangan dengan sepenuhnya menghilangkan perantara pembayaran tradisional.

Solana Pay menstandardisasi pembayaran melalui URL. Alih-alih integrasi dompet yang rumit, Anda membuat tautan sederhana yang berfungsi secara otomatis di semua dompet Solana.

Core Functionalities

Solana Pay dicirikan oleh:

  • Penyelesaian Langsung: Pembayaran langsung dari dompet pelanggan ke pedagang dalam SOL atau token SPL lainnya. Tanpa bank, pemroses, atau perantara yang mengambil potongan.
  • Finalitas Instan: Dana tiba segera setelah konfirmasi berkat penyelesaian sub-detik Solana.
  • Kompatibilitas Universal: Satu implementasi berfungsi dengan setiap dompet dan aplikasi Solana.

Semuanya melalui dua jenis permintaan dasar:

Permintaan transfer (pembayaran sederhana)

URL non-interaktif untuk transaksi yang telah ditentukan. Semua informasi dikodekan dalam URL.

 
solana:mvines9iiHiQTysrwkJjGf2gb9Ex9jXJX8ns3qwf2kN?amount=0.01&spl-token=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

Sempurna untuk: Checkout e-commerce, donasi, langganan, dan transfer token sederhana lainnya.

Permintaan transaksi (pembayaran dinamis)

URL interaktif yang menyusun transaksi kompleks di sisi server.

Dompet membuat permintaan HTTP ke server Anda, yang mengembalikan transaksi kustom yang dibuat dengan data real-time.

Sempurna untuk: NFT dengan harga dinamis, interaksi DeFi, program loyalitas, logika bisnis yang kompleks.

Opsi integrasi

Solana Pay hadir dengan:

  • Kode QR: Pembayaran langsung secara instan
  • Tautan yang Dapat Dibagikan: Berfungsi di semua platform
  • Tombol Tertanam: Pengalaman checkout yang mulus
  • Alur Kustom: Transaksi multi-pihak, akses bersyarat, penandatanganan parsial

Why It Matters

Solana Pay menggantikan seluruh tumpukan pembayaran tradisional dengan URL sederhana. Alih-alih berintegrasi dengan berbagai dompet dan menangani alur transaksi yang kompleks, Anda membuat tautan terstandarisasi yang berfungsi di mana saja secara otomatis.

Alur Pembayaran Tradisional: Pelanggan → Bank → Pemroses Pembayaran → Bank Anda → Anda (beberapa hari kemudian, dikurangi biaya)

Alur Solana Pay: Pelanggan → Anda (secara instan, biaya hampir nol)

Spesifikasi Solana Pay secara fundamental mengubah pembayaran blockchain dengan menggantikan integrasi dompet yang kompleks dengan URL yang sederhana, terstandarisasi yang berfungsi di mana saja.

Reference

Referensi adalah salah satu bagian terpenting dari stack Solana Pay. Karena backend Anda tidak mengirimkan transaksi ke jaringan tetapi hanya mengembalikan respons transaksi yang ditandatangani oleh dompet, tidak ada tanda tangan transaksi yang membantu menentukan apakah pembayaran telah dilakukan.

Sebuah reference adalah kunci publik unik yang disertakan sebagai akun non-penandatangan, non-writable dalam transaksi. Ini tidak mempengaruhi perilaku transaksi tetapi berfungsi sebagai pengidentifikasi pelacakan.

Berikut alurnya:

  1. Buat referensi unik (publickey) untuk setiap permintaan pembayaran
  2. Sertakan dalam URL permintaan transaksi Anda sebagai parameter
  3. Tambahkan ke instruksi transaksi Anda sebagai akun non-penandatangan
  4. Lacak transaksi menggunakan referensi tersebut

Anda dapat menggunakan metode RPC getSignaturesForAddress Solana atau helper findReference dari library @solana/pay untuk menemukan transaksi yang berisi referensi Anda seperti ini:

ts
useEffect(() => {
    // Poll the network for transactions that include the reference address
    const interval = setInterval(async () => {
        try {
            // Find transactions that include the reference address
            const signatureInfo = await findReference(connection, reference, {
                until: mostRecentNotifiedTransaction.current, // Only look for transactions after the most recent one we've found
                finality: "confirmed",
            });
            // Update the most recent transaction with the transaction we just found
            mostRecentNotifiedTransaction.current = signatureInfo.signature;
            // Toast notification
            displayToast(signatureInfo.signature);
        } catch (e) {
            if (e instanceof FindReferenceError) {
                // No transaction found yet, ignore this error
                return;
            }
            console.error("Unknown error", e);
        }
    }, 1000); // Check for new transactions every second
    
    return () => {
        clearInterval(interval);
    };
}, [reference]);

QR Code Generation

Ubah permintaan transaksi apa pun menjadi kode QR yang dapat dipindai menggunakan library @solana/pay:

ts
import { createQR, encodeURL, TransactionRequestURLFields } from '@solana/pay'; 
 
const urlParams: TransactionRequestURLFields = {
  link: new URL("https://yourapi.com/pay"),
};
const solanaUrl = encodeURL(urlParams);
 
const qr = createQR(
  solanaUrl,
  400,
  "transparent"
);
Daftar Isi
Lihat Sumber
Blueshift © 2025Commit: 96f50c6