qris 0.1.1

QRIS Parser & Editor
Documentation
  • Coverage
  • 0%
    0 out of 31 items documented0 out of 22 items with examples
  • Size
  • Source code size: 13.19 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.92 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 10s Average build duration of successful builds.
  • all releases: 10s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • krypton-byte

qris-rs

qris-rs adalah sebuah pustaka berbasis Rust yang dirancang untuk mengubah dan memparsing data QRIS (Quick Response Code Indonesian Standard). Proyek ini bertujuan untuk mempermudah pengelolaan data QRIS secara efisien, aman, dan cepat.

Fitur

  • ✅ Parsing kode QRIS menjadi struktur data yang mudah diakses.
  • ✅ Validasi data QRIS sesuai standar QRIS Nasional.
  • ✅ Mendukung konversi struktur data menjadi string QRIS.
  • ✅ Performa tinggi dengan penggunaan Rust.

Instalasi

Tambahkan pustaka ini ke dalam proyek Anda dengan menambahkan dependensi berikut pada Cargo.toml:

[dependencies]
qris = "0.1.0"

Lalu, jalankan perintah berikut untuk mengunduh dependensi:

cargo build

Penggunaan

Parsing QRIS

Untuk memparsing kode QRIS:

use qris::node::Nodes;

fn main(){
    let content = String::from("00020101021126710019ID.CO.CIMBNIAGA.WWW011878728356757817222102150002186871651250303UMI51450015ID.OR.QRNPG.WWW0215ID81275673266770303UMI5204599953033605802ID5914AABBCCD*6714516006KEDIRI61054423462120708123456786304097D");
    match &Nodes::from_str(&content) {
        Ok(parsed) => {
            println!("{:#?}", parsed);
        }
        Err(err) => eprint!("Fail: {}", err)
    }
}

Mengubah data jumlah pada qris

contoh mengubah data jumlah yang harus dibayar pada qris

use qris::node::Nodes;

fn main(){
    let content = String::from("00020101021126710019ID.CO.CIMBNIAGA.WWW011878728356757817222102150002186871651250303UMI51450015ID.OR.QRNPG.WWW0215ID81275673266770303UMI5204599953033605802ID5914AABBCCD*6714516006KEDIRI61054423462120708123456786304097D");
    match &mut Nodes::from_str(&content) {
        Ok(parsed) => {
            parsed.set_amount(20_000);
            parsed.rewrite_crc16();
            print!("{}", parsed.dumps());
        }
        Err(err) => eprint!("Fail: {}", err)
    }
}

Kontribusi

Kontribusi sangat diterima! Jika Anda ingin berkontribusi:

  1. Fork repositori ini.
  2. Buat branch fitur Anda (git checkout -b fitur-anda).
  3. Commit perubahan Anda (git commit -m 'Tambah fitur baru').
  4. Push branch Anda (git push origin fitur-anda).
  5. Buat Pull Request.

Lisensi

Proyek ini dilisensikan di bawah MIT License.