#paypal #api-bindings #strongly-typed

paypal-rs

一个异步封装paypal API的库

21次发布

0.2.6 2024年6月3日
0.2.5 2023年3月10日
0.2.4 2023年1月11日
0.2.3 2022年11月11日
0.1.0 2020年6月10日

#11 in 金融

Download history 112/week @ 2024-05-04 139/week @ 2024-05-11 104/week @ 2024-05-18 58/week @ 2024-05-25 296/week @ 2024-06-01 118/week @ 2024-06-08 117/week @ 2024-06-15 114/week @ 2024-06-22 54/week @ 2024-06-29 98/week @ 2024-07-06 15/week @ 2024-07-13 35/week @ 2024-07-20 85/week @ 2024-07-27 65/week @ 2024-08-03 13/week @ 2024-08-10 24/week @ 2024-08-17

194 次每月下载

MIT/Apache

140KB
2K SLoC

paypal-rs

Version Downloads License Rust Docs

一个Rust库,以强类型方式异步封装paypal API。

如果缺少您需要的端点,您可以尝试实现Endpoint并将其传递给Client::execute

目前处于早期开发阶段。

示例

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("PAYPAL_CLIENTID").unwrap();
    let secret = std::env::var("PAYPAL_SECRET").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();
}

测试

您需要设置环境变量PAYPAL_CLIENTID和PAYPAL_SECRET。

cargotest

路线图

  • 订单API - 0.1.0
    • 创建订单
    • 更新订单
    • 显示订单详情
    • 为订单授权支付
    • 为订单捕获支付
  • 发票API - 0.2.0
    • 生成发票编号
    • 创建草稿发票
    • 显示发票详情(获取发票)
    • 列出发票
    • 删除发票
    • 更新发票
    • 取消发票
    • 发送发票
    • 发送发票提醒
    • 列出模板
    • 创建模板
    • 删除模板
    • 完全更新模板
    • 显示模板模板
  • 支付API - 0.3.0
  • 跟踪API - 0.4.0
  • 订阅API - 0.5.0
  • 身份API - 0.6.0
  • 争议API - 0.7.0
  • 目录产品API - 0.8.0
  • 合作伙伴推荐API - 0.9.0
  • 支付API - 0.10.0
  • 交易搜索API - 0.11.0
  • 引用支付API - 0.12.0
  • 保险库API - 0.13.0
  • Webhook管理API - 0.14.0
  • 支付体验Web配置文件API - 1.0.0

许可证:MIT OR Apache-2.0

依赖项

~6–18MB
~284K SLoC