1个不稳定版本
0.0.0 | 2019年9月10日 |
---|
#21 in #stripe
每月40次下载
735KB
13K SLoC
stripe-rust
Rust API绑定Stripe v1 HTTP API。
此版本与Stripe客户端库的所有当前支持版本兼容,包括 https://js.stripe.com/v2/ 和 https://js.stripe.com/v3/。
使用方法
在您的 Cargo.toml
中添加以下内容
[dependencies]
stripe-rust = "0.10"
并在您的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".parse().expect("token to be valid");
let mut params = stripe::CreateCharge::new();
// NOTE: Stripe represents currency in the lowest denominations (e.g. cents)
params.amount = Some(1095); // e.g. $10.95
params.source = Some(stripe::ChargeSourceParams::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::ListCharges::new();
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_headers(stripe::Headers {
stripe_account: Some("acct_ABC".to_string()),
client_id: Some("ca_XYZ".to_string())
});
// 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 { .. }] }
依赖项
~25MB
~527K SLoC