[workspace] members = [ ".", "openapi", "bench/binary_size" ] [package] name = "async-stripe" version = "0.39.1" description = "API bindings for the Stripe HTTP API" rust-version = "1.74.0" authors = [ "Anna Baldwin ", "Kevin Stenerson ", "Alexander Lyon ", ] license = "MIT OR Apache-2.0" readme = "README.md" homepage = "https://github.com/arlyon/async-stripe" repository = "https://github.com/arlyon/async-stripe" documentation = "https://docs.rs/async-stripe" keywords = ["stripe", "v1", "api", "async"] categories = ["api-bindings"] edition = "2021" [package.metadata.docs.rs] features = ["runtime-tokio-hyper"] [lib] name = "stripe" [features] default = ["full", "webhook-events", "uuid", "stream"] full = [ "checkout", "billing", "connect", "fraud", "issuing", "orders", "sigma", "terminal", "webhook-endpoints", "tax-calculation", "products", ] stream = [] # stripe feature groups checkout = ["billing"] billing = [] connect = [] fraud = [] issuing = [] orders = [] sigma = [] terminal = [] webhook-endpoints = [] tax-calculation = [] products = [] # deserialize events from webhooks webhook-events = ["events", "hmac", "sha2", "chrono", "hex"] events = [] # runtimes async = ["futures-util"] blocking = [] runtime-tokio-hyper = [ "tokio", "hyper-client", "hyper-tls", "async", ] runtime-tokio-hyper-rustls = [ "tokio", "hyper-client", "hyper-rustls", "hyper-rustls-native", "async", ] runtime-tokio-hyper-rustls-webpki = [ "tokio", "hyper-client", "hyper-rustls-webpki", "async", ] runtime-blocking = [ "tokio", "tokio/rt", "hyper-client", "hyper-tls", "blocking", ] runtime-blocking-rustls = [ "tokio", "tokio/rt", "hyper-client", "hyper-rustls-native", "blocking", ] runtime-blocking-rustls-webpki = [ "tokio", "tokio/rt", "hyper-client", "hyper-rustls-webpki", "blocking", ] runtime-async-std-surf = [ "async-std", "surf", "async", ] # we need the compat crate if using hyper hyper-client = ["hyper", "http-types/hyperium_http"] hyper-rustls-native = ["hyper-rustls", "hyper-rustls/native-tokio"] hyper-rustls-webpki = ["hyper-rustls", "hyper-rustls/webpki-tokio"] [dependencies] async-std = {version = "1.8,<1.11", optional = true} chrono = { version = "0.4", default-features = false, features = ["serde", "clock"], optional = true } thiserror = "1.0.24" http-types = { version = "2.12.0", default-features = false } hyper = { version = "0.14", default-features = false, features = ["http1", "http2", "client", "tcp"], optional = true } hyper-tls = { version = "0.5", optional = true } hyper-rustls = { version = "0.24", default-features = false, features = ["http1", "http2", "tls12", "logging"], optional = true } serde = {version = ">=1.0.79", features = ["derive"] } # we use `serde(other)` which was introduced in 1.0.79 serde_json = "1.0" serde_qs = "0.10.1" serde_path_to_error = "0.1.8" smol_str = "0.1" surf = { version = "2.1", optional = true } tokio = { version = "1", optional = true } smart-default = "0.6.0" uuid = { version = "0.8", optional=true, features=["v4"] } # stream for lists futures-util = { version = "0.3.21", optional = true } # webhook support hmac = { version = "0.12", optional = true } sha2 = { version = "0.10", optional = true } hex = { version = "0.4", optional = true } rocket = { version = "0.4", optional = true } [dev-dependencies] async-std = { version = "1.10.0", features = ["attributes"] } httpmock = "0.6.6" tokio = { version = "1.24.1", features = ["rt", "macros"] } axum = { version = "0.7.4", features = ["macros"] } async-trait = "0.1" actix-web = "4.2.1" # MSRV PINS # # We have a few deps that have MSRVs that are higher than our own. # We pin them here to ensure that we can run tests on the MSRV bumpalo = ">=3.0.0, <= 3.15.0" [[example]] name = "checkout" required-features = ["async"] [[example]] name = "connect" required-features = ["async"] [[example]] name = "customer" required-features = ["async"] [[example]] name = "payment-intent" required-features = ["async"] [[example]] name = "payment-link" required-features = ["async"] [[example]] name = "strategy" required-features = ["async"] [[example]] name = "subscriptions" required-features = ["async"] [[example]] name = "test-clocks" required-features = ["async"] [[example]] name = "webhook-axum" required-features = ["async"] [[example]] name = "webhook-actix" required-features = ["async"] [[example]] name = "webhook-rocket" required-features = ["rocket"]