Solana Pay adalah protokol standar dan seperangkat implementasi referensi yang memungkinkan pengembang untuk mengintegrasikan pembayaran terdesentralisasi ke dalam aplikasi dan layanan mereka. Ini menyediakan pendekatan terpadu untuk pembayaran di seluruh ekosistem Solana, memastikan kompatibilitas antara dompet, aplikasi, dan layanan.
Gambaran Umum Protokol
Solana Pay mendefinisikan dua jenis utama permintaan pembayaran:
Permintaan Transfer (Non-Interaktif)
Permintaan transfer mendeskripsikan transfer token SOL atau SPL sederhana menggunakan parameter URL. Dompet dapat langsung menyusun dan menandatangani transaksi tanpa komunikasi server tambahan.
solana:recipient?amount=1.5&spl-token=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
Kasus Penggunaan:
- Pembayaran dan donasi sederhana
- Pembayaran kode QR di tempat penjualan
- Tautan pembayaran dalam email atau pesan
- Deep linking aplikasi mobile
Permintaan Transaksi (Interaktif)
Permintaan transaksi memungkinkan interaksi kompleks dengan membuat dompet berkomunikasi dengan server untuk menyusun transaksi Solana apa pun. Ini membuka kasus penggunaan lanjutan di luar transfer sederhana.
solana:https://merchant.com/api/payment
Kasus Penggunaan:
- Pencetakan NFT di tempat penjualan
- Penetapan harga dinamis dan diskon
- Transaksi DeFi multi-langkah
- Integrasi program loyalitas
- Logika bisnis khusus
Manfaat Utama
Untuk Pengembang
- Protokol Standar: Satu implementasi bekerja di semua dompet Solana
- Framework Agnostik: Gunakan dengan framework web atau platform mobile apa pun
- Keamanan Tipe: Dukungan TypeScript lengkap dalam SDK JavaScript
- Fleksibel: Dari transfer sederhana hingga transaksi multi-instruksi yang kompleks
Untuk Pengguna
- Cepat: Transaksi dikonfirmasi dalam waktu kurang dari satu detik
- Murah: Biaya rata-rata $0,0005 per transaksi
- Aman: Tanpa perantara atau pemroses pihak ketiga
- Universal: Bekerja dengan dompet Solana mana pun
Untuk Pedagang
- Tanpa Biaya: Pembayaran langsung tanpa biaya pemrosesan
- Real-time: Penyelesaian dan konfirmasi instan
- Global: Terima pembayaran dari mana saja di dunia
- Komposabel: Integrasi dengan protokol DeFi dan marketplace NFT
Arsitektur Teknis
Skema URL
Solana Pay menggunakan skema URL khusus solana: yang berfungsi di berbagai
browser web dan sistem operasi mobile:
- Web: URL dapat digunakan sebagai tautan atau dikodekan dalam kode QR
- Mobile: Integrasi deep linking dengan aplikasi dompet
- Desktop: Protocol handler untuk peluncuran dompet yang mulus
SDK JavaScript
SDK @solana/pay (dibangun di atas @solana/kit) menyediakan:
- Factory klien:
createMerchantClient,createWalletClient,createSolanaPayClientuntuk alur pembayaran yang dapat dikomposisikan - Encoding/parsing URL:
encodeURL,parseURLuntuk URL Solana Pay - Pembuatan transfer:
createTransferuntuk instruksi pembayaran SOL dan token SPL - Validasi pembayaran:
findReference,validateTransfer,watchReferenceuntuk mendeteksi dan memverifikasi pembayaran - Kode QR:
createQRbawaan untuk menghasilkan kode pembayaran yang dapat dipindai - Plugin kit:
solanaPayMerchant(),solanaPayWallet()untuk komposisi dengan plugin@solana/kitlainnya
Integrasi Dompet
Dompet yang mendukung mengimplementasikan:
- Penanganan dan parsing skema URL
- Komposisi dan validasi transaksi
- Alur konfirmasi pengguna
- Penyiaran dan pemantauan transaksi
Contoh Alur Pembayaran
Aplikasi Web ke Dompet Mobile
- Aplikasi web menghasilkan kode QR dengan URL Solana Pay
- Pengguna memindai kode QR dengan aplikasi dompet
- Dompet mem-parse URL dan menampilkan detail pembayaran
- Pengguna mengonfirmasi pembayaran di dompet
- Dompet menandatangani dan menyiarkan transaksi
- Aplikasi web mendeteksi konfirmasi pembayaran
Aplikasi Web ke Dompet Browser
- Aplikasi web menampilkan tombol "Bayar dengan Solana"
- Pengguna mengklik tombol untuk meluncurkan dompet
- Ekstensi dompet menampilkan konfirmasi pembayaran
- Pengguna menyetujui transaksi
- Transaksi ditandatangani dan dikirim
- Aplikasi web menerima konfirmasi pembayaran
Aplikasi Mobile ke Dompet Mobile
- Aplikasi mobile membuat tautan dalam (deep link) pembayaran
- Tautan dalam meluncurkan aplikasi dompet
- Dompet menampilkan konfirmasi pembayaran
- Pengguna menyetujui atau menolak pembayaran
- Dompet kembali ke aplikasi asal
- Aplikasi menerima hasil pembayaran
Pertimbangan Keamanan
Untuk Pedagang
- Validasi Transaksi: Selalu verifikasi detail transaksi on-chain
- Gunakan Referensi: Sertakan kunci referensi unik untuk mengidentifikasi pembayaran
- Validasi Sisi Server: Hitung jumlah dan validasi pembayaran di sisi server
- Pembatasan Laju: Terapkan pembatasan laju yang sesuai pada endpoint pembayaran
Untuk Pengembang Dompet
- Validasi URL: Validasi dan bersihkan semua komponen URL
- Konfirmasi Pengguna: Selalu tampilkan detail pembayaran yang jelas kepada pengguna
- Validasi Transaksi: Verifikasi konten transaksi sebelum penandatanganan
- Hanya HTTPS: Hanya izinkan URL HTTPS untuk permintaan transaksi
Pola Integrasi
Checkout E-commerce
- Pelanggan menambahkan barang ke keranjang
- Pedagang membuat permintaan pembayaran dengan detail pesanan
- Pelanggan memindai kode QR atau mengklik tombol pembayaran
- Dompet menampilkan rincian item dan total
- Pelanggan mengonfirmasi pembayaran
- Pedagang memvalidasi transaksi dan memenuhi pesanan
Point of Sale
- Kasir memasukkan jumlah penjualan
- Sistem POS menampilkan kode QR
- Pelanggan memindai dengan dompet mobile
- Pembayaran diproses secara instan
- Struk dicetak secara otomatis
Layanan Berlangganan
- Pengguna berlangganan layanan
- Layanan membuat jadwal pembayaran berulang
- Sistem otomatis menghasilkan permintaan pembayaran
- Pengguna menyetujui pembayaran melalui dompet
- Layanan melacak status pembayaran
Praktik Terbaik
Pembuatan URL
- Gunakan HTTPS untuk semua endpoint permintaan transaksi
- Sertakan label dan pesan yang deskriptif
- Buat referensi unik untuk pelacakan pembayaran
- Validasi semua parameter sebelum pembuatan URL
Penanganan Transaksi
- Selalu validasi transaksi di sisi server
- Gunakan jumlah konfirmasi yang sesuai untuk keamanan
- Implementasikan penanganan kesalahan dan percobaan ulang yang tepat
- Catat peristiwa pembayaran untuk rekonsiliasi
Pengalaman Pengguna
- Berikan konfirmasi pembayaran yang jelas
- Tampilkan pembaruan status transaksi
- Tangani koneksi dompet dengan baik
- Dukung beberapa opsi dompet
Langkah Selanjutnya
Siap untuk mengintegrasikan Solana Pay? Mulai dengan panduan berikut:
- Panduan Instalasi - Siapkan SDK dan alat
- Permintaan Transfer - Buat URL pembayaran sederhana
- Permintaan Transaksi - Bangun alur interaktif
- Contoh Integrasi - Lihat implementasi dunia nyata
Sumber Daya
- Spesifikasi Resmi - Spesifikasi protokol lengkap
- Repositori GitHub - Kode sumber dan contoh
- Pedoman Merek - Logo dan aset merek
Is this page helpful?