# File generated from our OpenAPI spec defmodule Stripe.Params.Radar.PaymentEvaluationCreateParams do @moduledoc "Parameters for payment evaluation create." @typedoc """ * `client_device_metadata_details` - Details about the Client Device Metadata to associate with the payment evaluation. * `customer_details` - Details about the customer associated with the payment evaluation. * `expand` - Specifies which fields in the response should be expanded. * `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`. * `payment_details` - Details about the payment. """ @type t :: %__MODULE__{ client_device_metadata_details: map() | nil, customer_details: map(), expand: [String.t()] | nil, metadata: map() | nil, payment_details: map() } defstruct [ :client_device_metadata_details, :customer_details, :expand, :metadata, :payment_details ] defmodule ClientDeviceMetadataDetails do @moduledoc "Nested parameters." @typedoc """ * `radar_session` - ID for the Radar Session to associate with the payment evaluation. A [Radar Session](https://docs.stripe.com/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments. Max length: 5000. """ @type t :: %__MODULE__{ radar_session: String.t() | nil } defstruct [:radar_session] end defmodule CustomerDetails do @moduledoc "Nested parameters." @typedoc """ * `customer` - The ID of the customer associated with the payment evaluation. Max length: 5000. * `customer_account` - The ID of the Account representing the customer associated with the payment evaluation. Max length: 5000. * `email` - The customer's email address. * `name` - The customer's full name or business name. Max length: 5000. * `phone` - The customer's phone number. """ @type t :: %__MODULE__{ customer: String.t() | nil, customer_account: String.t() | nil, email: String.t() | nil, name: String.t() | nil, phone: String.t() | nil } defstruct [:customer, :customer_account, :email, :name, :phone] end defmodule PaymentDetails do @moduledoc "Nested parameters." @typedoc """ * `amount` - The intended amount to collect with this payment. A positive integer representing how much to charge in the [smallest currency unit](https://docs.stripe.com/currencies#zero-decimal) (for example, 100 cents to charge 1.00 USD or 100 to charge 100 Yen, a zero-decimal currency). * `currency` - Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). Format: ISO 4217 currency code. * `description` - An arbitrary string attached to the object. Often useful for displaying to users. Max length: 5000. * `money_movement_details` - Details about the payment's customer presence and type. * `payment_method_details` - Details about the payment method to use for the payment. * `shipping_details` - Shipping details for the payment evaluation. * `statement_descriptor` - Payment statement descriptor. Max length: 5000. """ @type t :: %__MODULE__{ amount: integer() | nil, currency: String.t() | nil, description: String.t() | nil, money_movement_details: map() | nil, payment_method_details: map() | nil, shipping_details: map() | nil, statement_descriptor: String.t() | nil } defstruct [ :amount, :currency, :description, :money_movement_details, :payment_method_details, :shipping_details, :statement_descriptor ] end end