⚠️ WORK IN PROGRESS / TAHAP PENGEMBANGANProyek ini masih dalam tahap pengembangan aktif. Fitur mungkin berubah sewaktu-waktu dan belum sepenuhnya siap untuk penggunaan production. Gunakan dengan risiko Anda sendiri.
SawargiPay adalah platform payment gateway modern yang memungkinkan merchant untuk menerima pembayaran melalui QRIS dengan mudah, aman, dan cepat. Dibangun dengan teknologi web terbaru untuk memastikan performa dan keamanan maksimal.
- Real-time Analytics: Pantau total transaksi, volume penjualan, dan status merchant.
- Transaction History: Riwayat transaksi lengkap dengan status pembayaran.
- Withdrawal System: Pengajuan penarikan dana ke rekening bank/e-wallet.
- Profile Management: Kelola informasi bisnis dan API Key.
- QRIS Generation: Integrasi pembuatan QRIS dinamis.
- Payment Status: Pengecekan status pembayaran otomatis.
- Public Payment Page: Halaman pembayaran yang user-friendly untuk pelanggan.
- Password Hashing: Menggunakan
bcryptuntuk enkripsi password yang aman. - HMAC-SHA256 Signatures: Verifikasi integritas data untuk setiap request API.
- OTP Verification: Verifikasi email menggunakan One-Time Password saat registrasi.
- Cloudflare Turnstile: Proteksi anti-bot pada halaman Login dan Register.
- Admin Approval: Sistem verifikasi manual oleh admin untuk setiap merchant baru.
- Merchant Management: Review dan approve/reject pendaftaran merchant baru.
- Withdrawal Processing: Kelola dan proses pengajuan penarikan dana merchant.
- Frontend: Next.js 15 (App Router), React, Tailwind CSS, Lucide Icons.
- Backend: Next.js API Routes.
- Database: MySQL dengan Prisma ORM.
- Authentication: Custom Session & JWT (Planned).
- Email: Nodemailer (SMTP).
- Security: Cloudflare Turnstile, Bcrypt, Crypto (Node.js).
-
Clone Repository
git clone https://github.com/AutoFtbot/PG-SawargiPay.git cd PG-SawargiPay -
Install Dependencies
npm install
-
Setup Environment Variables Buat file
.envdi root project dan sesuaikan konfigurasi berikut:# Database DATABASE_URL="mysql://user:password@localhost:3306/sawargipay" # App Config NEXT_PUBLIC_BASE_URL="http://localhost:3000" # Email (SMTP) SMTP_HOST="smtp.gmail.com" SMTP_PORT="587" SMTP_USER="email@example.com" SMTP_PASS="app-password" SMTP_SECURE="false" # Cloudflare Turnstile NEXT_PUBLIC_TURNSTILE_SITE_KEY="your-site-key" TURNSTILE_SECRET_KEY="your-secret-key"
-
Setup Database
npx prisma generate npx prisma db push
-
Jalankan Development Server
npm run dev
Buka http://localhost:3000 di browser Anda.
Untuk panduan lengkap cara deploy ke VPS (Ubuntu/Debian) menggunakan Nginx dan PM2, silakan baca Panduan Deployment.
Dokumentasi API lengkap tersedia di dalam Dashboard Merchant pada menu Payments.
POST /api/merchant/qris: Membuat QRIS baru.GET /api/merchant/payment-status: Cek status pembayaran.POST /api/merchant/withdraw: Mengajukan penarikan dana.
Kontribusi selalu diterima! Silakan buat Pull Request atau laporkan isu jika menemukan bug.