1个不稳定版本

使用旧的Rust 2015

0.4.5 2018年6月9日

#13#stripe

MIT/Apache

93KB
2K SLoC

stripe-rust

stripe-rust on Travis CI stripe-rust on crates.io stripe-rust on docs.rs

Rust API绑定,用于Stripe v1 HTTP API。

该库与Stripe客户端库的所有当前支持版本兼容,包括 https://js.stripe.com/v2/https://js.stripe.com/v3/

用法

将此内容放入您的 Cargo.toml

[dependencies]
stripe-rust = "0.4.5"

然后在您的crate根目录下

extern crate stripe;

要查看库的使用方法,请参阅 示例 文件夹。

入门指南

要开始使用,我们需要创建一个客户端

  let client = stripe::Client::new("sk_test_YOUR_STRIPE_SECRET");

然后我们可以开始发送我们想要的请求。大多数Stripe请求都接受许多可选参数,所以我们通常使用 ::default() 参数,然后设置我们想要的参数。

创建或更新Stripe对象的大多数请求都使用相同的Rust结构体,因此您可能需要经常参考 官方API文档 以确定哪些字段是必需的。

  /* Creating a Stripe Charge */

  let token = "TOKEN_FROM_CHECKOUT";
  let mut params = stripe::ChargeParams::default();
  // NOTE: Stripe represents currency in the lowest denominations (e.g. cents)
  params.amount = Some(1095); // e.g. $10.95
  params.source = Some(stripe::CustomerSource::Token(token));

  // Example: Override currency to be in Canadian Dollars
  params.currency = Some(stripe::Currency::CAD);
  let charge = stripe::Charge::create(&client, params).unwrap();
  println!("{:?}", charge); // =>  Charge { id: "ch_12345", amount: 1095, .. }
  /* Listing Stripe Charges */

  let params = stripe::ChargeListParams::default();
  let charges = stripe::Charge::list(&client, params).unwrap();
  println!("{:?}", charges); // =>  List { data: [Charge { id: "ch_12345", .. }] }

使用自定义Connect账户

该crate支持模拟自定义connect账户。

要模拟账户,获取一个新的Client并传入账户ID。

  let client = client.with(stripe::Params{stripe_account: Some("acct_ABC")});

  // Then, all requests can be made normally
  let params = stripe::CustomerListParams::default();
  let customers = stripe::Customer::list(&client, params).unwrap();
  println!("{:?}", customers); // =>  List { data: [Customer { .. }] }

依赖关系

~8–13MB
~284K SLoC