Quickstart

Mulai menerima pembayaran QRIS otomatis dalam 5 menit.

1. Daftar Akun

Buat akun gratis di qrisy.id/login. Free tier: 5 QRIS merchant, 100 transaksi lifetime.

2. Upload QRIS Statis

Dari dashboard, klik QRIS Merchant → Tambah QRIS. Paste QRIS string statis dari aplikasi e-wallet Anda (DANA Bisnis / GoPay Merchant / ShopeePay).

# Dapatkan QRIS string dari:
# DANA → Bisnis → Terima Pembayaran → Bagikan QR → Salin teks
# GoPay → Merchant → QR Statis → Salin
# ShopeePay → Merchant → QR Statis → Salin

3. Generate API Key

Dashboard → API Keys → Generate Key. Simpan key (qs_live_xxx) — hanya ditampilkan sekali.

4. Generate QR Dinamis

Pilih bahasa Anda:

cURL

curl -X POST https://api.qrisy.id/api/generate/v2/qris \
  -H "Content-Type: application/json" \
  -H "x-license-key: qs_live_YOUR_KEY" \
  -d '{
    "qr_id": "YOUR_QRIS_MERCHANT_UUID",
    "amount": 15000,
    "useUniqueCode": true,
    "packageIds": ["id.dana"],
    "qrType": "dynamic",
    "paymentMethod": "qris",
    "useQris": true
  }'

Node.js

import { Qrisy } from '@qrisy/node';

const qrisy = new Qrisy({
  licenseKey: process.env.QRISY_LICENSE_KEY!,
});

const trx = await qrisy.generateQRISv2({
  qr_id: 'your-merchant-uuid',
  amount: 15000,
  useUniqueCode: true,
  packageIds: ['id.dana'],
  qrType: 'dynamic',
  paymentMethod: 'qris',
  useQris: true,
});

console.log(trx.transactionId); // txn_01ABC...
console.log(trx.qr_string);     // 00020101021226...
console.log(trx.totalAmount);   // 15450 (amount + unique code)

Python

from qrisy import Qrisy

qrisy = Qrisy(license_key="qs_live_xxx")

trx = qrisy.generate_qris_v2({
    "qr_id": "your-merchant-uuid",
    "amount": 15000,
    "use_unique_code": True,
    "package_ids": ["id.dana"],
    "qr_type": "dynamic",
    "payment_method": "qris",
    "use_qris": True,
})

print(trx.transaction_id)  # txn_01ABC...
print(trx.qr_string)       # 00020101...

PHP

use Qrisy\Qrisy;

$qrisy = new Qrisy(licenseKey: $_ENV['QRISY_LICENSE_KEY']);

$trx = $qrisy->generateQRISv2([
    'qr_id' => 'your-merchant-uuid',
    'amount' => 15000,
    'useUniqueCode' => true,
    'packageIds' => ['id.dana'],
    'qrType' => 'dynamic',
    'paymentMethod' => 'qris',
    'useQris' => true,
]);

echo $trx->transactionId; // txn_01ABC...

5. Tunggu Pembayaran

// Node.js — polling otomatis
const paid = await qrisy.waitForPayment(trx.transactionId);
console.log('Pembayaran diterima!', paid.paidAt);

Atau setup webhook untuk push notification real-time ke server Anda.

6. Install HP Listener

Download app Qrisy Listener di Play Store. Login dengan akun yang sama. Grant Notification Listener permission. Selesai!

Saat customer scan QR & bayar, notifikasi e-wallet terdeteksi → transaksi terverifikasi <3 detik → webhook dikirim → dashboard update real-time.

Next Steps