#paypal #rest #async #api-bindings #api

paypal-rust

Rust对PayPal REST API的绑定

11个版本

0.0.9-alpha2023年5月30日
0.0.8-alpha2023年3月8日
0.0.6-alpha2023年2月27日
0.0.5-alpha2023年1月8日
0.0.2-alpha.12022年9月30日

财务类别中排名第54

MIT/Apache

230KB
5K SLoC

paypal-rust


Downloads Version

Rust对PayPal REST API的绑定。

该库仍在开发中。虽然功能可用,但建议不要在生产环境中使用(API将会更改,测试尚未完成等)。

有关PayPal REST API的更多信息,请访问PayPal开发者门户。我们与PayPal无任何关联,并且此库未得到他们的认可。

使用方法

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

#[tokio::main]
async fn main() {
    dotenv().ok();
    let username = std::env::var("CLIENT_ID").expect("CLIENT_ID must be set");
    let password = std::env::var("CLIENT_SECRET").expect("CLIENT_SECRET must be set");

    let client = Client::new(username, password, Environment::Sandbox)
        .unwrap()
        .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(
        &client,
        CreateOrderDto {
            intent: OrderIntent::Capture,
            payer: None,
            purchase_units: vec![PurchaseUnitRequest::new(AmountWithBreakdown::new(
                CurrencyCode::Euro,
                "10.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);
}

功能

此库提供了一个“utils”功能,该功能启用“utils”模块。此模块包含一些用于与PayPal API一起使用的有用函数。

依赖项

~11–25MB
~374K SLoC