payrust 0.1.0

PayPal REST API client for Rust
Documentation
use payrust::prelude::*;

#[tokio::main]
async fn main() -> payrust::Result<()> {
    dotenvy::dotenv().ok();

    let client_id = std::env::var("PAYPAL_CLIENT_ID").expect("PAYPAL_CLIENT_ID not set");
    let client_secret =
        std::env::var("PAYPAL_CLIENT_SECRET").expect("PAYPAL_CLIENT_SECRET not set");

    let client = PayPal::sandbox(&client_id, &client_secret).await?;

    let order = client
        .create_order()
        .amount(29.99, Currency::USD)
        .item("Premium Membership", 1, 29.99)
        .description("Monthly Premium Membership")
        .custom_id("order-12345")
        .return_url("https://example.com/success")
        .cancel_url("https://example.com/cancel")
        .send()
        .await?;

    println!("Order ID: {}", order.id);
    println!("Status: {:?}", order.status);
    if let Some(url) = order.approve_url() {
        println!("Approve: {}", url);
    }

    Ok(())
}