paypal-rs

Version Downloads License Rust Docs

A rust library that wraps the paypal api asynchronously in a strongly typed manner.

If there is a missing endpoint that you need, you may try to implement the Endpoint and pass it to Client::execute

Currently in early development.

Example

```rust use paypal_rs::{ Client, api::orders::, data::orders::, data::common::Currency, PaypalEnv, };

[tokio::main]

async fn main() { dotenvy::dotenv().ok(); let clientid = std::env::var("PAYPALCLIENTID").unwrap(); let secret = std::env::var("PAYPALSECRET").unwrap();

let mut client = Client::new(clientid, secret, PaypalEnv::Sandbox);

client.get_access_token().await.unwrap();

let order = OrderPayloadBuilder::default()
    .intent(Intent::Authorize)
    .purchase_units(vec![PurchaseUnit::new(Amount::new(Currency::EUR, "10.0"))])
    .build().unwrap();

let create_order = CreateOrder::new(order);

let _order_created = client
    .execute(&create_order).await.unwrap();

} ```

Testing

You need the enviroment variables PAYPALCLIENTID and PAYPALSECRET to be set.

cargo test

Roadmap

License: MIT OR Apache-2.0