npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

qris-convert

v1.0.10

Published

Convert QRIS statis ke QRIS dinamis (nominal custom) dengan recalculation CRC16 — dependency-free, ESM.

Readme

qris-convert

Ubah QRIS statis jadi QRIS dinamis (nominal custom) tanpa perlu jalanin server API terpisah. Dependency-free, murni ESM — tinggal import langsung di bot.

Pasang di project bot

Taruh folder qris-convert ini di sebelah project bot kamu, misalnya:

mirai-bot/
qris-convert/

Lalu di package.json bot, tambahkan:

"dependencies": {
  "qris-convert": "file:../qris-convert"
}

Jalankan npm install di folder bot. Kalau nanti isi qris-convert diubah, cukup npm install ulang (atau npm install --force) supaya symlink/copy-nya ke-refresh.

Pemakaian

import { convertQris, getMerchantName } from 'qris-convert';

const qrisStatis = '...'; // string QRIS statis dari MustikaPay / provider lain

const { qris, nominal } = convertQris(qrisStatis, 15000);
// qris   -> string QRIS dinamis siap digenerate jadi QR image
// nominal -> '15000'

console.log(getMerchantName(qrisStatis)); // nama merchant dari tag 59

Dengan biaya tambahan (opsional, dipakai kalau markup dihitung di sisi QRIS bukan di harga produk):

convertQris(qrisStatis, 15000, { feeFixed: 1000 });  // tambahan nominal tetap
convertQris(qrisStatis, 15000, { feePercent: 2 });   // tambahan persen

Hasil qris tinggal dilempar ke library QR image yang sudah dipakai di bot (canvas/qrcode), sama seperti string QRIS dinamis dari API biasa — bedanya nggak perlu network call.

API

| Fungsi | Return | Keterangan | |---|---|---| | convertQris(qrisStatis, nominal, options?) | { qris, nominal } | konversi inti | | parseQris(qris) | Record<string,string> | semua tag TLV mentah | | getMerchantName(qris) | string \| null | tag 59 | | getMerchantCity(qris) | string \| null | tag 60 | | getAmount(qris) | string \| null | tag 54 (kalau QRIS-nya sudah dinamis) | | crc16ccitt(str) | string | hitung CRC16-CCITT manual kalau perlu | | readQR(buffer) | string \| null | decode QR | | createQR(string) | buffer | create QR Code|

options pada convertQris:

  • feeFixed — nominal tambahan tetap (tag 55/56)
  • feePercent — tambahan dalam persen (tag 55/57)

Credits

Library ini dibuat dan dikembangkan oleh Kokoronationz.

Implementasi konversi QRIS pada library ini terinspirasi dari proyek qris-api milik idlanyor. Terima kasih atas ide dan referensi implementasinya.

  • Inspirasi: https://github.com/idlanyor/qris-api
  • Pengembang library ini: Kokoronationz