stripe-rust 0.6.0

API bindings for the Stripe v1 HTTP API
Documentation

This crate provides Rust bindings to the Stripe HTTP API.

Getting Started

To get started, we need to create a client:

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

Then we can begin making requests as we'd like. Most Stripe requests accept many optional parameters, so we usually get the ::default() params and then set the ones we want from there.

Most requests for creating or updating a Stripe object use the same Rust struct, so you may frequently need to refer to the official API docs to determine which fields are required for either request.

/* 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::PaymentSourceParams::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", .. }] }