RWA Pay adalah jembatan gateway pembayaran QRIS yang berfungsi untuk menerima dan meneruskan webhook dari listener pembayaran (misal: dompet digital, bank) ke endpoint merchant, serta menyimpan log transaksi secara real-time.
- Merchant membuat transaksi lewat API
/api/payment/create - Sistem mencatat transaksi (manual/otomatis) ke database dan menghasilkan QRIS dinamis
- App Listener (seperti wallet scanner) mengirim webhook masuk ke endpoint
/webhook/incoming - RWA Pay mencocokkan reference dan meneruskan payload ke
target_urlmerchant - Webhook response dicatat. Jika gagal, sistem akan retry otomatis
- Transaksi yang tidak dibayar dalam 30 menit akan berubah status menjadi expired dan webhook juga akan dikirim
git clone https://github.com/username/rwa-pay.git
cd rwa-pay
# Install dependencies
composer install
# Copy env
cp .env.example .env
# Generate app key
php artisan key:generate
# Sesuaikan database & config QRIS di .env
php artisan migrate --seed
# Jalankan queue & scheduler
php artisan queue:work
php artisan schedule:work
# Jalankan server (Octane dengan FrankenPHP)
php artisan octane:start --server=frankenphpNote: Pastikan
qris.statisdiatur di.envuntuk QRIS template:QRIS_STATIC=...
👉 Dokumentasi lengkap tersedia di Apidog:
- QRIS Dinamis Generator dari QR Statis
- Pencatatan transaksi manual & otomatis
- Kirim webhook ke merchant dengan HMAC signature
- Retry webhook otomatis jika gagal
- Expired otomatis setelah 30 menit
- Filament admin panel (Laravel 12 + Filament 3)
- Fast deploy via Octane + FrankenPHP
- Webhook keluar dilindungi dengan header
X-Signature(HMAC SHA256) - Webhook masuk hanya bisa dilakukan oleh trusted listener
- API endpoint dilindungi dengan
X-Api-Key(per merchant)
Project ini bersifat pribadi/internal. Gunakan dengan bijak sesuai kebutuhan.