7 releases
0.3.2 | May 16, 2022 |
---|---|
0.3.1 | May 13, 2022 |
0.2.2 | May 11, 2022 |
0.1.0 | May 8, 2022 |
#13 in #binance
22 downloads per month
88KB
2K
SLoC
binance-pay-rs
Unofficial Rust Library for the Binance Pay API
⚠️ The APIs are expected to work fine, still, You might encounter bugs. Please use at your own risk.
The current version implements all the API endpoints as documented in the Binance pay developer documentation.
Quickstart
Make sure the following env variables are set:
To generate the api key visit Developers
BINANCE_PAY_API_KEY
BINANCE_PAY_API_SECRET
In your Cargo.toml
file
[dependencies]
binance-pay-rs = "^0"
tokio = { version = "1.18.0", features = ["rt-multi-thread", "macros"] }
In your main.rs
file
use bpay::api::order::create::{
Currency, Env, Goods, GoodsCategory, GoodsType, Request as OrderRequest, TerminalType,
};
use bpay::api::Binance;
use bpay::client::Client;
use bpay::errors::Result;
use bpay::utils::create_nonce;
use tokio;
#[tokio::main]
async fn main() -> Result<()> {
let order = OrderRequest {
env: Env {
terminal_type: TerminalType::Web,
},
merchant_trade_no: create_nonce(10),
order_amount: 10.0,
currency: Currency::USDT,
goods: Goods {
goods_type: GoodsType::VirtualGoods,
goods_category: GoodsCategory::Electronics,
reference_goods_id: "sku1234".into(),
goods_name: "Laptop".into(),
goods_detail: None,
},
};
let client = Client::from_env();
let create_order_result = order.create(&client).await?;
println!(
"This url can be sent across to complete the payment procedure: {}",
create_order_result.universal_url
);
Ok(())
}
To run an example:
cargo run --example notification_axum_server
Contributing:
Simply create a pull request. Properly documented code and tests.
To run the tests:
cargo t
Dependencies
~15–29MB
~557K SLoC