#payment #api #paystack #api-bindings #rust

rust_paystack

A Rust library for interacting with the Paystack API

5 releases

0.1.4 Feb 25, 2025
0.1.3 Feb 24, 2025
0.1.2 Feb 22, 2025
0.1.1 Feb 22, 2025
0.1.0 Feb 22, 2025

#72 in Finance

Download history 317/week @ 2025-02-19 66/week @ 2025-02-26

383 downloads per month

MIT license

18KB
105 lines

LinkedIn Crate Badge Repo Badge Docs Badge [License Badge]

a rust library for interacting with Paystack API

Getting Started

run this command in your project directory

cargo add rust_paystack
cargo add rust_decimal_macros // for parsing the amount

Including the library in your project:

use rust_paystack::Paystack;

Creating a new instance

when creating a new instance, api key should be parsed to string

let rust_p = RustPaystack::new("sk_xxxxxxxxxx".to_string());

Initializing a transaction

use rust_paystack::RustPaystack;
use rust_decimal_macros::dec;

#[tokio::main]
async fn main() {
    let rust_p = RustPaystack::new("sk_xxxxxxxxxx".to_string());

    let email = "test@testmail.com";
    let amount = dec!(10.50); // amount should be parsed using rust_decimal_macros

    let response = rust_p.initialize_transaction(email, amount).await;
     
    println!("{:?}", response);
}

Verfiying a transaction

use rust_paystack::RustPaystack;

#[tokio::main]
async fn main() {
    let rust_p = RustPaystack::new("sk_xxxxxxxxxx".to_string());
    let req = rust_p.verify_payment("reference").await;
     
     println!("{:?}", req);
}

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contact

Abukari Einus - einusabukari@gmail.com

Project Link: https://github.com/blackdante101/rust_paystack

Dependencies

~7–19MB
~247K SLoC