async-stripe 0.18.4

API bindings for the Stripe HTTP API
Documentation
[workspace]
members = [
  ".",
  "openapi",
  "bench/binary_size"
]

[package]
name = "async-stripe"
version = "0.18.4"
description = "API bindings for the Stripe HTTP API"
rust-version = "1.63.0"
authors = [
  "Anna Baldwin <abaldwin@developers.wyyerd.com>",
  "Kevin Stenerson <kestred@users.noreply.github.com>",
  "Alexander Lyon <arlyon@me.com>",
]
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",
]

stream = []

# stripe feature groups
checkout = ["billing"]
billing = []
connect = []
fraud = []
issuing = []
orders = []
sigma = []
terminal = []
webhook-endpoints = []

# 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.23", 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.2", 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 = "0.4.8"
actix-web = "4.2.1"

[[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 = "webhook-axum"
required-features = ["async"]

[[example]]
name = "webhook-actix"
required-features = ["async"]

[[example]]
name = "webhook-rocket"
required-features = ["rocket"]