Stripe.Session (stripity_stripe v2.11.0) View Source
Work with Stripe Checkout Session objects.
You can:
- Create a new session
- Retrieve a session
Stripe API reference: https://stripe.com/docs/api/checkout/sessions
Link to this section Summary
Link to this section Types
Specs
Specs
capture_method() :: :automatic | :manual
Specs
create_params() :: %{
:cancel_url => String.t(),
:payment_method_types => [String.t()],
:success_url => String.t(),
optional(:mode) => String.t(),
optional(:client_reference_id) => String.t(),
optional(:customer) => String.t(),
optional(:customer_email) => String.t(),
optional(:line_items) => [line_item()],
optional(:locale) => String.t(),
optional(:metadata) => Stripe.Types.metadata(),
optional(:payment_intent_data) => payment_intent_data(),
optional(:subscription_data) => subscription_data()
}
Specs
Specs
line_item() :: %{
optional(:name) => String.t(),
optional(:quantity) => integer(),
optional(:adjustable_quantity) => adjustable_quantity(),
optional(:amount) => integer(),
optional(:currency) => String.t(),
optional(:description) => String.t(),
optional(:dynamic_tax_rates) => [String.t()],
optional(:images) => [String.t()],
optional(:price) => String.t(),
optional(:price_data) => price_data(),
optional(:tax_rates) => [String.t()]
}
Specs
payment_intent_data() :: %{
optional(:application_fee_amount) => integer(),
optional(:capture_method) => capture_method(),
optional(:description) => String.t(),
optional(:metadata) => Stripe.Types.metadata(),
optional(:on_behalf_of) => String.t(),
optional(:receipt_email) => String.t(),
optional(:setup_future_usage) => String.t(),
optional(:shipping) => Stripe.Types.shipping(),
optional(:statement_descriptor) => String.t(),
optional(:transfer_data) => transfer_data()
}
Specs
Specs
product_data() :: %{
:name => String.t(),
optional(:description) => String.t(),
optional(:images) => [String.t()],
optional(:metadata) => Stripe.Types.metadata()
}
Specs
Specs
subscription_data() :: %{
:items => [item()],
optional(:application_fee_percent) => float(),
optional(:coupon) => String.t(),
optional(:default_tax_rates) => [String.t()],
optional(:metadata) => Stripe.Types.metadata(),
optional(:trial_end) => integer(),
optional(:trial_from_plan) => boolean(),
optional(:trial_period_days) => integer()
}
Specs
t() :: %Stripe.Session{
billing_address_collection: String.t(),
cancel_url: boolean(),
client_reference_id: String.t(),
customer: Stripe.id() | Stripe.Customer.t() | nil,
customer_email: String.t(),
display_items: [line_item()],
id: Stripe.id(),
livemode: boolean(),
locale: boolean(),
metadata: Stripe.Types.metadata(),
mode: String.t(),
object: String.t(),
payment_intent: Stripe.id() | Stripe.PaymentIntent.t() | nil,
payment_method_types: [String.t()],
setup_intent: Stripe.id() | Stripe.SetupIntent.t() | nil,
shipping: %{address: Stripe.Types.shipping(), name: String.t()},
shipping_address_collection: %{allowed_countries: [String.t()]},
submit_type: String.t() | nil,
subscription: Stripe.id() | Stripe.Subscription.t() | nil,
success_url: String.t()
}
Specs
transfer_data() :: %{destination: String.t()}
Link to this section Functions
Specs
create(create_params(), Stripe.options()) :: {:ok, t()} | {:error, Stripe.Error.t()}
See Stripe.Checkout.Session.LineItems.list/2.
Specs
retrieve(Stripe.id() | t(), Stripe.options()) :: {:ok, t()} | {:error, Stripe.Error.t()}
Retrieve a session.