Toolkit CLI untuk mengelola pembayaran merchant langsung dari terminal.
Mendukung QRIS, Payment Link, transaksi, refund, webhook, dan utilitas merchant lainnya.
GoPay Merchant CLI adalah antarmuka terminal untuk merchant yang ingin menerima dan mengelola pembayaran digital tanpa harus membuka dashboard atau website. Cukup jalankan satu perintah, QRIS langsung tersedia.
Tool ini mencakup:
- Generate QRIS dinamis dan statis
- Payment Link untuk pembayaran jarak jauh
- Monitoring dan pengecekan status transaksi
- Refund dan pembatalan transaksi
- Webhook server untuk notifikasi real-time
- Riwayat dan mutasi saldo
Target pengguna: developer yang perlu mengintegrasikan pembayaran QRIS ke dalam sistem POS, e-commerce, bot, atau platform mereka sendiri.
git clone https://github.com/IbraDecode/gopaymerchant.git
cd gopaymerchant
npm installPersyaratan: Node.js 18 atau lebih baru. Tersedia untuk Linux, macOS, dan Windows (via WSL atau Git Bash).
Proses memulai:
- Clone repository dan jalankan
npm install - Jalankan aplikasi dengan
node . - Login menggunakan akun merchant
- Generate QRIS dengan
node . qris 50000 - Customer scan dan bayar
Setelah login pertama, konfigurasi tersimpan secara lokal. Aplikasi siap digunakan tanpa perlu login ulang pada sesi berikutnya.
| Perintah | Fungsi |
|---|---|
login |
Login ke akun merchant |
qris |
Generate QRIS dinamis |
qris static |
Generate QRIS statis |
paylink |
Membuat payment link |
status |
Cek status transaksi |
monitor |
Pantau transaksi real-time |
cancel |
Batalkan transaksi pending |
expire |
Paksa kadaluwarsa |
refund |
Refund transaksi settlement |
balance |
Cek mutasi saldo |
tx |
Riwayat transaksi |
listen |
Menjalankan webhook server |
config |
Lihat konfigurasi |
Semua perintah dapat ditambahkan opsi --json untuk output terstruktur.
QRIS dinamis digunakan ketika nominal sudah ditentukan. QR yang dihasilkan mengandung jumlah yang harus dibayar. Customer scan dan langsung membayar tanpa perlu memasukkan nominal.
node . qris 50000flowchart LR
A[Generate QRIS] --> B[Customer scan]
B --> C[Payment processing]
C --> D[Settlement]
Output:
ID Pesanan : QRIS-1783336749362
Jumlah : Rp 50.000
Status : pending
Kadaluarsa : 15 menit
Gambar QR : https://.../qr-code
Gambar QR otomatis tersimpan di /tmp/gopay_qris_*.png.
QRIS Statis:
node . qris staticQR tanpa nominal. Customer memasukkan jumlah sendiri. Cocok untuk display di kasir atau meja.
Status transaksi:
| Status | Keterangan |
|---|---|
| pending | Menunggu pembayaran |
| settlement | Pembayaran diterima |
| cancel | Dibatalkan oleh merchant |
| expire | Kadaluwarsa |
| refund | Dana dikembalikan |
| deny | Ditolak oleh penyedia |
QRIS + Webhook:
node . qris 50000 https://domainkamu.com/webhookNotifikasi dikirim ke URL yang ditentukan saat status berubah.
Payment Link membuat URL pembayaran yang bisa dishare. Setiap link memiliki QR code sendiri. Link dapat dikirim melalui WhatsApp, email, atau media sosial.
node . paylink 50000 Link Bayar : https://example.com/payment-link/...
QR Code : https://example.com/v1/payment-links/.../qr-code
Link berlaku 60 menit dan dapat digunakan satu kali.
Kapan digunakan: invoice pelanggan, order WhatsApp, pembayaran jarak jauh.
node . status QRIS-1783336749362 Status : settlement
Pembayaran : QRIS
Jumlah : Rp 50.000
Penerbit : dana
Waktu : 2026-07-06 19:21:32
Memantau transaksi secara real-time. Aplikasi akan berhenti otomatis saat status berubah menjadi settlement, cancel, expire, atau deny.
node . monitor QRIS-1783336749362node . tx 7Menampilkan daftar transaksi dalam periode tertentu.
Refund digunakan untuk mengembalikan dana transaksi yang sudah settlement. Dana dikembalikan ke sumber pembayaran asal.
node . refund QRIS-1783336749362 50000Syarat: transaksi berstatus settlement.
flowchart LR
A[Cek status] --> B[Settlement?]
B -->|Ya| C[Jalankan refund]
B -->|Tidak| D[Selesai]
C --> E[Status: refund]
Webhook server menerima notifikasi pembayaran secara real-time. Berguna untuk sistem yang membutuhkan deteksi pembayaran instan tanpa polling berkala.
node . listen 3000Server berjalan di endpoint /webhook. Setiap notifikasi diverifikasi menggunakan signature SHA-512 untuk memastikan keasliannya.
Kombinasikan dengan QRIS:
node . qris 50000 https://domainkamu.com:3000/webhookKapan digunakan: e-commerce, top-up otomatis, sistem deposit, atau skenario lain yang membutuhkan notifikasi instan.
Konfigurasi disimpan dalam file config.json yang dibuat otomatis saat login. File ini berisi data autentikasi yang diperlukan.
File konfigurasi otomatis diabaikan oleh git melalui .gitignore.
Apa yang dibutuhkan untuk menggunakan tool ini?
Node.js 18+, akun merchant yang terdaftar, dan akses terminal.
Apakah bisa digunakan untuk production?
Tool ini dirancang untuk digunakan pada lingkungan pengembangan maupun produksi sesuai kebutuhan integrasi.
Apa perbedaan QRIS dan Payment Link?
QRIS untuk scan langsung oleh customer. Payment Link untuk dibagikan melalui chat atau email.
Apa itu status settlement?
Status yang menandakan pembayaran telah berhasil diterima dan dana masuk.
Apakah source code bisa dimodifikasi?
Source code lengkap diberikan setelah pembelian.



