Packages
Complete Stripe SDK for Elixir with parity to the official Ruby SDK. V1+V2 coverage (193 services, 320 resource structs, 525 documented params). Per-event modules, Finch HTTP/2, RustyJSON, automatic retries, OAuth, webhooks, telemetry, per-client config, streaming pagination.
Current section
Files
Jump to
Current section
Files
lib/stripe/params/terminal/reader_collect_inputs_params.ex
# File generated from our OpenAPI spec
defmodule Stripe.Params.Terminal.ReaderCollectInputsParams do
@moduledoc "Parameters for reader collect inputs."
@typedoc """
* `expand` - Specifies which fields in the response should be expanded.
* `inputs` - List of inputs to be collected from the customer using the Reader. Maximum 5 inputs.
* `metadata` - Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
"""
@type t :: %__MODULE__{
expand: [String.t()] | nil,
inputs: [inputs()],
metadata: %{String.t() => String.t()} | nil
}
defstruct [:expand, :inputs, :metadata]
@typedoc """
* `custom_text` - Customize the text which will be displayed while collecting this input
* `required` - Indicate that this input is required, disabling the skip button
* `selection` - Options for the `selection` input
* `toggles` - List of toggles to be displayed and customization for the toggles
* `type` - The type of input to collect Possible values: `email`, `numeric`, `phone`, `selection`, `signature`, `text`.
"""
@type inputs :: %{
optional(:custom_text) => inputs_custom_text() | nil,
optional(:required) => boolean() | nil,
optional(:selection) => inputs_selection() | nil,
optional(:toggles) => [inputs_toggles()] | nil,
optional(:type) => String.t() | nil,
optional(String.t()) => term()
}
@typedoc """
* `description` - The description which will be displayed when collecting this input Max length: 500.
* `skip_button` - Custom text for the skip button. Maximum 14 characters. Max length: 14.
* `submit_button` - Custom text for the submit button. Maximum 30 characters. Max length: 30.
* `title` - The title which will be displayed when collecting this input Max length: 40.
"""
@type inputs_custom_text :: %{
optional(:description) => String.t() | nil,
optional(:skip_button) => String.t() | nil,
optional(:submit_button) => String.t() | nil,
optional(:title) => String.t() | nil,
optional(String.t()) => term()
}
@typedoc """
* `choices` - List of choices for the `selection` input
"""
@type inputs_selection :: %{
optional(:choices) => [inputs_selection_choices()] | nil,
optional(String.t()) => term()
}
@typedoc """
* `id` - The unique identifier for this choice Max length: 50.
* `style` - The style of the button which will be shown for this choice. Can be `primary` or `secondary`. Possible values: `primary`, `secondary`.
* `text` - The text which will be shown on the button for this choice Max length: 30.
"""
@type inputs_selection_choices :: %{
optional(:id) => String.t() | nil,
optional(:style) => String.t() | nil,
optional(:text) => String.t() | nil,
optional(String.t()) => term()
}
@typedoc """
* `default_value` - The default value of the toggle. Can be `enabled` or `disabled`. Possible values: `disabled`, `enabled`.
* `description` - The description which will be displayed for the toggle. Maximum 50 characters. At least one of title or description must be provided. Max length: 50.
* `title` - The title which will be displayed for the toggle. Maximum 50 characters. At least one of title or description must be provided. Max length: 50.
"""
@type inputs_toggles :: %{
optional(:default_value) => String.t() | nil,
optional(:description) => String.t() | nil,
optional(:title) => String.t() | nil,
optional(String.t()) => term()
}
end