Expand description
§Bakong KHQR SDK
Unofficial Rust SDK for Bakong KHQR (Cambodia’s centralized QR payment system).
§Features
- QR Code Generation (Individual and Merchant accounts)
- QR Code Decoding
- CRC16 Verification
- Bakong API Integration
§Quick Start
use bakong_khqr::{BakongKHQR, IndividualInfo};
let khqr = BakongKHQR::new("your_token");
// Generate QR code
let info = IndividualInfo::builder()
.bakong_account_id("user@bank")
.merchant_name("Coffee Shop")
.merchant_city("Phnom Penh")
.currency("KHR")
.amount(50000.0)
.build()
.unwrap();
let result = khqr.generate_qr(info).unwrap();
println!("QR Code: {}", result.qr);
println!("MD5 Hash: {}", result.md5);§API Usage
use bakong_khqr::{BakongKHQR, SourceInfo};
#[tokio::main]
async fn main() -> Result<(), bakong_khqr::BakongError> {
let khqr = BakongKHQR::new("your_token");
// Check if Bakong account exists
let response = khqr.check_bakong_account("user@bank").await?;
println!("Account exists: {:?}", response.data);
// Check transaction by MD5
let tx = khqr.check_transaction_by_md5("md5_hash").await?;
// Generate deeplink
let deeplink = khqr.generate_deeplink(
"qr_string",
SourceInfo {
app_name: "My App".to_string(),
app_icon_url: None,
app_deep_link_callback: None,
},
).await?;
Ok(())
}Re-exports§
pub use client::BakongKHQR;pub use config::BakongConfig;pub use config::Environment;pub use crc::calculate_crc16;pub use crc::verify_crc;pub use decoder::KHQRDecoder;pub use error::BakongError;pub use error::Result;pub use utils::format_amount;pub use utils::format_sub_tag_length_value;pub use utils::format_tag_length_value;pub use utils::md5_hash;pub use utils::pad_length;pub use utils::parse_tag_length_value;pub use types::*;
Modules§
- client
- Bakong KHQR SDK
- config
- Configuration for Bakong API client
- constants
- Constants for Bakong KHQR SDK EMV QR Code Tags
- crc
- CRC16-CCITT-FALSE implementation for KHQR verification
- decoder
- KHQR Decoder - parses EMV QR codes for Bakong
- error
- Error types for Bakong KHQR SDK
- types
- Types module - public exports
- utils
- Utility functions for Bakong KHQR SDK