An open API service indexing awesome lists of open source software.

https://github.com/krypton-byte/qris-rs


https://github.com/krypton-byte/qris-rs

Last synced: 9 months ago
JSON representation

Awesome Lists containing this project

README

          

# 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`:

```toml
[dependencies]
qris = "0.1.0"
```

Lalu, jalankan perintah berikut untuk mengunduh dependensi:

```bash
cargo build
```

## Penggunaan

### Parsing QRIS

Untuk memparsing kode QRIS:

```rust
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

```rust
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](LICENSE).