From 22571241b4f0ef791555548dd3dd9dc26c8e914f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 3 Nov 2023 01:31:31 +0000 Subject: [PATCH] Update services based on v645 of Stripe OpenApi SDK Reference: https://github.com/stripe/openapi/releases/tag/v645 --- .latest-tag-stripe-openapi-sdk | 2 +- lib/generated/account.ex | 16 ++- lib/generated/balance_transaction.ex | 2 +- lib/generated/bank_account.ex | 2 +- lib/generated/card.ex | 2 +- lib/generated/checkout__session.ex | 17 ++- lib/generated/exchange_rate.ex | 2 +- lib/generated/issuing__authorization.ex | 22 ++- lib/generated/issuing__transaction.ex | 3 +- lib/generated/payment_intent.ex | 86 ++++++------ lib/generated/reporting__report_run.ex | 3 +- lib/generated/setup_intent.ex | 35 ++--- lib/generated/token.ex | 4 +- priv/openapi/spec3.sdk.json | 176 ++++++++++++++++++++++-- 14 files changed, 285 insertions(+), 87 deletions(-) diff --git a/.latest-tag-stripe-openapi-sdk b/.latest-tag-stripe-openapi-sdk index 4118a786..0a7c2e8e 100644 --- a/.latest-tag-stripe-openapi-sdk +++ b/.latest-tag-stripe-openapi-sdk @@ -1 +1 @@ -v638 +v645 diff --git a/lib/generated/account.ex b/lib/generated/account.ex index df8e1713..dd9d256e 100644 --- a/lib/generated/account.ex +++ b/lib/generated/account.ex @@ -222,8 +222,13 @@ defmodule Stripe.Account do ) ( - @typedoc "The card_payments capability." - @type card_payments :: %{optional(:requested) => boolean} + @typedoc "Settings specific to card charging on the account." + @type card_payments :: %{ + optional(:decline_on) => decline_on, + optional(:statement_descriptor_prefix) => binary, + optional(:statement_descriptor_prefix_kana) => binary | binary, + optional(:statement_descriptor_prefix_kanji) => binary | binary + } ) ( @@ -602,11 +607,8 @@ defmodule Stripe.Account do ) ( - @typedoc "The individual's verification document information." - @type verification :: %{ - optional(:additional_document) => additional_document, - optional(:document) => document - } + @typedoc "Information on the verification state of the company." + @type verification :: %{optional(:document) => document} ) ( diff --git a/lib/generated/balance_transaction.ex b/lib/generated/balance_transaction.ex index ed8ddeb2..80beb7af 100644 --- a/lib/generated/balance_transaction.ex +++ b/lib/generated/balance_transaction.ex @@ -21,7 +21,7 @@ defmodule Stripe.BalanceTransaction do :type ] - @typedoc "The `balance_transaction` type.\n\n * `amount` Gross amount of this transaction (in cents (or local equivalent)). A positive value represents funds charged to another party, and a negative value represents funds sent to another party.\n * `available_on` The date that the transaction's net funds become available in the Stripe balance.\n * `created` Time at which the object was created. Measured in seconds since the Unix epoch.\n * `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).\n * `description` An arbitrary string attached to the object. Often useful for displaying to users.\n * `exchange_rate` If applicable, this transaction uses an exchange rate. If money converts from currency A to currency B, then the `amount` in currency A, multipled by the `exchange_rate`, equals the `amount` in currency B. For example, if you charge a customer 10.00 EUR, the PaymentIntent's `amount` is `1000` and `currency` is `eur`. If this converts to 12.34 USD in your Stripe account, the BalanceTransaction's `amount` is `1234`, its `currency` is `usd`, and the `exchange_rate` is `1.234`.\n * `fee` Fees (in cents (or local equivalent)) paid for this transaction. Represented as a positive integer when assessed.\n * `fee_details` Detailed breakdown of fees (in cents (or local equivalent)) paid for this transaction.\n * `id` Unique identifier for the object.\n * `net` Net impact to a Stripe balance (in cents (or local equivalent)). A positive value represents incrementing a Stripe balance, and a negative value decrementing a Stripe balance. You can calculate the net impact of a transaction on a balance by `amount` - `fee`\n * `object` String representing the object's type. Objects of the same type share the same value.\n * `reporting_category` Learn more about how [reporting categories](https://stripe.com/docs/reports/reporting-categories) can help you understand balance transactions from an accounting perspective.\n * `source` This transaction relates to the Stripe object.\n * `status` The transaction's net funds status in the Stripe balance, which are either `available` or `pending`.\n * `type` Transaction type: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_inbound`, `obligation_outbound`, `obligation_reversal_inbound`, `obligation_reversal_outbound`, `obligation_payout`, `obligation_payout_failure`, `payment`, `payment_failure_refund`, `payment_refund`, `payment_reversal`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. Learn more about [balance transaction types and what they represent](https://stripe.com/docs/reports/balance-transaction-types). To classify transactions for accounting purposes, consider `reporting_category` instead.\n" + @typedoc "The `balance_transaction` type.\n\n * `amount` Gross amount of this transaction (in cents (or local equivalent)). A positive value represents funds charged to another party, and a negative value represents funds sent to another party.\n * `available_on` The date that the transaction's net funds become available in the Stripe balance.\n * `created` Time at which the object was created. Measured in seconds since the Unix epoch.\n * `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).\n * `description` An arbitrary string attached to the object. Often useful for displaying to users.\n * `exchange_rate` If applicable, this transaction uses an exchange rate. If money converts from currency A to currency B, then the `amount` in currency A, multipled by the `exchange_rate`, equals the `amount` in currency B. For example, if you charge a customer 10.00 EUR, the PaymentIntent's `amount` is `1000` and `currency` is `eur`. If this converts to 12.34 USD in your Stripe account, the BalanceTransaction's `amount` is `1234`, its `currency` is `usd`, and the `exchange_rate` is `1.234`.\n * `fee` Fees (in cents (or local equivalent)) paid for this transaction. Represented as a positive integer when assessed.\n * `fee_details` Detailed breakdown of fees (in cents (or local equivalent)) paid for this transaction.\n * `id` Unique identifier for the object.\n * `net` Net impact to a Stripe balance (in cents (or local equivalent)). A positive value represents incrementing a Stripe balance, and a negative value decrementing a Stripe balance. You can calculate the net impact of a transaction on a balance by `amount` - `fee`\n * `object` String representing the object's type. Objects of the same type share the same value.\n * `reporting_category` Learn more about how [reporting categories](https://stripe.com/docs/reports/reporting-categories) can help you understand balance transactions from an accounting perspective.\n * `source` This transaction relates to the Stripe object.\n * `status` The transaction's net funds status in the Stripe balance, which are either `available` or `pending`.\n * `type` Transaction type: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_inbound`, `obligation_outbound`, `obligation_reversal_inbound`, `obligation_reversal_outbound`, `obligation_payout`, `obligation_payout_failure`, `payment`, `payment_failure_refund`, `payment_refund`, `payment_reversal`, `payment_unreconciled`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. Learn more about [balance transaction types and what they represent](https://stripe.com/docs/reports/balance-transaction-types). To classify transactions for accounting purposes, consider `reporting_category` instead.\n" @type t :: %__MODULE__{ amount: integer, available_on: integer, diff --git a/lib/generated/bank_account.ex b/lib/generated/bank_account.ex index 8cdf379b..37950064 100644 --- a/lib/generated/bank_account.ex +++ b/lib/generated/bank_account.ex @@ -25,7 +25,7 @@ defmodule Stripe.BankAccount do :status ] - @typedoc "The `bank_account` type.\n\n * `account` The ID of the account that the bank account is associated with.\n * `account_holder_name` The name of the person or business that owns the bank account.\n * `account_holder_type` The type of entity that holds the account. This can be either `individual` or `company`.\n * `account_type` The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`.\n * `available_payout_methods` A set of available payout methods for this bank account. Only values from this set should be passed as the `method` when creating a payout.\n * `bank_name` Name of the bank associated with the routing number (e.g., `WELLS FARGO`).\n * `country` Two-letter ISO code representing the country the bank account is located in.\n * `currency` Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account.\n * `customer` The ID of the customer that the bank account is associated with.\n * `default_for_currency` Whether this bank account is the default external account for its currency.\n * `fingerprint` Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.\n * `future_requirements` Information about the [upcoming new requirements for the bank account](https://stripe.com/docs/connect/custom-accounts/future-requirements), including what information needs to be collected, and by when.\n * `id` Unique identifier for the object.\n * `last4` The last four digits of the bank account number.\n * `metadata` Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.\n * `object` String representing the object's type. Objects of the same type share the same value.\n * `requirements` Information about the requirements for the bank account, including what information needs to be collected.\n * `routing_number` The routing transit number for the bank account.\n * `status` For bank accounts, possible values are `new`, `validated`, `verified`, `verification_failed`, or `errored`. A bank account that hasn't had any activity or validation performed is `new`. If Stripe can determine that the bank account exists, its status will be `validated`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be `verified`. If the verification failed for any reason, such as microdeposit failure, the status will be `verification_failed`. If a transfer sent to this bank account fails, we'll set the status to `errored` and will not continue to send transfers until the bank details are updated.\n\nFor external accounts, possible values are `new`, `errored` and `verification_failed`. If a transfer fails, the status is set to `errored` and transfers are stopped until account details are updated. In India, if we can't [verify the owner of the bank account](https://support.stripe.com/questions/bank-account-ownership-verification), we'll set the status to `verification_failed`. Other validations aren't run against external accounts because they're only used for payouts. This means the other statuses don't apply.\n" + @typedoc "The `bank_account` type.\n\n * `account` The ID of the account that the bank account is associated with.\n * `account_holder_name` The name of the person or business that owns the bank account.\n * `account_holder_type` The type of entity that holds the account. This can be either `individual` or `company`.\n * `account_type` The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`.\n * `available_payout_methods` A set of available payout methods for this bank account. Only values from this set should be passed as the `method` when creating a payout.\n * `bank_name` Name of the bank associated with the routing number (e.g., `WELLS FARGO`).\n * `country` Two-letter ISO code representing the country the bank account is located in.\n * `currency` Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account.\n * `customer` The ID of the customer that the bank account is associated with.\n * `default_for_currency` Whether this bank account is the default external account for its currency.\n * `fingerprint` Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.\n * `future_requirements` Information about the [upcoming new requirements for the bank account](https://stripe.com/docs/connect/custom-accounts/future-requirements), including what information needs to be collected, and by when.\n * `id` Unique identifier for the object.\n * `last4` The last four digits of the bank account number.\n * `metadata` Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.\n * `object` String representing the object's type. Objects of the same type share the same value.\n * `requirements` Information about the requirements for the bank account, including what information needs to be collected.\n * `routing_number` The routing transit number for the bank account.\n * `status` For bank accounts, possible values are `new`, `validated`, `verified`, `verification_failed`, or `errored`. A bank account that hasn't had any activity or validation performed is `new`. If Stripe can determine that the bank account exists, its status will be `validated`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be `verified`. If the verification failed for any reason, such as microdeposit failure, the status will be `verification_failed`. If a payout sent to this bank account fails, we'll set the status to `errored` and will not continue to send [scheduled payouts](https://stripe.com/docs/payouts#payout-schedule) until the bank details are updated.\n\nFor external accounts, possible values are `new`, `errored` and `verification_failed`. If a payouts fails, the status is set to `errored` and scheduled payouts are stopped until account details are updated. In India, if we can't [verify the owner of the bank account](https://support.stripe.com/questions/bank-account-ownership-verification), we'll set the status to `verification_failed`. Other validations aren't run against external accounts because they're only used for payouts. This means the other statuses don't apply.\n" @type t :: %__MODULE__{ account: (binary | Stripe.Account.t()) | nil, account_holder_name: binary | nil, diff --git a/lib/generated/card.ex b/lib/generated/card.ex index 20ad4f4a..39d69b32 100644 --- a/lib/generated/card.ex +++ b/lib/generated/card.ex @@ -37,7 +37,7 @@ defmodule Stripe.Card do :tokenization_method ] - @typedoc "The `card` type.\n\n * `account` The account this card belongs to. This attribute will not be in the card object if the card belongs to a customer or recipient instead.\n * `address_city` City/District/Suburb/Town/Village.\n * `address_country` Billing address country, if provided when creating card.\n * `address_line1` Address line 1 (Street address/PO Box/Company name).\n * `address_line1_check` If `address_line1` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.\n * `address_line2` Address line 2 (Apartment/Suite/Unit/Building).\n * `address_state` State/County/Province/Region.\n * `address_zip` ZIP or postal code.\n * `address_zip_check` If `address_zip` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.\n * `available_payout_methods` A set of available payout methods for this card. Only values from this set should be passed as the `method` when creating a payout.\n * `brand` Card brand. Can be `American Express`, `Diners Club`, `Discover`, `Eftpos Australia`, `JCB`, `MasterCard`, `UnionPay`, `Visa`, or `Unknown`.\n * `country` Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.\n * `currency` Three-letter [ISO code for currency](https://stripe.com/docs/payouts). Only applicable on accounts (not customers or recipients). The card can be used as a transfer destination for funds in this currency.\n * `customer` The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead.\n * `cvc_check` If a CVC was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. A result of unchecked indicates that CVC was provided but hasn't been checked yet. Checks are typically performed when attaching a card to a Customer object, or when creating a charge. For more details, see [Check if a card is valid without a charge](https://support.stripe.com/questions/check-if-a-card-is-valid-without-a-charge).\n * `default_for_currency` Whether this card is the default external account for its currency.\n * `description` A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)\n * `dynamic_last4` (For tokenized numbers only.) The last four digits of the device account number.\n * `exp_month` Two-digit number representing the card's expiration month.\n * `exp_year` Four-digit number representing the card's expiration year.\n * `fingerprint` Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*\n * `funding` Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.\n * `id` Unique identifier for the object.\n * `iin` Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)\n * `issuer` The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)\n * `last4` The last four digits of the card.\n * `metadata` Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.\n * `name` Cardholder name.\n * `object` String representing the object's type. Objects of the same type share the same value.\n * `status` For external accounts, possible values are `new` and `errored`. If a transfer fails, the status is set to `errored` and transfers are stopped until account details are updated.\n * `tokenization_method` If the card number is tokenized, this is the method that was used. Can be `android_pay` (includes Google Pay), `apple_pay`, `masterpass`, `visa_checkout`, or null.\n" + @typedoc "The `card` type.\n\n * `account` The account this card belongs to. This attribute will not be in the card object if the card belongs to a customer or recipient instead.\n * `address_city` City/District/Suburb/Town/Village.\n * `address_country` Billing address country, if provided when creating card.\n * `address_line1` Address line 1 (Street address/PO Box/Company name).\n * `address_line1_check` If `address_line1` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.\n * `address_line2` Address line 2 (Apartment/Suite/Unit/Building).\n * `address_state` State/County/Province/Region.\n * `address_zip` ZIP or postal code.\n * `address_zip_check` If `address_zip` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.\n * `available_payout_methods` A set of available payout methods for this card. Only values from this set should be passed as the `method` when creating a payout.\n * `brand` Card brand. Can be `American Express`, `Diners Club`, `Discover`, `Eftpos Australia`, `JCB`, `MasterCard`, `UnionPay`, `Visa`, or `Unknown`.\n * `country` Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.\n * `currency` Three-letter [ISO code for currency](https://stripe.com/docs/payouts). Only applicable on accounts (not customers or recipients). The card can be used as a transfer destination for funds in this currency.\n * `customer` The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead.\n * `cvc_check` If a CVC was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. A result of unchecked indicates that CVC was provided but hasn't been checked yet. Checks are typically performed when attaching a card to a Customer object, or when creating a charge. For more details, see [Check if a card is valid without a charge](https://support.stripe.com/questions/check-if-a-card-is-valid-without-a-charge).\n * `default_for_currency` Whether this card is the default external account for its currency.\n * `description` A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)\n * `dynamic_last4` (For tokenized numbers only.) The last four digits of the device account number.\n * `exp_month` Two-digit number representing the card's expiration month.\n * `exp_year` Four-digit number representing the card's expiration year.\n * `fingerprint` Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*\n * `funding` Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.\n * `id` Unique identifier for the object.\n * `iin` Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)\n * `issuer` The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)\n * `last4` The last four digits of the card.\n * `metadata` Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.\n * `name` Cardholder name.\n * `object` String representing the object's type. Objects of the same type share the same value.\n * `status` For external accounts that are cards, possible values are `new` and `errored`. If a payout fails, the status is set to `errored` and [scheduled payouts](https://stripe.com/docs/payouts#payout-schedule) are stopped until account details are updated.\n * `tokenization_method` If the card number is tokenized, this is the method that was used. Can be `android_pay` (includes Google Pay), `apple_pay`, `masterpass`, `visa_checkout`, or null.\n" @type t :: %__MODULE__{ account: (binary | Stripe.Account.t()) | nil, address_city: binary | nil, diff --git a/lib/generated/checkout__session.ex b/lib/generated/checkout__session.ex index 265482e7..081a72eb 100644 --- a/lib/generated/checkout__session.ex +++ b/lib/generated/checkout__session.ex @@ -238,7 +238,15 @@ defmodule Stripe.Checkout.Session do ( @typedoc nil - @type custom_fields :: %{optional(:name) => binary, optional(:value) => binary} + @type custom_fields :: %{ + optional(:dropdown) => dropdown, + optional(:key) => binary, + optional(:label) => label, + optional(:numeric) => numeric, + optional(:optional) => boolean, + optional(:text) => text, + optional(:type) => :dropdown | :numeric | :text + } ) ( @@ -948,8 +956,11 @@ defmodule Stripe.Checkout.Session do ) ( - @typedoc "The parameters used to automatically create a Transfer when the payment succeeds.\nFor more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts)." - @type transfer_data :: %{optional(:amount) => integer, optional(:destination) => binary} + @typedoc "If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges." + @type transfer_data :: %{ + optional(:amount_percent) => number, + optional(:destination) => binary + } ) ( diff --git a/lib/generated/exchange_rate.ex b/lib/generated/exchange_rate.ex index 67e200fe..9b2529ce 100644 --- a/lib/generated/exchange_rate.ex +++ b/lib/generated/exchange_rate.ex @@ -1,7 +1,7 @@ defmodule Stripe.ExchangeRate do use Stripe.Entity - @moduledoc "`Exchange Rate` objects allow you to determine the rates that Stripe is\ncurrently using to convert from one currency to another. Since this number is\nvariable throughout the day, there are various reasons why you might want to\nknow the current rate (for example, to dynamically price an item for a user\nwith a default payment in a foreign currency).\n\nIf you want a guarantee that the charge is made with a certain exchange rate\nyou expect is current, you can pass in `exchange_rate` to charges endpoints.\nIf the value is no longer up to date, the charge won't go through. Please\nrefer to our [Exchange Rates API](https://stripe.com/docs/exchange-rates) guide for more\ndetails." + @moduledoc "`ExchangeRate` objects allow you to determine the rates that Stripe is currently\nusing to convert from one currency to another. Since this number is variable\nthroughout the day, there are various reasons why you might want to know the current\nrate (for example, to dynamically price an item for a user with a default\npayment in a foreign currency).\n\nPlease refer to our [Exchange Rates API](https://stripe.com/docs/fx-rates) guide for more details.\n\n*[Note: this integration path is supported but no longer recommended]* Additionally,\nyou can guarantee that a charge is made with an exchange rate that you expect is\ncurrent. To do so, you must pass in the exchange_rate to charges endpoints. If the\nvalue is no longer up to date, the charge won't go through. Please refer to our\n[Using with charges](https://stripe.com/docs/exchange-rates) guide for more details.\n\n-----\n\n \n\n*This Exchange Rates API is a Beta Service and is subject to Stripe's terms of service. You may use the API solely for the purpose of transacting on Stripe. For example, the API may be queried in order to:*\n\n- *localize prices for processing payments on Stripe*\n- *reconcile Stripe transactions*\n- *determine how much money to send to a connected account*\n- *determine app fees to charge a connected account*\n\n*Using this Exchange Rates API beta for any purpose other than to transact on Stripe is strictly prohibited and constitutes a violation of Stripe's terms of service.*" ( defstruct [:id, :object, :rates] diff --git a/lib/generated/issuing__authorization.ex b/lib/generated/issuing__authorization.ex index 7941e72a..408ddb5d 100644 --- a/lib/generated/issuing__authorization.ex +++ b/lib/generated/issuing__authorization.ex @@ -69,6 +69,14 @@ defmodule Stripe.Issuing.Authorization do } ) + ( + @typedoc "The exemption applied to this authorization." + @type authentication_exemption :: %{ + optional(:claimed_by) => :acquirer | :issuer, + optional(:type) => :low_value_transaction | :transaction_risk_analysis + } + ) + ( @typedoc nil @type created :: %{ @@ -410,7 +418,8 @@ defmodule Stripe.Issuing.Authorization do optional(:network_id) => binary, optional(:postal_code) => binary, optional(:state) => binary, - optional(:terminal_id) => binary + optional(:terminal_id) => binary, + optional(:url) => binary } ) @@ -452,13 +461,22 @@ defmodule Stripe.Issuing.Authorization do } ) + ( + @typedoc "3D Secure details." + @type three_d_secure :: %{ + optional(:result) => :attempt_acknowledged | :authenticated | :failed | :required + } + ) + ( @typedoc "Verifications that Stripe performed on information that the cardholder provided to the merchant." @type verification_data :: %{ optional(:address_line1_check) => :match | :mismatch | :not_provided, optional(:address_postal_code_check) => :match | :mismatch | :not_provided, + optional(:authentication_exemption) => authentication_exemption, optional(:cvc_check) => :match | :mismatch | :not_provided, - optional(:expiry_check) => :match | :mismatch | :not_provided + optional(:expiry_check) => :match | :mismatch | :not_provided, + optional(:three_d_secure) => three_d_secure } ) diff --git a/lib/generated/issuing__transaction.ex b/lib/generated/issuing__transaction.ex index 0ab97275..677226b0 100644 --- a/lib/generated/issuing__transaction.ex +++ b/lib/generated/issuing__transaction.ex @@ -394,7 +394,8 @@ defmodule Stripe.Issuing.Transaction do optional(:network_id) => binary, optional(:postal_code) => binary, optional(:state) => binary, - optional(:terminal_id) => binary + optional(:terminal_id) => binary, + optional(:url) => binary } ) diff --git a/lib/generated/payment_intent.ex b/lib/generated/payment_intent.ex index b247dcd8..25abee64 100644 --- a/lib/generated/payment_intent.ex +++ b/lib/generated/payment_intent.ex @@ -92,11 +92,11 @@ defmodule Stripe.PaymentIntent do ) ( - @typedoc "If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method." + @typedoc nil @type acss_debit :: %{ - optional(:account_number) => binary, - optional(:institution_number) => binary, - optional(:transit_number) => binary + optional(:mandate_options) => mandate_options, + optional(:setup_future_usage) => :none | :off_session | :on_session, + optional(:verification_method) => :automatic | :instant | :microdeposits } ) @@ -149,8 +149,8 @@ defmodule Stripe.PaymentIntent do ) ( - @typedoc nil - @type bacs_debit :: %{optional(:setup_future_usage) => :none | :off_session | :on_session} + @typedoc "If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account." + @type bacs_debit :: %{optional(:account_number) => binary, optional(:sort_code) => binary} ) ( @@ -335,8 +335,33 @@ defmodule Stripe.PaymentIntent do ) ( - @typedoc nil - @type fpx :: %{optional(:setup_future_usage) => :none} + @typedoc "If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method." + @type fpx :: %{ + optional(:account_holder_type) => :company | :individual, + optional(:bank) => + :affin_bank + | :agrobank + | :alliance_bank + | :ambank + | :bank_islam + | :bank_muamalat + | :bank_of_china + | :bank_rakyat + | :bsn + | :cimb + | :deutsche_bank + | :hong_leong_bank + | :hsbc + | :kfh + | :maybank2e + | :maybank2u + | :ocbc + | :pb_enterprise + | :public_bank + | :rhb + | :standard_chartered + | :uob + } ) ( @@ -407,12 +432,17 @@ defmodule Stripe.PaymentIntent do ) ( - @typedoc "Additional fields for Mandate creation" + @typedoc "Configuration options for setting up an eMandate for cards issued in India." @type mandate_options :: %{ - optional(:custom_mandate_url) => binary | binary, - optional(:interval_description) => binary, - optional(:payment_schedule) => :combined | :interval | :sporadic, - optional(:transaction_type) => :business | :personal + optional(:amount) => integer, + optional(:amount_type) => :fixed | :maximum, + optional(:description) => binary, + optional(:end_date) => integer, + optional(:interval) => :day | :month | :sporadic | :week | :year, + optional(:interval_count) => integer, + optional(:reference) => binary, + optional(:start_date) => integer, + optional(:supported_types) => list(:india) } ) @@ -435,34 +465,10 @@ defmodule Stripe.PaymentIntent do ) ( - @typedoc "If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method." + @typedoc nil @type p24 :: %{ - optional(:bank) => - :alior_bank - | :bank_millennium - | :bank_nowy_bfg_sa - | :bank_pekao_sa - | :banki_spbdzielcze - | :blik - | :bnp_paribas - | :boz - | :citi_handlowy - | :credit_agricole - | :envelobank - | :etransfer_pocztowy24 - | :getin_bank - | :ideabank - | :ing - | :inteligo - | :mbank_mtransfer - | :nest_przelew - | :noble_pay - | :pbac_z_ipko - | :plus_bank - | :santander_przelew24 - | :tmobile_usbugi_bankowe - | :toyota_bank - | :volkswagen_bank + optional(:setup_future_usage) => :none, + optional(:tos_shown_and_accepted) => boolean } ) diff --git a/lib/generated/reporting__report_run.ex b/lib/generated/reporting__report_run.ex index 334d6960..6ccb1146 100644 --- a/lib/generated/reporting__report_run.ex +++ b/lib/generated/reporting__report_run.ex @@ -85,7 +85,8 @@ defmodule Stripe.Reporting.ReportRun do | :topup | :topup_reversal | :transfer - | :transfer_reversal, + | :transfer_reversal + | :unreconciled_customer_funds, optional(:timezone) => :"Africa/Abidjan" | :"Africa/Accra" diff --git a/lib/generated/setup_intent.ex b/lib/generated/setup_intent.ex index e8a6fe24..f93383ab 100644 --- a/lib/generated/setup_intent.ex +++ b/lib/generated/setup_intent.ex @@ -62,11 +62,11 @@ defmodule Stripe.SetupIntent do ) ( - @typedoc "If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method." + @typedoc "If this is a `acss_debit` SetupIntent, this sub-hash contains details about the ACSS Debit payment method options." @type acss_debit :: %{ - optional(:account_number) => binary, - optional(:institution_number) => binary, - optional(:transit_number) => binary + optional(:currency) => :cad | :usd, + optional(:mandate_options) => mandate_options, + optional(:verification_method) => :automatic | :instant | :microdeposits } ) @@ -278,13 +278,18 @@ defmodule Stripe.SetupIntent do ) ( - @typedoc "Additional fields for Mandate creation" + @typedoc "Configuration options for setting up an eMandate for cards issued in India." @type mandate_options :: %{ - optional(:custom_mandate_url) => binary | binary, - optional(:default_for) => list(:invoice | :subscription), - optional(:interval_description) => binary, - optional(:payment_schedule) => :combined | :interval | :sporadic, - optional(:transaction_type) => :business | :personal + optional(:amount) => integer, + optional(:amount_type) => :fixed | :maximum, + optional(:currency) => binary, + optional(:description) => binary, + optional(:end_date) => integer, + optional(:interval) => :day | :month | :sporadic | :week | :year, + optional(:interval_count) => integer, + optional(:reference) => binary, + optional(:start_date) => integer, + optional(:supported_types) => list(:india) } ) @@ -441,13 +446,11 @@ defmodule Stripe.SetupIntent do ) ( - @typedoc "If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method." + @typedoc "If this is a `us_bank_account` SetupIntent, this sub-hash contains details about the US bank account payment method options." @type us_bank_account :: %{ - optional(:account_holder_type) => :company | :individual, - optional(:account_number) => binary, - optional(:account_type) => :checking | :savings, - optional(:financial_connections_account) => binary, - optional(:routing_number) => binary + optional(:financial_connections) => financial_connections, + optional(:networks) => networks, + optional(:verification_method) => :automatic | :instant | :microdeposits } ) diff --git a/lib/generated/token.ex b/lib/generated/token.ex index 47c24173..9c926f4d 100644 --- a/lib/generated/token.ex +++ b/lib/generated/token.ex @@ -51,7 +51,7 @@ defmodule Stripe.Token do ) ( - @typedoc "The Kana variation of the person's address (Japan only)." + @typedoc "The Kana variation of the the individual's primary address (Japan only)." @type address_kana :: %{ optional(:city) => binary, optional(:country) => binary, @@ -293,7 +293,7 @@ defmodule Stripe.Token do ) ( - @typedoc "The individual's verification document information." + @typedoc "The person's verification status." @type verification :: %{ optional(:additional_document) => additional_document, optional(:document) => document diff --git a/priv/openapi/spec3.sdk.json b/priv/openapi/spec3.sdk.json index 4b91aa3f..4526a395 100644 --- a/priv/openapi/spec3.sdk.json +++ b/priv/openapi/spec3.sdk.json @@ -3003,7 +3003,7 @@ "type": "string" }, "type": { - "description": "Transaction type: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_inbound`, `obligation_outbound`, `obligation_reversal_inbound`, `obligation_reversal_outbound`, `obligation_payout`, `obligation_payout_failure`, `payment`, `payment_failure_refund`, `payment_refund`, `payment_reversal`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. Learn more about [balance transaction types and what they represent](https://stripe.com/docs/reports/balance-transaction-types). To classify transactions for accounting purposes, consider `reporting_category` instead.", + "description": "Transaction type: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_inbound`, `obligation_outbound`, `obligation_reversal_inbound`, `obligation_reversal_outbound`, `obligation_payout`, `obligation_payout_failure`, `payment`, `payment_failure_refund`, `payment_refund`, `payment_reversal`, `payment_unreconciled`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. Learn more about [balance transaction types and what they represent](https://stripe.com/docs/reports/balance-transaction-types). To classify transactions for accounting purposes, consider `reporting_category` instead.", "enum": [ "adjustment", "advance", @@ -3028,6 +3028,7 @@ "payment_failure_refund", "payment_refund", "payment_reversal", + "payment_unreconciled", "payout", "payout_cancel", "payout_failure", @@ -3310,7 +3311,7 @@ "type": "string" }, "status": { - "description": "For bank accounts, possible values are `new`, `validated`, `verified`, `verification_failed`, or `errored`. A bank account that hasn't had any activity or validation performed is `new`. If Stripe can determine that the bank account exists, its status will be `validated`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be `verified`. If the verification failed for any reason, such as microdeposit failure, the status will be `verification_failed`. If a transfer sent to this bank account fails, we'll set the status to `errored` and will not continue to send transfers until the bank details are updated.\n\nFor external accounts, possible values are `new`, `errored` and `verification_failed`. If a transfer fails, the status is set to `errored` and transfers are stopped until account details are updated. In India, if we can't [verify the owner of the bank account](https://support.stripe.com/questions/bank-account-ownership-verification), we'll set the status to `verification_failed`. Other validations aren't run against external accounts because they're only used for payouts. This means the other statuses don't apply.", + "description": "For bank accounts, possible values are `new`, `validated`, `verified`, `verification_failed`, or `errored`. A bank account that hasn't had any activity or validation performed is `new`. If Stripe can determine that the bank account exists, its status will be `validated`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be `verified`. If the verification failed for any reason, such as microdeposit failure, the status will be `verification_failed`. If a payout sent to this bank account fails, we'll set the status to `errored` and will not continue to send [scheduled payouts](https://stripe.com/docs/payouts#payout-schedule) until the bank details are updated.\n\nFor external accounts, possible values are `new`, `errored` and `verification_failed`. If a payouts fails, the status is set to `errored` and scheduled payouts are stopped until account details are updated. In India, if we can't [verify the owner of the bank account](https://support.stripe.com/questions/bank-account-ownership-verification), we'll set the status to `verification_failed`. Other validations aren't run against external accounts because they're only used for payouts. This means the other statuses don't apply.", "maxLength": 5000, "type": "string" } @@ -4426,7 +4427,7 @@ "type": "string" }, "status": { - "description": "For external accounts, possible values are `new` and `errored`. If a transfer fails, the status is set to `errored` and transfers are stopped until account details are updated.", + "description": "For external accounts that are cards, possible values are `new` and `errored`. If a payout fails, the status is set to `errored` and [scheduled payouts](https://stripe.com/docs/payouts#payout-schedule) are stopped until account details are updated.", "maxLength": 5000, "nullable": true, "type": "string" @@ -9941,6 +9942,7 @@ "refunded_from_payment", "return_canceled", "return_initiated", + "transferred_to_balance", "unapplied_from_payment" ], "type": "string" @@ -12321,7 +12323,7 @@ } }, "exchange_rate": { - "description": "`Exchange Rate` objects allow you to determine the rates that Stripe is\ncurrently using to convert from one currency to another. Since this number is\nvariable throughout the day, there are various reasons why you might want to\nknow the current rate (for example, to dynamically price an item for a user\nwith a default payment in a foreign currency).\n\nIf you want a guarantee that the charge is made with a certain exchange rate\nyou expect is current, you can pass in `exchange_rate` to charges endpoints.\nIf the value is no longer up to date, the charge won't go through. Please\nrefer to our [Exchange Rates API](https://stripe.com/docs/exchange-rates) guide for more\ndetails.", + "description": "`ExchangeRate` objects allow you to determine the rates that Stripe is currently\nusing to convert from one currency to another. Since this number is variable\nthroughout the day, there are various reasons why you might want to know the current\nrate (for example, to dynamically price an item for a user with a default\npayment in a foreign currency).\n\nPlease refer to our [Exchange Rates API](https://stripe.com/docs/fx-rates) guide for more details.\n\n*[Note: this integration path is supported but no longer recommended]* Additionally,\nyou can guarantee that a charge is made with an exchange rate that you expect is\ncurrent. To do so, you must pass in the exchange_rate to charges endpoints. If the\nvalue is no longer up to date, the charge won't go through. Please refer to our\n[Using with charges](https://stripe.com/docs/exchange-rates) guide for more details.\n\n-----\n\n \n\n*This Exchange Rates API is a Beta Service and is subject to Stripe's terms of service. You may use the API solely for the purpose of transacting on Stripe. For example, the API may be queried in order to:*\n\n- *localize prices for processing payments on Stripe*\n- *reconcile Stripe transactions*\n- *determine how much money to send to a connected account*\n- *determine app fees to charge a connected account*\n\n*Using this Exchange Rates API beta for any purpose other than to transact on Stripe is strictly prohibited and constitutes a violation of Stripe's terms of service.*", "properties": { "id": { "description": "Unique identifier for the object. Represented as the three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) in lowercase.", @@ -19435,6 +19437,39 @@ "in_package": "" } }, + "issuing_authorization_authentication_exemption": { + "description": "", + "properties": { + "claimed_by": { + "description": "The entity that requested the exemption, either the acquiring merchant or the Issuing user.", + "enum": [ + "acquirer", + "issuer" + ], + "type": "string" + }, + "type": { + "description": "The specific exemption claimed for this authorization.", + "enum": [ + "low_value_transaction", + "transaction_risk_analysis" + ], + "type": "string", + "x-stripeBypassValidation": true + } + }, + "required": [ + "claimed_by", + "type" + ], + "title": "IssuingAuthorizationAuthenticationExemption", + "type": "object", + "x-expandableFields": [], + "x-stripeResource": { + "class_name": "AuthenticationExemption", + "in_package": "" + } + }, "issuing_authorization_merchant_data": { "description": "", "properties": { @@ -19488,6 +19523,12 @@ "maxLength": 5000, "nullable": true, "type": "string" + }, + "url": { + "description": "URL provided by the merchant on a 3DS request", + "maxLength": 5000, + "nullable": true, + "type": "string" } }, "required": [ @@ -19499,7 +19540,8 @@ "network_id", "postal_code", "state", - "terminal_id" + "terminal_id", + "url" ], "title": "IssuingAuthorizationMerchantData", "type": "object", @@ -19676,6 +19718,32 @@ "in_package": "" } }, + "issuing_authorization_three_d_secure": { + "description": "", + "properties": { + "result": { + "description": "The outcome of the 3D Secure authentication request.", + "enum": [ + "attempt_acknowledged", + "authenticated", + "failed", + "required" + ], + "type": "string", + "x-stripeBypassValidation": true + } + }, + "required": [ + "result" + ], + "title": "IssuingAuthorizationThreeDSecure", + "type": "object", + "x-expandableFields": [], + "x-stripeResource": { + "class_name": "ThreeDSecure", + "in_package": "" + } + }, "issuing_authorization_treasury": { "description": "", "properties": { @@ -19736,6 +19804,15 @@ ], "type": "string" }, + "authentication_exemption": { + "anyOf": [ + { + "$ref": "#/components/schemas/issuing_authorization_authentication_exemption" + } + ], + "description": "The exemption applied to this authorization.", + "nullable": true + }, "cvc_check": { "description": "Whether the cardholder provided a CVC and if it matched Stripe’s record.", "enum": [ @@ -19759,18 +19836,32 @@ "maxLength": 5000, "nullable": true, "type": "string" + }, + "three_d_secure": { + "anyOf": [ + { + "$ref": "#/components/schemas/issuing_authorization_three_d_secure" + } + ], + "description": "3D Secure details.", + "nullable": true } }, "required": [ "address_line1_check", "address_postal_code_check", + "authentication_exemption", "cvc_check", "expiry_check", - "postal_code" + "postal_code", + "three_d_secure" ], "title": "IssuingAuthorizationVerificationData", "type": "object", - "x-expandableFields": [], + "x-expandableFields": [ + "authentication_exemption", + "three_d_secure" + ], "x-stripeResource": { "class_name": "VerificationData", "in_package": "" @@ -65336,7 +65427,7 @@ "style": "form" }, { - "description": "Only returns transactions of the given type. One of: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_inbound`, `obligation_outbound`, `obligation_reversal_inbound`, `obligation_reversal_outbound`, `obligation_payout`, `obligation_payout_failure`, `payment`, `payment_failure_refund`, `payment_refund`, `payment_reversal`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`.", + "description": "Only returns transactions of the given type. One of: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_inbound`, `obligation_outbound`, `obligation_reversal_inbound`, `obligation_reversal_outbound`, `obligation_payout`, `obligation_payout_failure`, `payment`, `payment_failure_refund`, `payment_refund`, `payment_reversal`, `payment_unreconciled`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`.", "in": "query", "name": "type", "required": false, @@ -68576,7 +68667,7 @@ "type": "object" }, "customer": { - "description": "ID of an existing Customer, if one exists. In `payment` mode, the customer’s most recent card\npayment method will be used to prefill the email, name, card details, and billing address\non the Checkout page. In `subscription` mode, the customer’s [default payment method](https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method)\nwill be used if it’s a card, and otherwise the most recent card will be used. A valid billing address, billing name and billing email are required on the payment method for Checkout to prefill the customer's card details.\n\nIf the Customer already has a valid [email](https://stripe.com/docs/api/customers/object#customer_object-email) set, the email will be prefilled and not editable in Checkout.\nIf the Customer does not have a valid `email`, Checkout will set the email entered during the session on the Customer.\n\nIf blank for Checkout Sessions in `subscription` mode or with `customer_creation` set as `always` in `payment` mode, Checkout will create a new Customer object based on information provided during the payment flow.\n\nYou can set [`payment_intent_data.setup_future_usage`](https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_intent_data-setup_future_usage) to have Checkout automatically attach the payment method to the Customer you pass in for future reuse.", + "description": "ID of an existing Customer, if one exists. In `payment` mode, the customer’s most recently saved card\npayment method will be used to prefill the email, name, card details, and billing address\non the Checkout page. In `subscription` mode, the customer’s [default payment method](https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method)\nwill be used if it’s a card, otherwise the most recently saved card will be used. A valid billing address, billing name and billing email are required on the payment method for Checkout to prefill the customer's card details.\n\nIf the Customer already has a valid [email](https://stripe.com/docs/api/customers/object#customer_object-email) set, the email will be prefilled and not editable in Checkout.\nIf the Customer does not have a valid `email`, Checkout will set the email entered during the session on the Customer.\n\nIf blank for Checkout Sessions in `subscription` mode or with `customer_creation` set as `always` in `payment` mode, Checkout will create a new Customer object based on information provided during the payment flow.\n\nYou can set [`payment_intent_data.setup_future_usage`](https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_intent_data-setup_future_usage) to have Checkout automatically attach the payment method to the Customer you pass in for future reuse.", "maxLength": 5000, "type": "string" }, @@ -117173,7 +117264,8 @@ "topup", "topup_reversal", "transfer", - "transfer_reversal" + "transfer_reversal", + "unreconciled_customer_funds" ], "maxLength": 5000, "type": "string", @@ -137061,6 +137153,11 @@ "description": "An ID assigned by the seller to the location of the sale.", "maxLength": 5000, "type": "string" + }, + "url": { + "description": "URL provided by the merchant on a 3DS request", + "maxLength": 5000, + "type": "string" } }, "title": "merchant_data_specs", @@ -137099,6 +137196,34 @@ ], "type": "string" }, + "authentication_exemption": { + "description": "The exemption applied to this authorization.", + "properties": { + "claimed_by": { + "description": "The entity that requested the exemption, either the acquiring merchant or the Issuing user.", + "enum": [ + "acquirer", + "issuer" + ], + "type": "string" + }, + "type": { + "description": "The specific exemption claimed for this authorization.", + "enum": [ + "low_value_transaction", + "transaction_risk_analysis" + ], + "type": "string", + "x-stripeBypassValidation": true + } + }, + "required": [ + "claimed_by", + "type" + ], + "title": "authentication_exemption_specs", + "type": "object" + }, "cvc_check": { "description": "Whether the cardholder provided a CVC and if it matched Stripe’s record.", "enum": [ @@ -137116,6 +137241,27 @@ "not_provided" ], "type": "string" + }, + "three_d_secure": { + "description": "3D Secure details.", + "properties": { + "result": { + "description": "The outcome of the 3D Secure authentication request.", + "enum": [ + "attempt_acknowledged", + "authenticated", + "failed", + "required" + ], + "type": "string", + "x-stripeBypassValidation": true + } + }, + "required": [ + "result" + ], + "title": "three_d_secure_specs", + "type": "object" } }, "title": "verification_data_specs", @@ -138266,6 +138412,11 @@ "description": "An ID assigned by the seller to the location of the sale.", "maxLength": 5000, "type": "string" + }, + "url": { + "description": "URL provided by the merchant on a 3DS request", + "maxLength": 5000, + "type": "string" } }, "title": "merchant_data_specs", @@ -138844,6 +138995,11 @@ "description": "An ID assigned by the seller to the location of the sale.", "maxLength": 5000, "type": "string" + }, + "url": { + "description": "URL provided by the merchant on a 3DS request", + "maxLength": 5000, + "type": "string" } }, "title": "merchant_data_specs",