Saweria QRIS Generator
API tidak resmi saweria.co yang dapat membuat dan memeriksa kode QRIS secara otomatis

Fitur
- Membuat kode pembayaran QRIS
- Integrasi template DANA opsional
- Pembuatan nama pengirim secara acak
- Pengecekan status pembayaran
- API yang sederhana dan mudah digunakan
Instalasi
npm install qris-saweria
Mulai Cepat
const saweriaQris = require('qris-saweria')
const [qrString, transactionId, qrImagePath] = await saweriaQris.createPaymentQr(
'nama_saweria',
10000,
'donatur@email.com'
);
const isPaid = await saweriaQris.paidStatus(transactionId);
Referensi API
createPaymentQr(saweriaUsername, amount, email[, outputPath, useTemplate])
Membuat kode pembayaran QRIS dan menghasilkan gambar QR.
Parameter:
saweriaUsername (string) - Nama pengguna Saweria Anda
amount (number) - Jumlah donasi dalam IDR (minimum 1000)
email (string) - Alamat email donatur
outputPath (string, opsional) - Path untuk gambar QR code (default: 'qris.png')
useTemplate (boolean, opsional) - Apakah akan menggunakan template DANA (default: true)
Return:
Promise yang mengembalikan [qrString, transactionId, qrImagePath]:
qrString - String pembayaran QRIS
transactionId - ID transaksi untuk pengecekan status
qrImagePath - Path tempat gambar QR disimpan
paidStatus(transactionId)
Memeriksa apakah pembayaran telah selesai.
Parameter:
transactionId (string) - ID transaksi dari createPaymentQr
Return:
Promise yang mengembalikan boolean - true jika sudah dibayar, false jika belum dibayar
Contoh
Membuat TestFull
const saweriaQris = require('qris-saweria')
async function waitForPayment(transactionId, checkInterval = 5000) {
console.log('Menunggu pembayaran...');
while (true) {
try {
const isPaid = await saweriaQris.paidStatus(transactionId);
if (isPaid) {
console.log('\n✅ Pembayaran berhasil!');
break;
} else {
process.stdout.write('.');
}
} catch (error) {
console.error('\nError:', error.message);
break;
}
await new Promise(resolve => setTimeout(resolve, checkInterval));
}
}
async function test() {
try {
const amount = 1000;
console.log(`\nMembuat QR code untuk pembayaran ${amount} IDR...`);
const [, transactionId, qrImagePath] = await saweriaQris.createPaymentQr(
'UserBotTelegram',
amount,
'test@example.com',
'qris_with_template.png',
true
);
await saweriaQris.createPaymentQr(
'UserBotTelegram',
amount,
'test@example.com',
'qris_no_template.png',
false
);
console.log('\nQR Code berhasil dibuat!');
console.log('QR dengan template:', qrImagePath);
console.log('QR tanpa template: qris_no_template.png');
console.log('Transaction ID:', transactionId);
console.log('\nSilakan scan QR code untuk melakukan pembayaran.');
await waitForPayment(transactionId);
} catch (error) {
console.error('Error:', error.message);
}
}
test();
Membuat QR dengan Template
const saweriaQris = require('qris-saweria')
async function createPayment() {
try {
const [, transactionId, qrPath] = await saweriaQris.createPaymentQr(
'saweriaku',
15000,
'donatur@email.com',
'pembayaran.png',
true
);
console.log('QR Code dibuat:', qrPath);
console.log('ID Transaksi:', transactionId);
} catch (error) {
console.error('Error:', error.message);
}
}
Membuat QR tanpa Template
const [, transactionId, qrPath] = await saweriaQris.createPaymentQr(
'saweriaku',
15000,
'donatur@email.com',
'pembayaran.png',
false
);
Memantau Status Pembayaran
const saweriaQris = require('qris-saweria')
async function checkPayment(transactionId) {
while (true) {
const isPaid = await saweriaQris.paidStatus(transactionId);
if (isPaid) {
console.log('Pembayaran diterima!');
break;
}
await new Promise(resolve => setTimeout(resolve, 5000));
}
}
Catatan
- Jumlah trx minimum adalah 1.000 IDR
- Nama pengirim dibuat secara otomatis
- Pesan dukungan acak disertakan dengan setiap donasi
- Template DANA bersifat opsional
Lisensi
MIT
Kontribusi
Kontribusi, masalah, dan permintaan fitur sangat diterima! Silakan periksa halaman issues.