https://github.com/krypton-byte/qris-rs
https://github.com/krypton-byte/qris-rs
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/krypton-byte/qris-rs
- Owner: krypton-byte
- License: mit
- Created: 2024-12-09T07:12:52.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-12-19T04:55:32.000Z (over 1 year ago)
- Last Synced: 2025-10-03T15:53:38.673Z (9 months ago)
- Language: Rust
- Size: 8.79 KB
- Stars: 10
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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).