Quickstart#
Dependencies#
This module requires API key to function. You may subscribe a free API key at https://www.fraudlabspro.com
Installation#
Just add fraudlabspro = "1.0.0" into your Cargo.toml.
Sample Codes#
Validate Order#
You can validate your order as below:
use fraudlabspro::validation::{FraudValidation, FraudValidationRequest, OrderInfo, CardInfo, BillingInfo, ShippingInfo};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let fv = FraudValidation::new("YOUR_API_KEY");
let req = FraudValidationRequest {
ip: Some("146.112.62.105".to_string()),
flp_checksum: None,
order: Some(OrderInfo {
order_id: Some("67398".into()),
order_note: None,
currency: Some("USD".into()),
amount: Some("42".into()),
quantity: Some("1".into()),
payment_gateway: Some("stripe".into()),
payment_method: Some("creditcard".into()),
department: None,
}),
card: Some(CardInfo {
number: Some("4556553172971283".into()),
avs_result: None,
cvv_result: None,
}),
billing: Some(BillingInfo {
first_name: Some("John".into()),
last_name: Some("Doe".into()),
username: Some("jdoe".into()),
password: Some("s3cr3t".into()),
email: Some("john@example.com".into()),
phone: Some("555-123-4567".into()),
address: Some("1 Main St".into()),
city: Some("NYC".into()),
state: Some("NY".into()),
postcode: Some("10001".into()),
country: Some("US".into()),
}),
shipping: Some(ShippingInfo {
first_name: Some("John".into()),
last_name: Some("Doe".into()),
address: Some("1 Main St".into()),
city: Some("NYC".into()),
state: Some("NY".into()),
postcode: Some("10001".into()),
country: Some("US".into()),
}),
};
let res = fv.validate(req)?; // JSON text
println!("{}", res);
Ok(())
}
Get Transaction#
You can get the details of a transaction as below:
use fraudlabspro::validation::FraudValidation;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let fv = FraudValidation::new("YOUR_API_KEY");
let result = fv.get_transaction(Some("20250818-MCWIWR".to_string()))?;
println!("Transaction details:\n{}", result);
Ok(())
}
Feedback#
You can approve, reject or ignore a transaction as below:
use fraudlabspro::validation::FraudValidation;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let fv = FraudValidation::new("YOUR_API_KEY");
// Example feedback submission
let res = fv.feedback(
Some("20250818-MCWIWR".to_string()), // transaction id
Some("REJECT".to_string()), // action: APPROVE, REJECT, REJECT_BLACKLIST
Some("Testing.".to_string()), // notes (optional)
)?;
println!("Feedback response:\n{}", res);
Ok(())
}
Send SMS Verification#
You can send SMS verification for authentication purpose as below:
use fraudlabspro::sms::SMSVerification;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let sms = SMSVerification::new("YOUR_API_KEY");
let sent = sms.send_sms(Some("+60175063088".into()), Some("1".into()), Some("Your OTP for the transaction is <otp>.".into()), None)?;
println!("{}", sent);
Ok(())
}
Get SMS Verification Result#
You can verify the OTP sent by Fraudlabs Pro SMS verification API as below:
use fraudlabspro::sms::SMSVerification;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let sms = SMSVerification::new("YOUR_API_KEY");
let res = sms.verify_sms(Some("TRANSACTION_ID".into()), Some("OTP_RECEIVED".into()), None)?;
println!("{}", res);
Ok(())
}
Report Payment Gateway Feedback#
You can report payment gateway feedback as below:
use fraudlabspro::payment::Payment;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let payment = Payment::new("YOUR_API_KEY");
let res = payment.feedback(
Some("aaa@gmail.com".to_string()), // email
Some("approve".to_string()), // status
Some("Testing.".to_string()), // message
None, // Transaction id, put None if no value
)?;
println!("Feedback response:\n{}", res);
Ok(())
}