paypal-rust


Downloads Version

Rust bindings for the PayPal REST API.

This library is a work in progress. While functional, it is not yet advised to be used in production (The API will change, tests are not yet complete, etc).

For more information on the PayPal REST API, see the PayPal Developer Portal. We aren't affiliated with PayPal in any way and this library is not endorsed by them.

Usage

```rust use dotenv::dotenv; use paypalrust::client::AppInfo; use paypalrust::{ AmountWithBreakdown, Client, CreateOrderDto, CurrencyCode, Environment, Order, OrderApplicationContext, OrderIntent, PurchaseUnitRequest };

[tokio::main]

async fn main() { dotenv().ok(); let username = std::env::var("CLIENTID").unwrap(); let password = std::env::var("CLIENTSECRET").unwrap();

let mut client = Client::new(username, password, Environment::Sandbox).with_app_info(AppInfo {
    name: "PayPal Rust Test App".to_string(),
    version: "1.0".to_string(),
    website: None,
});

client.authenticate().await.unwrap();

let order = Order::create(
    &mut client,
    CreateOrderDto {
        intent: OrderIntent::Capture,
        payer: None,
        purchase_units: vec![PurchaseUnitRequest::new(AmountWithBreakdown::new(
            CurrencyCode::Euro,
            "100.00".to_string(),
        ))],
        application_context: Some(
            OrderApplicationContext::new()
                .return_url("https://example.com/#/return".to_string())
                .cancel_url("https://example.com/#/cancel".to_string()),
        ),
    },
).await.unwrap();

println!("Created order: {:?}", order);

} ```

Features

This library offers a "utils" feature that enables the utils module. This module contains some useful functions for working with the PayPal API. As of now: