diff --git a/API_VERSION b/API_VERSION
index cbfd144ed1..24e270edd2 100644
--- a/API_VERSION
+++ b/API_VERSION
@@ -1 +1 @@
-c5d9f47b11fbac901125e0621faadddc6ac6eb1e
\ No newline at end of file
+c0dacb8d26f5b7c5d68ef88b3f51d40c1eafeab7
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7a20af5480..d3d251b7bf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
# Changelog
+## 49.2.0 - 2025-11-05
+* [#3244](https://github.com/stripe/stripe-dotnet/pull/3244) Update generated code
+ * Add support for `CaptureMethod` on `PaymentIntent.PaymentMethodOptions.CardPresent` and `PaymentIntentPaymentMethodOptionsCardPresentOptions`
+
## 49.2.0-beta.1 - 2025-10-29
This release changes the pinned API version to `2025-10-29.preview`.
@@ -23,6 +27,9 @@ This release changes the pinned API version to `2025-10-29.preview`.
* Remove support for thin event `V2BillingBillSettingUpdatedEvent` with related object `V2.Billing.BillSetting`
## 49.1.0 - 2025-10-29
+
+This release changes the pinned API version to `2025-10-29.clover`.
+
* [#3236](https://github.com/stripe/stripe-dotnet/pull/3236) Update generated code
* Improve docs for PaymentIntent related endpoints
* [#3230](https://github.com/stripe/stripe-dotnet/pull/3230) Update generated code
diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION
index 76d911f49f..ea1ecdee17 100644
--- a/OPENAPI_VERSION
+++ b/OPENAPI_VERSION
@@ -1 +1 @@
-v2104
\ No newline at end of file
+v2124
\ No newline at end of file
diff --git a/README.md b/README.md
index c5f50620b9..4666e9314c 100644
--- a/README.md
+++ b/README.md
@@ -357,6 +357,8 @@ StripeConfiguration.AddBetaVersion("feature_beta", "v3");
```
### Private Preview SDKs
+> This feature is only available from version 46 of this SDK.
+
Stripe has features in the [private preview phase](https://docs.stripe.com/release-phases) that can be accessed via versions of this package that have the `-alpha.X` suffix like `45.2.0-alpha.2`. These are invite-only features. Once invited, you can install the private preview SDKs by following the same instructions as for the [public preview SDKs](https://github.com/stripe/stripe-dotnet?tab=readme-ov-file#public-preview-sdks) above and replacing the term `beta` with `alpha`.
### Custom requests
diff --git a/src/Stripe.net/Constants/ApiVersion.cs b/src/Stripe.net/Constants/ApiVersion.cs
index 962168f785..580814e02a 100644
--- a/src/Stripe.net/Constants/ApiVersion.cs
+++ b/src/Stripe.net/Constants/ApiVersion.cs
@@ -3,6 +3,6 @@ namespace Stripe
{
internal class ApiVersion
{
- public const string Current = "2025-10-29.preview";
+ public const string Current = "2025-11-17.preview";
}
}
\ No newline at end of file
diff --git a/src/Stripe.net/Constants/EventTypes.cs b/src/Stripe.net/Constants/EventTypes.cs
index ae9eee7f40..b1760477a6 100644
--- a/src/Stripe.net/Constants/EventTypes.cs
+++ b/src/Stripe.net/Constants/EventTypes.cs
@@ -505,6 +505,11 @@ public static class EventTypes
///
public const string FileCreated = "file.created";
+ ///
+ /// Occurs when a Financial Connections account's account numbers are updated.
+ ///
+ public const string FinancialConnectionsAccountAccountNumbersUpdated = "financial_connections.account.account_numbers_updated";
+
///
/// Occurs when a new Financial Connections account is created.
///
@@ -551,6 +556,11 @@ public static class EventTypes
///
public const string FinancialConnectionsAccountRefreshedTransactions = "financial_connections.account.refreshed_transactions";
+ ///
+ /// Occurs when an Account’s tokenized account number is about to expire.
+ ///
+ public const string FinancialConnectionsAccountUpcomingAccountNumberExpiry = "financial_connections.account.upcoming_account_number_expiry";
+
///
/// Occurs when a Financial Connections Session status transitions from
/// pending to failed, cancelled, or completed.
diff --git a/src/Stripe.net/Entities/Accounts/AccountBusinessProfile.cs b/src/Stripe.net/Entities/Accounts/AccountBusinessProfile.cs
index ad1ed3e43e..9c87f69318 100644
--- a/src/Stripe.net/Entities/Accounts/AccountBusinessProfile.cs
+++ b/src/Stripe.net/Entities/Accounts/AccountBusinessProfile.cs
@@ -75,6 +75,16 @@ public class AccountBusinessProfile : StripeEntity
#endif
public string ProductDescription { get; set; }
+ ///
+ /// A link to the business's publicly available terms related to the Specified Commercial
+ /// Transaction Act. Only used for accounts in Japan.
+ ///
+ [JsonProperty("specified_commercial_transactions_act_url")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("specified_commercial_transactions_act_url")]
+#endif
+ public string SpecifiedCommercialTransactionsActUrl { get; set; }
+
///
/// A publicly available mailing address for sending support issues to.
///
diff --git a/src/Stripe.net/Entities/Accounts/AccountSettings.cs b/src/Stripe.net/Entities/Accounts/AccountSettings.cs
index fc80c69541..70b0782dbf 100644
--- a/src/Stripe.net/Entities/Accounts/AccountSettings.cs
+++ b/src/Stripe.net/Entities/Accounts/AccountSettings.cs
@@ -68,6 +68,12 @@ public class AccountSettings : StripeEntity
#endif
public AccountSettingsPayouts Payouts { get; set; }
+ [JsonProperty("paypay_payments")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("paypay_payments")]
+#endif
+ public AccountSettingsPaypayPayments PaypayPayments { get; set; }
+
[JsonProperty("sepa_debit_payments")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("sepa_debit_payments")]
diff --git a/src/Stripe.net/Entities/Accounts/AccountSettingsInvoices.cs b/src/Stripe.net/Entities/Accounts/AccountSettingsInvoices.cs
index da4456b976..cf3253c20a 100644
--- a/src/Stripe.net/Entities/Accounts/AccountSettingsInvoices.cs
+++ b/src/Stripe.net/Entities/Accounts/AccountSettingsInvoices.cs
@@ -56,8 +56,9 @@ public List DefaultAccountTaxIds
#endregion
///
- /// Whether payment methods should be saved when a payment is completed for a one-time
- /// invoices on a hosted invoice page.
+ /// Whether to save the payment method after a payment is completed for a one-time invoice
+ /// or a subscription invoice when the customer already has a default payment method on the
+ /// hosted invoice page.
/// One of: always, never, or offer.
///
[JsonProperty("hosted_payment_method_save")]
diff --git a/src/Stripe.net/Entities/Accounts/AccountSettingsPaypayPayments.cs b/src/Stripe.net/Entities/Accounts/AccountSettingsPaypayPayments.cs
new file mode 100644
index 0000000000..d7d125b547
--- /dev/null
+++ b/src/Stripe.net/Entities/Accounts/AccountSettingsPaypayPayments.cs
@@ -0,0 +1,21 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountSettingsPaypayPayments : StripeEntity
+ {
+ ///
+ /// Whether your business sells digital content or not.
+ /// One of: digital_content, or other.
+ ///
+ [JsonProperty("goods_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("goods_type")]
+#endif
+ public string GoodsType { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/BankAccounts/BankAccount.cs b/src/Stripe.net/Entities/BankAccounts/BankAccount.cs
index e96dff8d61..27bb0dec24 100644
--- a/src/Stripe.net/Entities/BankAccounts/BankAccount.cs
+++ b/src/Stripe.net/Entities/BankAccounts/BankAccount.cs
@@ -283,21 +283,25 @@ public Customer Customer
///
/// 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 until the
- /// bank details are updated.
+ /// verification_failed, tokenized_account_number_deactivated 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 the status is
+ /// tokenized_account_number_deactivated, the account utilizes a tokenized account
+ /// number which has been deactivated due to expiration or revocation. This account will
+ /// need to be reverified to continue using it for money movement. If a payout sent to this
+ /// bank account fails, we'll set the status to errored and will not continue to send
+ /// scheduled payouts until
+ /// the bank details are updated.
///
- /// For external accounts, possible values are new, errored and
- /// verification_failed. If a payout fails, the status is set to errored and
- /// scheduled payouts are stopped until account details are updated. In the US and India, if
- /// we can't new, errored,
+ /// verification_failed, and tokenized_account_number_deactivated. If a payout
+ /// fails, the status is set to errored and scheduled payouts are stopped until
+ /// account details are updated. In the US and India, if we can't verify
/// the owner of the bank account, we'll set the status to verification_failed.
/// Other validations aren't run against external accounts because they're only used for
diff --git a/src/Stripe.net/Entities/BillingPortal/Configurations/ConfigurationFeaturesPaymentMethodUpdate.cs b/src/Stripe.net/Entities/BillingPortal/Configurations/ConfigurationFeaturesPaymentMethodUpdate.cs
index e0954104d7..1e00668a5f 100644
--- a/src/Stripe.net/Entities/BillingPortal/Configurations/ConfigurationFeaturesPaymentMethodUpdate.cs
+++ b/src/Stripe.net/Entities/BillingPortal/Configurations/ConfigurationFeaturesPaymentMethodUpdate.cs
@@ -16,5 +16,17 @@ public class ConfigurationFeaturesPaymentMethodUpdate : StripeEntity
+ /// The Payment Method
+ /// Configuration to use for this portal session. When specified, customers will be able
+ /// to update their payment method to one of the options specified by the payment method
+ /// configuration. If not set, the default payment method configuration is used.
+ ///
+ [JsonProperty("payment_method_configuration")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("payment_method_configuration")]
+#endif
+ public string PaymentMethodConfiguration { get; set; }
}
}
diff --git a/src/Stripe.net/Entities/Capital/FinancingOffers/FinancingOfferAcceptedTerms.cs b/src/Stripe.net/Entities/Capital/FinancingOffers/FinancingOfferAcceptedTerms.cs
index bf06d64326..85280dfd0a 100644
--- a/src/Stripe.net/Entities/Capital/FinancingOffers/FinancingOfferAcceptedTerms.cs
+++ b/src/Stripe.net/Entities/Capital/FinancingOffers/FinancingOfferAcceptedTerms.cs
@@ -9,8 +9,8 @@ namespace Stripe.Capital
public class FinancingOfferAcceptedTerms : StripeEntity
{
///
- /// Amount of financing offered, in minor units. For example, $1,000 USD will be represented
- /// as 100000.
+ /// Amount of financing offered, in minor units. For example, 1,000 USD is represented as
+ /// 100000.
///
[JsonProperty("advance_amount")]
#if NET6_0_OR_GREATER
@@ -28,7 +28,7 @@ public class FinancingOfferAcceptedTerms : StripeEntity
- /// Fixed fee amount, in minor units. For example, $100 USD will be represented as 10000.
+ /// Fixed fee amount, in minor units. For example, 100 USD is represented as 10000.
///
[JsonProperty("fee_amount")]
#if NET6_0_OR_GREATER
@@ -48,7 +48,7 @@ public class FinancingOfferAcceptedTerms : StripeEntity
- /// Per-transaction rate at which Stripe will withhold funds to repay the financing.
+ /// Per-transaction rate at which Stripe withholds funds to repay the financing.
///
[JsonProperty("withhold_rate")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/Capital/FinancingOffers/FinancingOfferOfferedTerms.cs b/src/Stripe.net/Entities/Capital/FinancingOffers/FinancingOfferOfferedTerms.cs
index 4199bd37b6..90990d3ed4 100644
--- a/src/Stripe.net/Entities/Capital/FinancingOffers/FinancingOfferOfferedTerms.cs
+++ b/src/Stripe.net/Entities/Capital/FinancingOffers/FinancingOfferOfferedTerms.cs
@@ -9,8 +9,8 @@ namespace Stripe.Capital
public class FinancingOfferOfferedTerms : StripeEntity
{
///
- /// Amount of financing offered, in minor units. For example, $1,000 USD will be represented
- /// as 100000.
+ /// Amount of financing offered, in minor units. For example, 1,000 USD is represented as
+ /// 100000.
///
[JsonProperty("advance_amount")]
#if NET6_0_OR_GREATER
@@ -39,7 +39,7 @@ public class FinancingOfferOfferedTerms : StripeEntity
- /// Fixed fee amount, in minor units. For example, $100 USD will be represented as 10000.
+ /// Fixed fee amount, in minor units. For example, 100 USD is represented as 10000.
///
[JsonProperty("fee_amount")]
#if NET6_0_OR_GREATER
@@ -60,7 +60,7 @@ public class FinancingOfferOfferedTerms : StripeEntity
- /// Per-transaction rate at which Stripe will withhold funds to repay the financing.
+ /// Per-transaction rate at which Stripe withholds funds to repay the financing.
///
[JsonProperty("withhold_rate")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/Capital/FinancingSummaries/FinancingSummaryDetails.cs b/src/Stripe.net/Entities/Capital/FinancingSummaries/FinancingSummaryDetails.cs
index 5d4621a7d1..711945107f 100644
--- a/src/Stripe.net/Entities/Capital/FinancingSummaries/FinancingSummaryDetails.cs
+++ b/src/Stripe.net/Entities/Capital/FinancingSummaries/FinancingSummaryDetails.cs
@@ -9,8 +9,8 @@ namespace Stripe.Capital
public class FinancingSummaryDetails : StripeEntity
{
///
- /// Amount of financing offered, in minor units. For example, $1,000 USD will be represented
- /// as 100000.
+ /// Amount of financing offered, in minor units. For example, 1,000 USD is represented as
+ /// 100000.
///
[JsonProperty("advance_amount")]
#if NET6_0_OR_GREATER
@@ -47,7 +47,7 @@ public class FinancingSummaryDetails : StripeEntity
public FinancingSummaryDetailsCurrentRepaymentInterval CurrentRepaymentInterval { get; set; }
///
- /// Fixed fee amount, in minor units. For example, $100 USD will be represented as 10000.
+ /// Fixed fee amount, in minor units. For example, 100 USD is represented as 10000.
///
[JsonProperty("fee_amount")]
#if NET6_0_OR_GREATER
@@ -57,7 +57,7 @@ public class FinancingSummaryDetails : StripeEntity
///
/// The amount the Connected account has paid toward the financing debt so far, in minor
- /// units. For example, $1,000 USD will be represented as 100000.
+ /// units. For example, 1,000 USD is represented as 100000.
///
[JsonProperty("paid_amount")]
#if NET6_0_OR_GREATER
@@ -66,8 +66,8 @@ public class FinancingSummaryDetails : StripeEntity
public long PaidAmount { get; set; }
///
- /// The balance remaining to be paid on the financing, in minor units. For example, $1,000
- /// USD will be represented as 100000.
+ /// The balance remaining to be paid on the financing, in minor units. For example, 1,000
+ /// USD is represented as 100000.
///
[JsonProperty("remaining_amount")]
#if NET6_0_OR_GREATER
@@ -86,7 +86,7 @@ public class FinancingSummaryDetails : StripeEntity
public decimal? RepaymentsBeginAt { get; set; }
///
- /// Per-transaction rate at which Stripe will withhold funds to repay the financing.
+ /// Per-transaction rate at which Stripe withholds funds to repay the financing.
///
[JsonProperty("withhold_rate")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/Capital/FinancingSummaries/FinancingSummaryDetailsCurrentRepaymentInterval.cs b/src/Stripe.net/Entities/Capital/FinancingSummaries/FinancingSummaryDetailsCurrentRepaymentInterval.cs
index bbcbf15737..4e4ba7dd2e 100644
--- a/src/Stripe.net/Entities/Capital/FinancingSummaries/FinancingSummaryDetailsCurrentRepaymentInterval.cs
+++ b/src/Stripe.net/Entities/Capital/FinancingSummaries/FinancingSummaryDetailsCurrentRepaymentInterval.cs
@@ -21,7 +21,7 @@ public class FinancingSummaryDetailsCurrentRepaymentInterval : StripeEntity
/// The amount that has already been paid in the current repayment interval, in minor units.
- /// For example, $100 USD will be represented as 10000.
+ /// For example, 100 USD is represented as 10000.
///
[JsonProperty("paid_amount")]
#if NET6_0_OR_GREATER
@@ -31,7 +31,7 @@ public class FinancingSummaryDetailsCurrentRepaymentInterval : StripeEntity
/// The amount that is yet to be paid in the current repayment interval, in minor units. For
- /// example, $100 USD will be represented as 10000.
+ /// example, 100 USD is represented as 10000.
///
[JsonProperty("remaining_amount")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsIdeal.cs b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsIdeal.cs
index a18217a5d6..dc76ae31fa 100644
--- a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsIdeal.cs
+++ b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsIdeal.cs
@@ -14,10 +14,11 @@ public class ChargePaymentMethodDetailsIdeal : StripeEntity
/// The customer's bank. Can be one of abn_amro, asn_bank, bunq,
- /// buut, handelsbanken, ing, knab, moneyou, n26,
- /// nn, rabobank, regiobank, revolut, sns_bank,
- /// triodos_bank, van_lanschot, or yoursafe.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// buut, finom, handelsbanken, ing, knab,
+ /// moneyou, n26, nn, rabobank, regiobank,
+ /// revolut, sns_bank, triodos_bank, van_lanschot, or
+ /// yoursafe.
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
@@ -31,9 +32,9 @@ public class ChargePaymentMethodDetailsIdeal : StripeEntity
/// The Bank Identifier Code of the customer's bank.
/// One of: ABNANL2A, ASNBNL21, BITSNL2A, BUNQNL2A,
- /// BUUTNL2A, FVLBNL22, HANDNL2A, INGBNL2A, KNABNL2H,
- /// MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U, RBRBNL21,
- /// REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
+ /// BUUTNL2A, FNOMNL22, FVLBNL22, HANDNL2A, INGBNL2A,
+ /// KNABNL2H, MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U,
+ /// RBRBNL21, REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
///
[JsonProperty("bic")]
#if NET6_0_OR_GREATER
@@ -132,6 +133,15 @@ public Mandate GeneratedSepaDebitMandate
#endif
public string IbanLast4 { get; set; }
+ ///
+ /// Unique transaction ID generated by iDEAL.
+ ///
+ [JsonProperty("transaction_id")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("transaction_id")]
+#endif
+ public string TransactionId { get; set; }
+
///
/// Owner's verified full name. Values are verified or provided by iDEAL directly (if
/// supported) at the time of authorization or settlement. They cannot be set or mutated.
diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsPaytoMandateOptions.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsPaytoMandateOptions.cs
index 7b311f6f5a..fe40106e97 100644
--- a/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsPaytoMandateOptions.cs
+++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsPaytoMandateOptions.cs
@@ -20,6 +20,7 @@ public class SessionPaymentMethodOptionsPaytoMandateOptions : StripeEntity
/// The type of amount that will be collected. The amount charged must be exact or up to the
/// value of amount param for fixed or maximum type respectively.
+ /// Defaults to maximum.
/// One of: fixed, or maximum.
///
[JsonProperty("amount_type")]
@@ -39,7 +40,7 @@ public class SessionPaymentMethodOptionsPaytoMandateOptions : StripeEntity
- /// The periodicity at which payments will be collected.
+ /// The periodicity at which payments will be collected. Defaults to adhoc.
/// One of: adhoc, annual, daily, fortnightly, monthly,
/// quarterly, semi_annual, or weekly.
///
@@ -60,7 +61,8 @@ public class SessionPaymentMethodOptionsPaytoMandateOptions : StripeEntity
- /// The purpose for which payments are made. Defaults to retail.
+ /// The purpose for which payments are made. Has a default value based on your merchant
+ /// category code.
/// One of: dependant_support, government, loan, mortgage,
/// other, pension, personal, retail, salary, tax,
/// or utility.
diff --git a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewIdeal.cs b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewIdeal.cs
index cd6e5f6a51..91c51b0965 100644
--- a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewIdeal.cs
+++ b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewIdeal.cs
@@ -10,10 +10,11 @@ public class ConfirmationTokenPaymentMethodPreviewIdeal : StripeEntity
/// The customer's bank, if provided. Can be one of abn_amro, asn_bank,
- /// bunq, buut, handelsbanken, ing, knab, moneyou,
- /// n26, nn, rabobank, regiobank, revolut,
- /// sns_bank, triodos_bank, van_lanschot, or yoursafe.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// bunq, buut, finom, handelsbanken, ing, knab,
+ /// moneyou, n26, nn, rabobank, regiobank,
+ /// revolut, sns_bank, triodos_bank, van_lanschot, or
+ /// yoursafe.
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
@@ -27,9 +28,9 @@ public class ConfirmationTokenPaymentMethodPreviewIdeal : StripeEntity
/// The Bank Identifier Code of the customer's bank, if the bank was provided.
/// One of: ABNANL2A, ASNBNL21, BITSNL2A, BUNQNL2A,
- /// BUUTNL2A, FVLBNL22, HANDNL2A, INGBNL2A, KNABNL2H,
- /// MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U, RBRBNL21,
- /// REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
+ /// BUUTNL2A, FNOMNL22, FVLBNL22, HANDNL2A, INGBNL2A,
+ /// KNABNL2H, MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U,
+ /// RBRBNL21, REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
///
[JsonProperty("bic")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewUsBankAccountStatusDetailsBlocked.cs b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewUsBankAccountStatusDetailsBlocked.cs
index 59e33cfa27..05c33bc59a 100644
--- a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewUsBankAccountStatusDetailsBlocked.cs
+++ b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewUsBankAccountStatusDetailsBlocked.cs
@@ -23,7 +23,8 @@ public class ConfirmationTokenPaymentMethodPreviewUsBankAccountStatusDetailsBloc
/// The reason why this PaymentMethod's fingerprint has been blocked.
/// One of: bank_account_closed, bank_account_frozen,
/// bank_account_invalid_details, bank_account_restricted,
- /// bank_account_unusable, or debit_not_authorized.
+ /// bank_account_unusable, debit_not_authorized, or
+ /// tokenized_account_number_deactivated.
///
[JsonProperty("reason")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/Events/Event.cs b/src/Stripe.net/Entities/Events/Event.cs
index 6a1c538936..78ecbfcb87 100644
--- a/src/Stripe.net/Entities/Events/Event.cs
+++ b/src/Stripe.net/Entities/Events/Event.cs
@@ -154,6 +154,7 @@ public class Event : StripeEntity, IHasId, IHasObject
/// billing_portal.configuration.created,
/// billing_portal.configuration.updated, billing_portal.session.created,
/// capability.updated, capital.financing_offer.accepted,
+ /// capital.financing_offer.accepted_other_offer,
/// capital.financing_offer.canceled, capital.financing_offer.created,
/// capital.financing_offer.expired, capital.financing_offer.fully_repaid,
/// capital.financing_offer.paid_out, capital.financing_offer.rejected,
@@ -188,6 +189,7 @@ public class Event : StripeEntity, IHasId, IHasObject
/// customer.tax_id.deleted, customer.tax_id.updated, customer.updated,
/// customer_cash_balance_transaction.created,
/// entitlements.active_entitlement_summary.updated, file.created,
+ /// financial_connections.account.account_numbers_updated,
/// financial_connections.account.created,
/// financial_connections.account.deactivated,
/// financial_connections.account.disconnected,
@@ -196,6 +198,7 @@ public class Event : StripeEntity, IHasId, IHasObject
/// financial_connections.account.refreshed_inferred_balances,
/// financial_connections.account.refreshed_ownership,
/// financial_connections.account.refreshed_transactions,
+ /// financial_connections.account.upcoming_account_number_expiry,
/// financial_connections.session.updated, fx_quote.expired,
/// identity.verification_session.canceled,
/// identity.verification_session.created,
diff --git a/src/Stripe.net/Entities/FinancialConnections/Accounts/Account.cs b/src/Stripe.net/Entities/FinancialConnections/Accounts/Account.cs
index 516249c792..63f94e2567 100644
--- a/src/Stripe.net/Entities/FinancialConnections/Accounts/Account.cs
+++ b/src/Stripe.net/Entities/FinancialConnections/Accounts/Account.cs
@@ -45,6 +45,15 @@ public class Account : StripeEntity, IHasId, IHasObject
#endif
public AccountAccountHolder AccountHolder { get; set; }
+ ///
+ /// Details about the account numbers.
+ ///
+ [JsonProperty("account_numbers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("account_numbers")]
+#endif
+ public List AccountNumbers { get; set; }
+
///
/// The most recent information about the account's balance.
///
diff --git a/src/Stripe.net/Entities/FinancialConnections/Accounts/AccountAccountNumber.cs b/src/Stripe.net/Entities/FinancialConnections/Accounts/AccountAccountNumber.cs
new file mode 100644
index 0000000000..6541dc1650
--- /dev/null
+++ b/src/Stripe.net/Entities/FinancialConnections/Accounts/AccountAccountNumber.cs
@@ -0,0 +1,54 @@
+// File generated from our OpenAPI spec
+namespace Stripe.FinancialConnections
+{
+ using System;
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountAccountNumber : StripeEntity
+ {
+ ///
+ /// When the account number is expected to expire, if applicable.
+ ///
+ [JsonProperty("expected_expiry_date")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("expected_expiry_date")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? ExpectedExpiryDate { get; set; }
+
+ ///
+ /// The type of account number associated with the account.
+ /// One of: account_number, or tokenized_account_number.
+ ///
+ [JsonProperty("identifier_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("identifier_type")]
+#endif
+ public string IdentifierType { get; set; }
+
+ ///
+ /// Whether the account number is currently active and usable for transactions.
+ /// One of: deactivated, or transactable.
+ ///
+ [JsonProperty("status")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("status")]
+#endif
+ public string Status { get; set; }
+
+ ///
+ /// The payment networks that the account number can be used for.
+ ///
+ [JsonProperty("supported_networks")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("supported_networks")]
+#endif
+ public List SupportedNetworks { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/InvoicePayments/InvoicePaymentPayment.cs b/src/Stripe.net/Entities/InvoicePayments/InvoicePaymentPayment.cs
index 51e078c47a..36123b745f 100644
--- a/src/Stripe.net/Entities/InvoicePayments/InvoicePaymentPayment.cs
+++ b/src/Stripe.net/Entities/InvoicePayments/InvoicePaymentPayment.cs
@@ -149,7 +149,7 @@ public PaymentRecord PaymentRecord
///
/// Type of payment object associated with this invoice payment.
- /// One of: charge, or payment_intent.
+ /// One of: charge, payment_intent, or payment_record.
///
[JsonProperty("type")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/Invoices/Invoice.cs b/src/Stripe.net/Entities/Invoices/Invoice.cs
index 702b556528..dba53d6023 100644
--- a/src/Stripe.net/Entities/Invoices/Invoice.cs
+++ b/src/Stripe.net/Entities/Invoices/Invoice.cs
@@ -301,8 +301,9 @@ public Application Application
/// subscription_create: A new subscription was created. * subscription_cycle:
/// A subscription advanced into a new period. * subscription_threshold: A
/// subscription reached a billing threshold. * subscription_update: A subscription
- /// was updated. * upcoming: Reserved for simulated invoices, per the upcoming
- /// invoice endpoint.
+ /// was updated. * upcoming: Reserved for upcoming invoices created through the
+ /// Create Preview Invoice API or when an invoice.upcoming event is generated for an
+ /// upcoming invoice on a subscription.
/// One of: automatic_pending_invoice_item_invoice, manual,
/// quote_accept, subscription, subscription_create,
/// subscription_cycle, subscription_threshold, subscription_update, or
diff --git a/src/Stripe.net/Entities/Issuing/Cards/Card.cs b/src/Stripe.net/Entities/Issuing/Cards/Card.cs
index 5aeb83b440..25226abd10 100644
--- a/src/Stripe.net/Entities/Issuing/Cards/Card.cs
+++ b/src/Stripe.net/Entities/Issuing/Cards/Card.cs
@@ -141,6 +141,16 @@ public class Card : StripeEntity, IHasId, IHasMetadata, IHasObject
#endif
public string Last4 { get; set; }
+ ///
+ /// Stripe’s assessment of whether this card’s details have been compromised. If this
+ /// property isn't null, cancel and reissue the card to prevent fraudulent activity risk.
+ ///
+ [JsonProperty("latest_fraud_warning")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("latest_fraud_warning")]
+#endif
+ public CardLatestFraudWarning LatestFraudWarning { get; set; }
+
///
/// Has the value true if the object exists in live mode or the value false if
/// the object exists in test mode.
diff --git a/src/Stripe.net/Entities/Issuing/Cards/CardLatestFraudWarning.cs b/src/Stripe.net/Entities/Issuing/Cards/CardLatestFraudWarning.cs
new file mode 100644
index 0000000000..220d92ba10
--- /dev/null
+++ b/src/Stripe.net/Entities/Issuing/Cards/CardLatestFraudWarning.cs
@@ -0,0 +1,37 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Issuing
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class CardLatestFraudWarning : StripeEntity
+ {
+ ///
+ /// Timestamp of the most recent fraud warning.
+ ///
+ [JsonProperty("started_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("started_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? StartedAt { get; set; }
+
+ ///
+ /// The type of fraud warning that most recently took place on this card. This field updates
+ /// with every new fraud warning, so the value changes over time. If populated, cancel and
+ /// reissue the card.
+ /// One of: card_testing_exposure, fraud_dispute_filed,
+ /// third_party_reported, or user_indicated_fraud.
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Mandates/MandatePaymentMethodDetailsPayto.cs b/src/Stripe.net/Entities/Mandates/MandatePaymentMethodDetailsPayto.cs
index 2c9ae57ec9..ab9c63ffc7 100644
--- a/src/Stripe.net/Entities/Mandates/MandatePaymentMethodDetailsPayto.cs
+++ b/src/Stripe.net/Entities/Mandates/MandatePaymentMethodDetailsPayto.cs
@@ -20,6 +20,7 @@ public class MandatePaymentMethodDetailsPayto : StripeEntity
/// The type of amount that will be collected. The amount charged must be exact or up to the
/// value of amount param for fixed or maximum type respectively.
+ /// Defaults to maximum.
/// One of: fixed, or maximum.
///
[JsonProperty("amount_type")]
@@ -39,7 +40,7 @@ public class MandatePaymentMethodDetailsPayto : StripeEntity
- /// The periodicity at which payments will be collected.
+ /// The periodicity at which payments will be collected. Defaults to adhoc.
/// One of: adhoc, annual, daily, fortnightly, monthly,
/// quarterly, semi_annual, or weekly.
///
@@ -60,7 +61,8 @@ public class MandatePaymentMethodDetailsPayto : StripeEntity
- /// The purpose for which payments are made. Defaults to retail.
+ /// The purpose for which payments are made. Has a default value based on your merchant
+ /// category code.
/// One of: dependant_support, government, loan, mortgage,
/// other, pension, personal, retail, salary, tax,
/// or utility.
diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetails.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetails.cs
index 473875f325..0be86979b0 100644
--- a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetails.cs
+++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetails.cs
@@ -414,9 +414,6 @@ public class PaymentAttemptRecordPaymentMethodDetails : StripeEntity
- /// Details of the US Bank Account used for this payment attempt.
- ///
[JsonProperty("us_bank_account")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("us_bank_account")]
diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsIdeal.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsIdeal.cs
index dd241bc1a2..05d09359df 100644
--- a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsIdeal.cs
+++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsIdeal.cs
@@ -14,10 +14,11 @@ public class PaymentAttemptRecordPaymentMethodDetailsIdeal : StripeEntity
/// The customer's bank. Can be one of abn_amro, asn_bank, bunq,
- /// buut, handelsbanken, ing, knab, moneyou, n26,
- /// nn, rabobank, regiobank, revolut, sns_bank,
- /// triodos_bank, van_lanschot, or yoursafe.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// buut, finom, handelsbanken, ing, knab,
+ /// moneyou, n26, nn, rabobank, regiobank,
+ /// revolut, sns_bank, triodos_bank, van_lanschot, or
+ /// yoursafe.
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
@@ -31,9 +32,9 @@ public class PaymentAttemptRecordPaymentMethodDetailsIdeal : StripeEntity
/// The Bank Identifier Code of the customer's bank.
/// One of: ABNANL2A, ASNBNL21, BITSNL2A, BUNQNL2A,
- /// BUUTNL2A, FVLBNL22, HANDNL2A, INGBNL2A, KNABNL2H,
- /// MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U, RBRBNL21,
- /// REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
+ /// BUUTNL2A, FNOMNL22, FVLBNL22, HANDNL2A, INGBNL2A,
+ /// KNABNL2H, MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U,
+ /// RBRBNL21, REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
///
[JsonProperty("bic")]
#if NET6_0_OR_GREATER
@@ -132,6 +133,15 @@ public Mandate GeneratedSepaDebitMandate
#endif
public string IbanLast4 { get; set; }
+ ///
+ /// Unique transaction ID generated by iDEAL.
+ ///
+ [JsonProperty("transaction_id")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("transaction_id")]
+#endif
+ public string TransactionId { get; set; }
+
///
/// Owner's verified full name. Values are verified or provided by iDEAL directly (if
/// supported) at the time of authorization or settlement. They cannot be set or mutated.
diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsUsBankAccount.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsUsBankAccount.cs
index 5d64c89d8d..acdecb8120 100644
--- a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsUsBankAccount.cs
+++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsUsBankAccount.cs
@@ -13,6 +13,7 @@ namespace Stripe
public class PaymentAttemptRecordPaymentMethodDetailsUsBankAccount : StripeEntity
{
///
+ /// The type of entity that holds the account. This can be either 'individual' or 'company'.
/// One of: company, or individual.
///
[JsonProperty("account_holder_type")]
@@ -22,6 +23,7 @@ public class PaymentAttemptRecordPaymentMethodDetailsUsBankAccount : StripeEntit
public string AccountHolderType { get; set; }
///
+ /// The type of the bank account. This can be either 'checking' or 'savings'.
/// One of: checking, or savings.
///
[JsonProperty("account_type")]
@@ -100,7 +102,7 @@ public Mandate Mandate
#endregion
///
- /// Reference number to locate ACH payments with customer’s bank.
+ /// The ACH payment reference for this transaction.
///
[JsonProperty("payment_reference")]
#if NET6_0_OR_GREATER
@@ -109,7 +111,7 @@ public Mandate Mandate
public string PaymentReference { get; set; }
///
- /// Routing number of the bank account.
+ /// The routing number for the bank account.
///
[JsonProperty("routing_number")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsCardPresent.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsCardPresent.cs
index 9b2e8a7856..8434a1640f 100644
--- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsCardPresent.cs
+++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsCardPresent.cs
@@ -8,6 +8,16 @@ namespace Stripe
public class PaymentIntentPaymentMethodOptionsCardPresent : StripeEntity
{
+ ///
+ /// Controls when the funds will be captured from the customer's account.
+ /// One of: manual, or manual_preferred.
+ ///
+ [JsonProperty("capture_method")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("capture_method")]
+#endif
+ public string CaptureMethod { get; set; }
+
///
/// Request ability to capture this payment beyond the standard authorization
diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsPaytoMandateOptions.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsPaytoMandateOptions.cs
index 2092740451..e891df5a9b 100644
--- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsPaytoMandateOptions.cs
+++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsPaytoMandateOptions.cs
@@ -20,6 +20,7 @@ public class PaymentIntentPaymentMethodOptionsPaytoMandateOptions : StripeEntity
///
/// The type of amount that will be collected. The amount charged must be exact or up to the
/// value of amount param for fixed or maximum type respectively.
+ /// Defaults to maximum.
/// One of: fixed, or maximum.
///
[JsonProperty("amount_type")]
@@ -39,7 +40,7 @@ public class PaymentIntentPaymentMethodOptionsPaytoMandateOptions : StripeEntity
public string EndDate { get; set; }
///
- /// The periodicity at which payments will be collected.
+ /// The periodicity at which payments will be collected. Defaults to adhoc.
/// One of: adhoc, annual, daily, fortnightly, monthly,
/// quarterly, semi_annual, or weekly.
///
@@ -60,7 +61,8 @@ public class PaymentIntentPaymentMethodOptionsPaytoMandateOptions : StripeEntity
public long? PaymentsPerPeriod { get; set; }
///
- /// The purpose for which payments are made. Defaults to retail.
+ /// The purpose for which payments are made. Has a default value based on your merchant
+ /// category code.
/// One of: dependant_support, government, loan, mortgage,
/// other, pension, personal, retail, salary, tax,
/// or utility.
diff --git a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodIdeal.cs b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodIdeal.cs
index a122f28ec3..c4f5ec8957 100644
--- a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodIdeal.cs
+++ b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodIdeal.cs
@@ -10,10 +10,11 @@ public class PaymentMethodIdeal : StripeEntity
{
///
/// The customer's bank, if provided. Can be one of abn_amro, asn_bank,
- /// bunq, buut, handelsbanken, ing, knab, moneyou,
- /// n26, nn, rabobank, regiobank, revolut,
- /// sns_bank, triodos_bank, van_lanschot, or yoursafe.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// bunq, buut, finom, handelsbanken, ing, knab,
+ /// moneyou, n26, nn, rabobank, regiobank,
+ /// revolut, sns_bank, triodos_bank, van_lanschot, or
+ /// yoursafe.
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
@@ -27,9 +28,9 @@ public class PaymentMethodIdeal : StripeEntity
///
/// The Bank Identifier Code of the customer's bank, if the bank was provided.
/// One of: ABNANL2A, ASNBNL21, BITSNL2A, BUNQNL2A,
- /// BUUTNL2A, FVLBNL22, HANDNL2A, INGBNL2A, KNABNL2H,
- /// MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U, RBRBNL21,
- /// REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
+ /// BUUTNL2A, FNOMNL22, FVLBNL22, HANDNL2A, INGBNL2A,
+ /// KNABNL2H, MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U,
+ /// RBRBNL21, REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
///
[JsonProperty("bic")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodUsBankAccountStatusDetailsBlocked.cs b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodUsBankAccountStatusDetailsBlocked.cs
index c575943be0..a9ead620a9 100644
--- a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodUsBankAccountStatusDetailsBlocked.cs
+++ b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodUsBankAccountStatusDetailsBlocked.cs
@@ -23,7 +23,8 @@ public class PaymentMethodUsBankAccountStatusDetailsBlocked : StripeEntitybank_account_closed, bank_account_frozen,
/// bank_account_invalid_details, bank_account_restricted,
- /// bank_account_unusable, or debit_not_authorized.
+ /// bank_account_unusable, debit_not_authorized, or
+ /// tokenized_account_number_deactivated.
///
[JsonProperty("reason")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetails.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetails.cs
index 43a96b233a..ead7d0fa13 100644
--- a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetails.cs
+++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetails.cs
@@ -414,9 +414,6 @@ public class PaymentRecordPaymentMethodDetails : StripeEntity
- /// Details of the US Bank Account used for this payment attempt.
- ///
[JsonProperty("us_bank_account")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("us_bank_account")]
diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsIdeal.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsIdeal.cs
index a5a16582b6..419184c93d 100644
--- a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsIdeal.cs
+++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsIdeal.cs
@@ -14,10 +14,11 @@ public class PaymentRecordPaymentMethodDetailsIdeal : StripeEntity
/// The customer's bank. Can be one of abn_amro, asn_bank, bunq,
- /// buut, handelsbanken, ing, knab, moneyou, n26,
- /// nn, rabobank, regiobank, revolut, sns_bank,
- /// triodos_bank, van_lanschot, or yoursafe.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// buut, finom, handelsbanken, ing, knab,
+ /// moneyou, n26, nn, rabobank, regiobank,
+ /// revolut, sns_bank, triodos_bank, van_lanschot, or
+ /// yoursafe.
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
@@ -31,9 +32,9 @@ public class PaymentRecordPaymentMethodDetailsIdeal : StripeEntity
/// The Bank Identifier Code of the customer's bank.
/// One of: ABNANL2A, ASNBNL21, BITSNL2A, BUNQNL2A,
- /// BUUTNL2A, FVLBNL22, HANDNL2A, INGBNL2A, KNABNL2H,
- /// MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U, RBRBNL21,
- /// REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
+ /// BUUTNL2A, FNOMNL22, FVLBNL22, HANDNL2A, INGBNL2A,
+ /// KNABNL2H, MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U,
+ /// RBRBNL21, REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
///
[JsonProperty("bic")]
#if NET6_0_OR_GREATER
@@ -132,6 +133,15 @@ public Mandate GeneratedSepaDebitMandate
#endif
public string IbanLast4 { get; set; }
+ ///
+ /// Unique transaction ID generated by iDEAL.
+ ///
+ [JsonProperty("transaction_id")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("transaction_id")]
+#endif
+ public string TransactionId { get; set; }
+
///
/// Owner's verified full name. Values are verified or provided by iDEAL directly (if
/// supported) at the time of authorization or settlement. They cannot be set or mutated.
diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsUsBankAccount.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsUsBankAccount.cs
index 40823c3e48..a26ba93bf8 100644
--- a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsUsBankAccount.cs
+++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsUsBankAccount.cs
@@ -13,6 +13,7 @@ namespace Stripe
public class PaymentRecordPaymentMethodDetailsUsBankAccount : StripeEntity
{
///
+ /// The type of entity that holds the account. This can be either 'individual' or 'company'.
/// One of: company, or individual.
///
[JsonProperty("account_holder_type")]
@@ -22,6 +23,7 @@ public class PaymentRecordPaymentMethodDetailsUsBankAccount : StripeEntity
+ /// The type of the bank account. This can be either 'checking' or 'savings'.
/// One of: checking, or savings.
///
[JsonProperty("account_type")]
@@ -100,7 +102,7 @@ public Mandate Mandate
#endregion
///
- /// Reference number to locate ACH payments with customer’s bank.
+ /// The ACH payment reference for this transaction.
///
[JsonProperty("payment_reference")]
#if NET6_0_OR_GREATER
@@ -109,7 +111,7 @@ public Mandate Mandate
public string PaymentReference { get; set; }
///
- /// Routing number of the bank account.
+ /// The routing number for the bank account.
///
[JsonProperty("routing_number")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs
index 070473b0c2..c1ae29deb8 100644
--- a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs
+++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs
@@ -295,8 +295,9 @@ public Application Application
/// subscription_create: A new subscription was created. * subscription_cycle:
/// A subscription advanced into a new period. * subscription_threshold: A
/// subscription reached a billing threshold. * subscription_update: A subscription
- /// was updated. * upcoming: Reserved for simulated invoices, per the upcoming
- /// invoice endpoint.
+ /// was updated. * upcoming: Reserved for upcoming invoices created through the
+ /// Create Preview Invoice API or when an invoice.upcoming event is generated for an
+ /// upcoming invoice on a subscription.
/// One of: automatic_pending_invoice_item_invoice, manual,
/// quote_accept, subscription, subscription_create,
/// subscription_cycle, subscription_threshold, subscription_update, or
diff --git a/src/Stripe.net/Entities/Refunds/RefundDestinationDetails.cs b/src/Stripe.net/Entities/Refunds/RefundDestinationDetails.cs
index 0fc8dfe717..27f7ca0697 100644
--- a/src/Stripe.net/Entities/Refunds/RefundDestinationDetails.cs
+++ b/src/Stripe.net/Entities/Refunds/RefundDestinationDetails.cs
@@ -128,6 +128,12 @@ public class RefundDestinationDetails : StripeEntity
#endif
public RefundDestinationDetailsKlarna Klarna { get; set; }
+ [JsonProperty("mb_way")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("mb_way")]
+#endif
+ public RefundDestinationDetailsMbWay MbWay { get; set; }
+
[JsonProperty("multibanco")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("multibanco")]
@@ -194,6 +200,12 @@ public class RefundDestinationDetails : StripeEntity
#endif
public RefundDestinationDetailsThBankTransfer ThBankTransfer { get; set; }
+ [JsonProperty("twint")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("twint")]
+#endif
+ public RefundDestinationDetailsTwint Twint { get; set; }
+
///
/// The type of transaction-specific details of the payment method used in the refund (e.g.,
/// card). An additional hash is included on destination_details with a name
diff --git a/src/Stripe.net/Entities/Refunds/RefundDestinationDetailsMbWay.cs b/src/Stripe.net/Entities/Refunds/RefundDestinationDetailsMbWay.cs
new file mode 100644
index 0000000000..a9282384b3
--- /dev/null
+++ b/src/Stripe.net/Entities/Refunds/RefundDestinationDetailsMbWay.cs
@@ -0,0 +1,30 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class RefundDestinationDetailsMbWay : StripeEntity
+ {
+ ///
+ /// The reference assigned to the refund.
+ ///
+ [JsonProperty("reference")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("reference")]
+#endif
+ public string Reference { get; set; }
+
+ ///
+ /// Status of the reference on the refund. This can be pending, available or
+ /// unavailable.
+ ///
+ [JsonProperty("reference_status")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("reference_status")]
+#endif
+ public string ReferenceStatus { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Refunds/RefundDestinationDetailsTwint.cs b/src/Stripe.net/Entities/Refunds/RefundDestinationDetailsTwint.cs
new file mode 100644
index 0000000000..add2b7acf9
--- /dev/null
+++ b/src/Stripe.net/Entities/Refunds/RefundDestinationDetailsTwint.cs
@@ -0,0 +1,7 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ public class RefundDestinationDetailsTwint : StripeEntity
+ {
+ }
+}
diff --git a/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetailsIdeal.cs b/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetailsIdeal.cs
index 1f63ba87ce..d4671d8dfa 100644
--- a/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetailsIdeal.cs
+++ b/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetailsIdeal.cs
@@ -14,10 +14,11 @@ public class SetupAttemptPaymentMethodDetailsIdeal : StripeEntity
/// The customer's bank. Can be one of abn_amro, asn_bank, bunq,
- /// buut, handelsbanken, ing, knab, moneyou, n26,
- /// nn, rabobank, regiobank, revolut, sns_bank,
- /// triodos_bank, van_lanschot, or yoursafe.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// buut, finom, handelsbanken, ing, knab,
+ /// moneyou, n26, nn, rabobank, regiobank,
+ /// revolut, sns_bank, triodos_bank, van_lanschot, or
+ /// yoursafe.
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
@@ -31,9 +32,9 @@ public class SetupAttemptPaymentMethodDetailsIdeal : StripeEntity
/// The Bank Identifier Code of the customer's bank.
/// One of: ABNANL2A, ASNBNL21, BITSNL2A, BUNQNL2A,
- /// BUUTNL2A, FVLBNL22, HANDNL2A, INGBNL2A, KNABNL2H,
- /// MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U, RBRBNL21,
- /// REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
+ /// BUUTNL2A, FNOMNL22, FVLBNL22, HANDNL2A, INGBNL2A,
+ /// KNABNL2H, MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U,
+ /// RBRBNL21, REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
///
[JsonProperty("bic")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/SetupIntents/SetupIntentPaymentMethodOptionsPaytoMandateOptions.cs b/src/Stripe.net/Entities/SetupIntents/SetupIntentPaymentMethodOptionsPaytoMandateOptions.cs
index 210c3aa0be..b538bf503a 100644
--- a/src/Stripe.net/Entities/SetupIntents/SetupIntentPaymentMethodOptionsPaytoMandateOptions.cs
+++ b/src/Stripe.net/Entities/SetupIntents/SetupIntentPaymentMethodOptionsPaytoMandateOptions.cs
@@ -20,6 +20,7 @@ public class SetupIntentPaymentMethodOptionsPaytoMandateOptions : StripeEntity
/// The type of amount that will be collected. The amount charged must be exact or up to the
/// value of amount param for fixed or maximum type respectively.
+ /// Defaults to maximum.
/// One of: fixed, or maximum.
///
[JsonProperty("amount_type")]
@@ -39,7 +40,7 @@ public class SetupIntentPaymentMethodOptionsPaytoMandateOptions : StripeEntity
- /// The periodicity at which payments will be collected.
+ /// The periodicity at which payments will be collected. Defaults to adhoc.
/// One of: adhoc, annual, daily, fortnightly, monthly,
/// quarterly, semi_annual, or weekly.
///
@@ -60,7 +61,8 @@ public class SetupIntentPaymentMethodOptionsPaytoMandateOptions : StripeEntity
- /// The purpose for which payments are made. Defaults to retail.
+ /// The purpose for which payments are made. Has a default value based on your merchant
+ /// category code.
/// One of: dependant_support, government, loan, mortgage,
/// other, pension, personal, retail, salary, tax,
/// or utility.
diff --git a/src/Stripe.net/Entities/Subscriptions/SubscriptionBillingSchedule.cs b/src/Stripe.net/Entities/Subscriptions/SubscriptionBillingSchedule.cs
index 05875218eb..341e5b42bc 100644
--- a/src/Stripe.net/Entities/Subscriptions/SubscriptionBillingSchedule.cs
+++ b/src/Stripe.net/Entities/Subscriptions/SubscriptionBillingSchedule.cs
@@ -19,7 +19,7 @@ public class SubscriptionBillingSchedule : StripeEntity AppliesTo { get; set; }
///
- /// Specifies the billing period.
+ /// Specifies the end of billing period.
///
[JsonProperty("bill_until")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/V2/Billing/Cadences/CadenceSettingsDataCollectionPaymentMethodOptionsCard.cs b/src/Stripe.net/Entities/V2/Billing/Cadences/CadenceSettingsDataCollectionPaymentMethodOptionsCard.cs
index 589988ba58..a8da9d7ac2 100644
--- a/src/Stripe.net/Entities/V2/Billing/Cadences/CadenceSettingsDataCollectionPaymentMethodOptionsCard.cs
+++ b/src/Stripe.net/Entities/V2/Billing/Cadences/CadenceSettingsDataCollectionPaymentMethodOptionsCard.cs
@@ -30,10 +30,10 @@ public class CadenceSettingsDataCollectionPaymentMethodOptionsCard : StripeEntit
///
/// An advanced option 3D Secure. We strongly recommend that you rely on our SCA Engine to
/// automatically prompt your customers for authentication based on risk level and other
- /// requirements. However, if you wish to request 3D Secure based on logic from your own
- /// fraud engine, provide this option. Read our guide on manually
+ /// href="https://docs.stripe.com/strong-customer-authentication">other requirements.
+ /// However, if you wish to request 3D Secure based on logic from your own fraud engine,
+ /// provide this option. Read our guide on manually
/// requesting 3D Secure for more information on how this configuration interacts with
/// Radar and our SCA Engine.
/// One of: any, automatic, or challenge.
diff --git a/src/Stripe.net/Entities/V2/Billing/CollectionSettingVersions/CollectionSettingVersionPaymentMethodOptionsCard.cs b/src/Stripe.net/Entities/V2/Billing/CollectionSettingVersions/CollectionSettingVersionPaymentMethodOptionsCard.cs
index a4967f215e..d38856561f 100644
--- a/src/Stripe.net/Entities/V2/Billing/CollectionSettingVersions/CollectionSettingVersionPaymentMethodOptionsCard.cs
+++ b/src/Stripe.net/Entities/V2/Billing/CollectionSettingVersions/CollectionSettingVersionPaymentMethodOptionsCard.cs
@@ -30,10 +30,10 @@ public class CollectionSettingVersionPaymentMethodOptionsCard : StripeEntity
/// An advanced option 3D Secure. We strongly recommend that you rely on our SCA Engine to
/// automatically prompt your customers for authentication based on risk level and other
- /// requirements. However, if you wish to request 3D Secure based on logic from your own
- /// fraud engine, provide this option. Read our guide on manually
+ /// href="https://docs.stripe.com/strong-customer-authentication">other requirements.
+ /// However, if you wish to request 3D Secure based on logic from your own fraud engine,
+ /// provide this option. Read our guide on manually
/// requesting 3D Secure for more information on how this configuration interacts with
/// Radar and our SCA Engine.
/// One of: any, automatic, or challenge.
diff --git a/src/Stripe.net/Entities/V2/Billing/CollectionSettings/CollectionSettingPaymentMethodOptionsCard.cs b/src/Stripe.net/Entities/V2/Billing/CollectionSettings/CollectionSettingPaymentMethodOptionsCard.cs
index aab1bfb015..869607bab9 100644
--- a/src/Stripe.net/Entities/V2/Billing/CollectionSettings/CollectionSettingPaymentMethodOptionsCard.cs
+++ b/src/Stripe.net/Entities/V2/Billing/CollectionSettings/CollectionSettingPaymentMethodOptionsCard.cs
@@ -30,10 +30,10 @@ public class CollectionSettingPaymentMethodOptionsCard : StripeEntity
/// An advanced option 3D Secure. We strongly recommend that you rely on our SCA Engine to
/// automatically prompt your customers for authentication based on risk level and other
- /// requirements. However, if you wish to request 3D Secure based on logic from your own
- /// fraud engine, provide this option. Read our guide on manually
+ /// href="https://docs.stripe.com/strong-customer-authentication">other requirements.
+ /// However, if you wish to request 3D Secure based on logic from your own fraud engine,
+ /// provide this option. Read our guide on manually
/// requesting 3D Secure for more information on how this configuration interacts with
/// Radar and our SCA Engine.
/// One of: any, automatic, or challenge.
diff --git a/src/Stripe.net/Entities/V2/Billing/MeterEvents/MeterEvent.cs b/src/Stripe.net/Entities/V2/Billing/MeterEvents/MeterEvent.cs
index df61bde2da..d372b43532 100644
--- a/src/Stripe.net/Entities/V2/Billing/MeterEvents/MeterEvent.cs
+++ b/src/Stripe.net/Entities/V2/Billing/MeterEvents/MeterEvent.cs
@@ -66,7 +66,8 @@ public class MeterEvent : StripeEntity, IHasObject
/// The payload of the event. This must contain the fields corresponding to a meter’s
/// customer_mapping.event_payload_key (default is stripe_customer_id) and
/// value_settings.event_payload_key (default is value). Read more about the
- /// payload.
+ /// payload..
///
[JsonProperty("payload")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/V2/Core/AccountPersonTokens/AccountPersonToken.cs b/src/Stripe.net/Entities/V2/Core/AccountPersonTokens/AccountPersonToken.cs
new file mode 100644
index 0000000000..ad15700ab6
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/AccountPersonTokens/AccountPersonToken.cs
@@ -0,0 +1,73 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using System;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ ///
+ /// Person Tokens are single-use tokens which tokenize person information, and are used for
+ /// creating or updating a Person.
+ ///
+ public class AccountPersonToken : StripeEntity, IHasId, IHasObject
+ {
+ ///
+ /// Unique identifier for the token.
+ ///
+ [JsonProperty("id")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("id")]
+#endif
+ public string Id { get; set; }
+
+ ///
+ /// String representing the object's type. Objects of the same type share the same value of
+ /// the object field.
+ ///
+ [JsonProperty("object")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("object")]
+#endif
+ public string Object { get; set; }
+
+ ///
+ /// Time at which the token was created. Represented as a RFC 3339 date & time UTC value
+ /// in millisecond precision, for example: 2022-09-18T13:22:18.123Z.
+ ///
+ [JsonProperty("created")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("created")]
+#endif
+ public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch;
+
+ ///
+ /// Time at which the token will expire.
+ ///
+ [JsonProperty("expires_at")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("expires_at")]
+#endif
+ public DateTime ExpiresAt { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch;
+
+ ///
+ /// Has the value true if the token exists in live mode or the value false if
+ /// the object exists in test mode.
+ ///
+ [JsonProperty("livemode")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("livemode")]
+#endif
+ public bool Livemode { get; set; }
+
+ ///
+ /// Determines if the token has already been used (tokens can only be used once).
+ ///
+ [JsonProperty("used")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("used")]
+#endif
+ public bool Used { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/AccountPersons/AccountPersonIdNumber.cs b/src/Stripe.net/Entities/V2/Core/AccountPersons/AccountPersonIdNumber.cs
index 57b5fdafc0..36652dc128 100644
--- a/src/Stripe.net/Entities/V2/Core/AccountPersons/AccountPersonIdNumber.cs
+++ b/src/Stripe.net/Entities/V2/Core/AccountPersons/AccountPersonIdNumber.cs
@@ -10,13 +10,13 @@ public class AccountPersonIdNumber : StripeEntity
{
///
/// The ID number type of an individual.
- /// One of: ae_eid, ao_nif, az_tin, bd_brc, bd_etin,
- /// bd_nid, br_cpf, cr_cpf, cr_dimex, cr_nite,
- /// de_stn, do_rcn, gt_nit, hk_id, kz_iin, mx_rfc,
- /// my_nric, mz_nuit, nl_bsn, pe_dni, pk_cnic,
- /// pk_snic, sa_tin, sg_fin, sg_nric, th_lc,
- /// th_pin, us_itin, us_itin_last_4, us_ssn, or
- /// us_ssn_last_4.
+ /// One of: ae_eid, ao_nif, ar_dni, az_tin, bd_brc,
+ /// bd_etin, bd_nid, br_cpf, cr_cpf, cr_dimex,
+ /// cr_nite, de_stn, do_rcn, gt_nit, hk_id,
+ /// kz_iin, mx_rfc, my_nric, mz_nuit, nl_bsn,
+ /// pe_dni, pk_cnic, pk_snic, sa_tin, sg_fin,
+ /// sg_nric, th_lc, th_pin, us_itin, us_itin_last_4,
+ /// us_ssn, or us_ssn_last_4.
///
[JsonProperty("type")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/V2/Core/AccountTokens/AccountToken.cs b/src/Stripe.net/Entities/V2/Core/AccountTokens/AccountToken.cs
new file mode 100644
index 0000000000..ff2d894960
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/AccountTokens/AccountToken.cs
@@ -0,0 +1,73 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using System;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ ///
+ /// Account tokens are single-use tokens which tokenize company/individual/business
+ /// information, and are used for creating or updating an Account.
+ ///
+ public class AccountToken : StripeEntity, IHasId, IHasObject
+ {
+ ///
+ /// Unique identifier for the token.
+ ///
+ [JsonProperty("id")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("id")]
+#endif
+ public string Id { get; set; }
+
+ ///
+ /// String representing the object's type. Objects of the same type share the same value of
+ /// the object field.
+ ///
+ [JsonProperty("object")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("object")]
+#endif
+ public string Object { get; set; }
+
+ ///
+ /// Time at which the token was created. Represented as a RFC 3339 date & time UTC value
+ /// in millisecond precision, for example: 2022-09-18T13:22:18.123Z.
+ ///
+ [JsonProperty("created")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("created")]
+#endif
+ public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch;
+
+ ///
+ /// Time at which the token will expire.
+ ///
+ [JsonProperty("expires_at")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("expires_at")]
+#endif
+ public DateTime ExpiresAt { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch;
+
+ ///
+ /// Has the value true if the token exists in live mode or the value false if
+ /// the object exists in test mode.
+ ///
+ [JsonProperty("livemode")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("livemode")]
+#endif
+ public bool Livemode { get; set; }
+
+ ///
+ /// Determines if the token has already been used (tokens can only be used once).
+ ///
+ [JsonProperty("used")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("used")]
+#endif
+ public bool Used { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/Account.cs b/src/Stripe.net/Entities/V2/Core/Accounts/Account.cs
index 94ef1259ea..2c6e315a29 100644
--- a/src/Stripe.net/Entities/V2/Core/Accounts/Account.cs
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/Account.cs
@@ -114,6 +114,16 @@ public class Account : StripeEntity, IHasId, IHasMetadata, IHasObject
#endif
public string DisplayName { get; set; }
+ ///
+ /// Information about the future requirements for the Account that will eventually come into
+ /// effect, including what information needs to be collected, and by when.
+ ///
+ [JsonProperty("future_requirements")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("future_requirements")]
+#endif
+ public AccountFutureRequirements FutureRequirements { get; set; }
+
///
/// Information about the company, individual, and business represented by the Account.
///
@@ -144,8 +154,8 @@ public class Account : StripeEntity, IHasId, IHasMetadata, IHasObject
public Dictionary Metadata { get; set; }
///
- /// Information about the requirements for the Account, including what information needs to
- /// be collected, and by when.
+ /// Information about the active requirements for the Account, including what information
+ /// needs to be collected, and by when.
///
[JsonProperty("requirements")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerAutomaticIndirectTax.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerAutomaticIndirectTax.cs
index bec45585f2..c3e5953769 100644
--- a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerAutomaticIndirectTax.cs
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerAutomaticIndirectTax.cs
@@ -30,8 +30,10 @@ public class AccountConfigurationCustomerAutomaticIndirectTax : StripeEntity
- /// The customer’s identified tax location - uses location_source. Will only be
- /// rendered if the automatic_indirect_tax feature is requested and active.
+ /// The identified
+ /// tax location of the customer. Will only be rendered if the automatic_indirect_tax
+ /// feature is requested and active.
///
[JsonProperty("location")]
#if NET6_0_OR_GREATER
@@ -40,9 +42,8 @@ public class AccountConfigurationCustomerAutomaticIndirectTax : StripeEntity
- /// The data source used to identify the customer's tax location - defaults to
- /// 'identity_address'. Will only be used for automatic tax calculation on the customer's
- /// Invoices and Subscriptions.
+ /// The data source used to identify the customer's tax location. Will only be used for
+ /// automatic tax calculation on the customer's Invoices and Subscriptions.
/// One of: identity_address, ip_address, payment_method, or
/// shipping_address.
///
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerCapabilities.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerCapabilities.cs
index ada2b6c2a0..c407f48ab1 100644
--- a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerCapabilities.cs
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerCapabilities.cs
@@ -11,8 +11,7 @@ public class AccountConfigurationCustomerCapabilities : StripeEntity
/// Generates requirements for enabling automatic indirect tax calculation on this
/// customer's invoices or subscriptions. Recommended to request this capability if planning
- /// to enable automatic tax calculation on this customer's invoices or subscriptions. Uses
- /// the location_source field.
+ /// to enable automatic tax calculation on this customer's invoices or subscriptions.
///
[JsonProperty("automatic_indirect_tax")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchant.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchant.cs
index 0cea703999..5cb2fdefe3 100644
--- a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchant.cs
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchant.cs
@@ -55,6 +55,15 @@ public class AccountConfigurationMerchant : StripeEntity
+ /// Settings specific to Konbini payments on the account.
+ ///
+ [JsonProperty("konbini_payments")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("konbini_payments")]
+#endif
+ public AccountConfigurationMerchantKonbiniPayments KonbiniPayments { get; set; }
+
///
/// The merchant category code for the merchant. MCCs are used to classify businesses based
/// on the goods or services they provide.
@@ -65,6 +74,15 @@ public class AccountConfigurationMerchant : StripeEntity
+ /// Settings for the default text that appears on statements for language variations.
+ ///
+ [JsonProperty("script_statement_descriptor")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("script_statement_descriptor")]
+#endif
+ public AccountConfigurationMerchantScriptStatementDescriptor ScriptStatementDescriptor { get; set; }
+
///
/// Settings used for SEPA debit payments.
///
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantKonbiniPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantKonbiniPayments.cs
new file mode 100644
index 0000000000..e60072fc74
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantKonbiniPayments.cs
@@ -0,0 +1,20 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountConfigurationMerchantKonbiniPayments : StripeEntity
+ {
+ ///
+ /// Support for Konbini payments.
+ ///
+ [JsonProperty("support")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("support")]
+#endif
+ public AccountConfigurationMerchantKonbiniPaymentsSupport Support { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantKonbiniPaymentsSupport.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantKonbiniPaymentsSupport.cs
new file mode 100644
index 0000000000..4f5018c71a
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantKonbiniPaymentsSupport.cs
@@ -0,0 +1,38 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountConfigurationMerchantKonbiniPaymentsSupport : StripeEntity
+ {
+ ///
+ /// Support email address for Konbini payments.
+ ///
+ [JsonProperty("email")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("email")]
+#endif
+ public string Email { get; set; }
+
+ ///
+ /// Support hours for Konbini payments.
+ ///
+ [JsonProperty("hours")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("hours")]
+#endif
+ public AccountConfigurationMerchantKonbiniPaymentsSupportHours Hours { get; set; }
+
+ ///
+ /// Support phone number for Konbini payments.
+ ///
+ [JsonProperty("phone")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("phone")]
+#endif
+ public string Phone { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantKonbiniPaymentsSupportHours.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantKonbiniPaymentsSupportHours.cs
new file mode 100644
index 0000000000..7e9f45605e
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantKonbiniPaymentsSupportHours.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountConfigurationMerchantKonbiniPaymentsSupportHours : StripeEntity
+ {
+ ///
+ /// Support hours end time (JST time of day) for in HH:MM format.
+ ///
+ [JsonProperty("end_time")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("end_time")]
+#endif
+ public string EndTime { get; set; }
+
+ ///
+ /// Support hours start time (JST time of day) for in HH:MM format.
+ ///
+ [JsonProperty("start_time")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("start_time")]
+#endif
+ public string StartTime { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantScriptStatementDescriptor.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantScriptStatementDescriptor.cs
new file mode 100644
index 0000000000..530d1513d8
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantScriptStatementDescriptor.cs
@@ -0,0 +1,35 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountConfigurationMerchantScriptStatementDescriptor : StripeEntity
+ {
+ ///
+ /// The Kana variation of statement_descriptor used for charges in Japan. Japanese statement
+ /// descriptors have special
+ /// requirements.
+ ///
+ [JsonProperty("kana")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("kana")]
+#endif
+ public AccountConfigurationMerchantScriptStatementDescriptorKana Kana { get; set; }
+
+ ///
+ /// The Kanji variation of statement_descriptor used for charges in Japan. Japanese
+ /// statement descriptors have special
+ /// requirements.
+ ///
+ [JsonProperty("kanji")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("kanji")]
+#endif
+ public AccountConfigurationMerchantScriptStatementDescriptorKanji Kanji { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantScriptStatementDescriptorKana.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantScriptStatementDescriptorKana.cs
new file mode 100644
index 0000000000..30c7bf0011
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantScriptStatementDescriptorKana.cs
@@ -0,0 +1,40 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountConfigurationMerchantScriptStatementDescriptorKana : StripeEntity
+ {
+ ///
+ /// The default text that appears on statements for non-card charges outside of Japan. For
+ /// card charges, if you don’t set a statement_descriptor_prefix, this text is also used as
+ /// the statement descriptor prefix. In that case, if concatenating the statement descriptor
+ /// suffix causes the combined statement descriptor to exceed 22 characters, we truncate the
+ /// statement_descriptor text to limit the full descriptor to 22 characters. For more
+ /// information about statement descriptors and their requirements, see the Merchant
+ /// Configuration settings documentation.
+ ///
+ [JsonProperty("descriptor")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("descriptor")]
+#endif
+ public string Descriptor { get; set; }
+
+ ///
+ /// Default text that appears on statements for card charges outside of Japan, prefixing any
+ /// dynamic statement_descriptor_suffix specified on the charge. To maximize space for the
+ /// dynamic part of the descriptor, keep this text short. If you don’t specify this value,
+ /// statement_descriptor is used as the prefix. For more information about statement
+ /// descriptors and their requirements, see the Merchant Configuration settings
+ /// documentation.
+ ///
+ [JsonProperty("prefix")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("prefix")]
+#endif
+ public string Prefix { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantScriptStatementDescriptorKanji.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantScriptStatementDescriptorKanji.cs
new file mode 100644
index 0000000000..7ee5621eef
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantScriptStatementDescriptorKanji.cs
@@ -0,0 +1,40 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountConfigurationMerchantScriptStatementDescriptorKanji : StripeEntity
+ {
+ ///
+ /// The default text that appears on statements for non-card charges outside of Japan. For
+ /// card charges, if you don’t set a statement_descriptor_prefix, this text is also used as
+ /// the statement descriptor prefix. In that case, if concatenating the statement descriptor
+ /// suffix causes the combined statement descriptor to exceed 22 characters, we truncate the
+ /// statement_descriptor text to limit the full descriptor to 22 characters. For more
+ /// information about statement descriptors and their requirements, see the Merchant
+ /// Configuration settings documentation.
+ ///
+ [JsonProperty("descriptor")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("descriptor")]
+#endif
+ public string Descriptor { get; set; }
+
+ ///
+ /// Default text that appears on statements for card charges outside of Japan, prefixing any
+ /// dynamic statement_descriptor_suffix specified on the charge. To maximize space for the
+ /// dynamic part of the descriptor, keep this text short. If you don’t specify this value,
+ /// statement_descriptor is used as the prefix. For more information about statement
+ /// descriptors and their requirements, see the Merchant Configuration settings
+ /// documentation.
+ ///
+ [JsonProperty("prefix")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("prefix")]
+#endif
+ public string Prefix { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationStorerCapabilitiesHoldsCurrencies.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationStorerCapabilitiesHoldsCurrencies.cs
index 3f76c6fa80..9b658579ca 100644
--- a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationStorerCapabilitiesHoldsCurrencies.cs
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationStorerCapabilitiesHoldsCurrencies.cs
@@ -8,6 +8,15 @@ namespace Stripe.V2.Core
public class AccountConfigurationStorerCapabilitiesHoldsCurrencies : StripeEntity
{
+ ///
+ /// Can hold storage-type funds on Stripe in EUR.
+ ///
+ [JsonProperty("eur")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("eur")]
+#endif
+ public AccountConfigurationStorerCapabilitiesHoldsCurrenciesEur Eur { get; set; }
+
///
/// Can hold storage-type funds on Stripe in GBP.
///
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationStorerCapabilitiesHoldsCurrenciesEur.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationStorerCapabilitiesHoldsCurrenciesEur.cs
new file mode 100644
index 0000000000..030ef8433d
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationStorerCapabilitiesHoldsCurrenciesEur.cs
@@ -0,0 +1,41 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountConfigurationStorerCapabilitiesHoldsCurrenciesEur : StripeEntity
+ {
+ ///
+ /// Whether the Capability has been requested.
+ ///
+ [JsonProperty("requested")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("requested")]
+#endif
+ public bool Requested { get; set; }
+
+ ///
+ /// The status of the Capability.
+ /// One of: active, pending, restricted, or unsupported.
+ ///
+ [JsonProperty("status")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("status")]
+#endif
+ public string Status { get; set; }
+
+ ///
+ /// Additional details regarding the status of the Capability. status_details will be
+ /// empty if the Capability's status is active.
+ ///
+ [JsonProperty("status_details")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("status_details")]
+#endif
+ public List StatusDetails { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationStorerCapabilitiesHoldsCurrenciesEurStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationStorerCapabilitiesHoldsCurrenciesEurStatusDetail.cs
new file mode 100644
index 0000000000..d1e017e4b5
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationStorerCapabilitiesHoldsCurrenciesEurStatusDetail.cs
@@ -0,0 +1,35 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountConfigurationStorerCapabilitiesHoldsCurrenciesEurStatusDetail : StripeEntity
+ {
+ ///
+ /// Machine-readable code explaining the reason for the Capability to be in its current
+ /// status.
+ /// One of: determining_status, requirements_past_due,
+ /// requirements_pending_verification, restricted_other,
+ /// unsupported_business, unsupported_country, or
+ /// unsupported_entity_type.
+ ///
+ [JsonProperty("code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("code")]
+#endif
+ public string Code { get; set; }
+
+ ///
+ /// Machine-readable code explaining how to make the Capability active.
+ /// One of: contact_stripe, no_resolution, or provide_info.
+ ///
+ [JsonProperty("resolution")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("resolution")]
+#endif
+ public string Resolution { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountDefaultsResponsibilities.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountDefaultsResponsibilities.cs
index 76a570ea2e..525a2bb8b7 100644
--- a/src/Stripe.net/Entities/V2/Core/Accounts/AccountDefaultsResponsibilities.cs
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountDefaultsResponsibilities.cs
@@ -30,5 +30,15 @@ public class AccountDefaultsResponsibilities : StripeEntity
+ /// A value indicating responsibility for collecting requirements on this account.
+ /// One of: application, or stripe.
+ ///
+ [JsonProperty("requirements_collector")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("requirements_collector")]
+#endif
+ public string RequirementsCollector { get; set; }
}
}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirements.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirements.cs
new file mode 100644
index 0000000000..8186d3856b
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirements.cs
@@ -0,0 +1,40 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using System;
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountFutureRequirements : StripeEntity
+ {
+ ///
+ /// A list of requirements for the Account.
+ ///
+ [JsonProperty("entries")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("entries")]
+#endif
+ public List Entries { get; set; }
+
+ ///
+ /// The time at which the future requirements become effective.
+ ///
+ [JsonProperty("minimum_transition_date")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("minimum_transition_date")]
+#endif
+ public DateTime? MinimumTransitionDate { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch;
+
+ ///
+ /// An object containing an overview of requirements for the Account.
+ ///
+ [JsonProperty("summary")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("summary")]
+#endif
+ public AccountFutureRequirementsSummary Summary { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntry.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntry.cs
new file mode 100644
index 0000000000..d456863a8c
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntry.cs
@@ -0,0 +1,79 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountFutureRequirementsEntry : StripeEntity
+ {
+ ///
+ /// Whether the responsibility is with the integrator or with Stripe (to review info, to
+ /// wait for some condition, etc.) to action the requirement.
+ /// One of: stripe, or user.
+ ///
+ [JsonProperty("awaiting_action_from")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("awaiting_action_from")]
+#endif
+ public string AwaitingActionFrom { get; set; }
+
+ ///
+ /// Machine-readable string describing the requirement.
+ ///
+ [JsonProperty("description")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("description")]
+#endif
+ public string Description { get; set; }
+
+ ///
+ /// Descriptions of why the requirement must be collected, or why the collected information
+ /// isn't satisfactory to Stripe.
+ ///
+ [JsonProperty("errors")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("errors")]
+#endif
+ public List Errors { get; set; }
+
+ ///
+ /// A hash describing the impact of not collecting the requirement, or Stripe not being able
+ /// to verify the collected information.
+ ///
+ [JsonProperty("impact")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("impact")]
+#endif
+ public AccountFutureRequirementsEntryImpact Impact { get; set; }
+
+ ///
+ /// The soonest point when the account will be impacted by not providing the requirement.
+ ///
+ [JsonProperty("minimum_deadline")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("minimum_deadline")]
+#endif
+ public AccountFutureRequirementsEntryMinimumDeadline MinimumDeadline { get; set; }
+
+ ///
+ /// A reference to the location of the requirement.
+ ///
+ [JsonProperty("reference")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("reference")]
+#endif
+ public AccountFutureRequirementsEntryReference Reference { get; set; }
+
+ ///
+ /// A list of reasons why Stripe is collecting the requirement.
+ ///
+ [JsonProperty("requested_reasons")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("requested_reasons")]
+#endif
+ public List RequestedReasons { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryError.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryError.cs
new file mode 100644
index 0000000000..406fbca988
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryError.cs
@@ -0,0 +1,93 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountFutureRequirementsEntryError : StripeEntity
+ {
+ ///
+ /// Machine-readable code describing the error.
+ /// One of: invalid_address_city_state_postal_code,
+ /// invalid_address_highway_contract_box, invalid_address_private_mailbox,
+ /// invalid_business_profile_name, invalid_business_profile_name_denylisted,
+ /// invalid_company_name_denylisted, invalid_dob_age_over_maximum,
+ /// invalid_dob_age_under_18, invalid_dob_age_under_minimum,
+ /// invalid_product_description_length, invalid_product_description_url_match,
+ /// invalid_representative_country,
+ /// invalid_statement_descriptor_business_mismatch,
+ /// invalid_statement_descriptor_denylisted,
+ /// invalid_statement_descriptor_length,
+ /// invalid_statement_descriptor_prefix_denylisted,
+ /// invalid_statement_descriptor_prefix_mismatch, invalid_street_address,
+ /// invalid_tax_id, invalid_tax_id_format, invalid_tos_acceptance,
+ /// invalid_url_denylisted, invalid_url_format,
+ /// invalid_url_website_business_information_mismatch,
+ /// invalid_url_website_empty, invalid_url_website_inaccessible,
+ /// invalid_url_website_inaccessible_geoblocked,
+ /// invalid_url_website_inaccessible_password_protected,
+ /// invalid_url_website_incomplete,
+ /// invalid_url_website_incomplete_cancellation_policy,
+ /// invalid_url_website_incomplete_customer_service_details,
+ /// invalid_url_website_incomplete_legal_restrictions,
+ /// invalid_url_website_incomplete_refund_policy,
+ /// invalid_url_website_incomplete_return_policy,
+ /// invalid_url_website_incomplete_terms_and_conditions,
+ /// invalid_url_website_incomplete_under_construction,
+ /// invalid_url_website_other, invalid_url_web_presence_detected,
+ /// invalid_value_other, unresolvable_ip_address,
+ /// unresolvable_postal_code, verification_directors_mismatch,
+ /// verification_document_address_mismatch,
+ /// verification_document_address_missing, verification_document_corrupt,
+ /// verification_document_country_not_supported,
+ /// verification_document_directors_mismatch,
+ /// verification_document_dob_mismatch, verification_document_duplicate_type,
+ /// verification_document_expired, verification_document_failed_copy,
+ /// verification_document_failed_greyscale,
+ /// verification_document_failed_other,
+ /// verification_document_failed_test_mode, verification_document_fraudulent,
+ /// verification_document_id_number_mismatch,
+ /// verification_document_id_number_missing, verification_document_incomplete,
+ /// verification_document_invalid,
+ /// verification_document_issue_or_expiry_date_missing,
+ /// verification_document_manipulated, verification_document_missing_back,
+ /// verification_document_missing_front, verification_document_name_mismatch,
+ /// verification_document_name_missing,
+ /// verification_document_nationality_mismatch,
+ /// verification_document_not_readable, verification_document_not_signed,
+ /// verification_document_not_uploaded, verification_document_photo_mismatch,
+ /// verification_document_too_large, verification_document_type_not_supported,
+ /// verification_extraneous_directors, verification_failed_address_match,
+ /// verification_failed_business_iec_number,
+ /// verification_failed_document_match, verification_failed_id_number_match,
+ /// verification_failed_keyed_identity, verification_failed_keyed_match,
+ /// verification_failed_name_match, verification_failed_other,
+ /// verification_failed_representative_authority,
+ /// verification_failed_residential_address, verification_failed_tax_id_match,
+ /// verification_failed_tax_id_not_issued, verification_missing_directors,
+ /// verification_missing_executives, verification_missing_owners,
+ /// verification_requires_additional_memorandum_of_associations,
+ /// verification_requires_additional_proof_of_registration,
+ /// verification_selfie_document_missing_photo,
+ /// verification_selfie_face_mismatch, verification_selfie_manipulated,
+ /// verification_selfie_unverified_other, verification_supportability, or
+ /// verification_token_stale.
+ ///
+ [JsonProperty("code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("code")]
+#endif
+ public string Code { get; set; }
+
+ ///
+ /// Human-readable description of the error.
+ ///
+ [JsonProperty("description")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("description")]
+#endif
+ public string Description { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryImpact.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryImpact.cs
new file mode 100644
index 0000000000..7b6a6a5c1e
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryImpact.cs
@@ -0,0 +1,22 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountFutureRequirementsEntryImpact : StripeEntity
+ {
+ ///
+ /// The Capabilities that will be restricted if the requirement is not collected and
+ /// satisfactory to Stripe.
+ ///
+ [JsonProperty("restricts_capabilities")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("restricts_capabilities")]
+#endif
+ public List RestrictsCapabilities { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryImpactRestrictsCapability.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryImpactRestrictsCapability.cs
new file mode 100644
index 0000000000..7ca147233e
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryImpactRestrictsCapability.cs
@@ -0,0 +1,63 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountFutureRequirementsEntryImpactRestrictsCapability : StripeEntity
+ {
+ ///
+ /// The name of the Capability which will be restricted.
+ /// One of: ach_debit_payments, acss_debit_payments, affirm_payments,
+ /// afterpay_clearpay_payments, alma_payments, amazon_pay_payments,
+ /// automatic_indirect_tax, au_becs_debit_payments,
+ /// bacs_debit_payments, bancontact_payments, bank_accounts.local,
+ /// bank_accounts.wire, blik_payments, boleto_payments, cards,
+ /// card_payments, cartes_bancaires_payments, cashapp_payments,
+ /// eps_payments, financial_addresses.bank_accounts, fpx_payments,
+ /// gb_bank_transfer_payments, grabpay_payments, holds_currencies.eur,
+ /// holds_currencies.gbp, holds_currencies.usd, ideal_payments,
+ /// inbound_transfers.financial_accounts, jcb_payments,
+ /// jp_bank_transfer_payments, kakao_pay_payments, klarna_payments,
+ /// konbini_payments, kr_card_payments, link_payments,
+ /// mobilepay_payments, multibanco_payments, mx_bank_transfer_payments,
+ /// naver_pay_payments, outbound_payments.bank_accounts,
+ /// outbound_payments.cards, outbound_payments.financial_accounts,
+ /// outbound_transfers.bank_accounts, outbound_transfers.financial_accounts,
+ /// oxxo_payments, p24_payments, payco_payments,
+ /// paynow_payments, pay_by_bank_payments, promptpay_payments,
+ /// revolut_pay_payments, samsung_pay_payments,
+ /// sepa_bank_transfer_payments, sepa_debit_payments,
+ /// stripe_balance.payouts, stripe_balance.stripe_transfers,
+ /// swish_payments, twint_payments, us_bank_transfer_payments, or
+ /// zip_payments.
+ ///
+ [JsonProperty("capability")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("capability")]
+#endif
+ public string Capability { get; set; }
+
+ ///
+ /// The configuration which specifies the Capability which will be restricted.
+ /// One of: customer, merchant, recipient, or storer.
+ ///
+ [JsonProperty("configuration")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("configuration")]
+#endif
+ public string Configuration { get; set; }
+
+ ///
+ /// Details about when in the account lifecycle the requirement must be collected by the
+ /// avoid the Capability restriction.
+ ///
+ [JsonProperty("deadline")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("deadline")]
+#endif
+ public AccountFutureRequirementsEntryImpactRestrictsCapabilityDeadline Deadline { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryImpactRestrictsCapabilityDeadline.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryImpactRestrictsCapabilityDeadline.cs
new file mode 100644
index 0000000000..893584c5de
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryImpactRestrictsCapabilityDeadline.cs
@@ -0,0 +1,21 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountFutureRequirementsEntryImpactRestrictsCapabilityDeadline : StripeEntity
+ {
+ ///
+ /// The current status of the requirement's impact.
+ /// One of: currently_due, eventually_due, or past_due.
+ ///
+ [JsonProperty("status")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("status")]
+#endif
+ public string Status { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryMinimumDeadline.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryMinimumDeadline.cs
new file mode 100644
index 0000000000..085058ff47
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryMinimumDeadline.cs
@@ -0,0 +1,21 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountFutureRequirementsEntryMinimumDeadline : StripeEntity
+ {
+ ///
+ /// The current status of the requirement's impact.
+ /// One of: currently_due, eventually_due, or past_due.
+ ///
+ [JsonProperty("status")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("status")]
+#endif
+ public string Status { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryReference.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryReference.cs
new file mode 100644
index 0000000000..88b4c43172
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryReference.cs
@@ -0,0 +1,41 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountFutureRequirementsEntryReference : StripeEntity
+ {
+ ///
+ /// If inquiry is the type, the inquiry token.
+ ///
+ [JsonProperty("inquiry")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("inquiry")]
+#endif
+ public string Inquiry { get; set; }
+
+ ///
+ /// If resource is the type, the resource token.
+ ///
+ [JsonProperty("resource")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("resource")]
+#endif
+ public string Resource { get; set; }
+
+ ///
+ /// The type of the reference. If the type is "inquiry", the inquiry token can be found in
+ /// the "inquiry" field. Otherwise the type is an API resource, the token for which can be
+ /// found in the "resource" field.
+ /// One of: inquiry, payment_method, or person.
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryRequestedReason.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryRequestedReason.cs
new file mode 100644
index 0000000000..5319f35f97
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsEntryRequestedReason.cs
@@ -0,0 +1,21 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountFutureRequirementsEntryRequestedReason : StripeEntity
+ {
+ ///
+ /// Machine-readable description of Stripe's reason for collecting the requirement.
+ /// One of: routine_onboarding, or routine_verification.
+ ///
+ [JsonProperty("code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("code")]
+#endif
+ public string Code { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsSummary.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsSummary.cs
new file mode 100644
index 0000000000..20756b6027
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsSummary.cs
@@ -0,0 +1,22 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountFutureRequirementsSummary : StripeEntity
+ {
+ ///
+ /// The soonest date and time a requirement on the Account will become past due.
+ /// Represented as a RFC 3339 date & time UTC value in millisecond precision, for
+ /// example: 2022-09-18T13:22:18.123Z.
+ ///
+ [JsonProperty("minimum_deadline")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("minimum_deadline")]
+#endif
+ public AccountFutureRequirementsSummaryMinimumDeadline MinimumDeadline { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsSummaryMinimumDeadline.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsSummaryMinimumDeadline.cs
new file mode 100644
index 0000000000..3da4d4782f
--- /dev/null
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountFutureRequirementsSummaryMinimumDeadline.cs
@@ -0,0 +1,31 @@
+// File generated from our OpenAPI spec
+namespace Stripe.V2.Core
+{
+ using System;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountFutureRequirementsSummaryMinimumDeadline : StripeEntity
+ {
+ ///
+ /// The current strictest status of all requirements on the Account.
+ /// One of: currently_due, eventually_due, or past_due.
+ ///
+ [JsonProperty("status")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("status")]
+#endif
+ public string Status { get; set; }
+
+ ///
+ /// The soonest RFC3339 date & time UTC value a requirement can impact the Account.
+ ///
+ [JsonProperty("time")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("time")]
+#endif
+ public DateTime? Time { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch;
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsIdNumber.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsIdNumber.cs
index 3128057221..540b55925a 100644
--- a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsIdNumber.cs
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsIdNumber.cs
@@ -19,21 +19,21 @@ public class AccountIdentityBusinessDetailsIdNumber : StripeEntity
/// Open Enum. The ID number type of a business entity.
- /// One of: ae_crn, ae_vat, ao_nif, at_fn, au_abn,
- /// au_acn, au_in, az_tin, bd_etin, be_cbe,
- /// bg_uic, br_cnpj, ca_cn, ca_crarr, ca_neq,
- /// ca_rid, ch_chid, ch_uid, cr_cpj, cr_nite,
- /// cy_tic, cz_ico, de_hrn, de_vat, dk_cvr,
- /// do_rcn, ee_rk, es_cif, fi_yt, fr_siren,
- /// fr_vat, gb_crn, gi_crn, gr_gemi, gt_nit,
- /// hk_br, hk_cr, hk_mbs, hu_cjs, ie_crn, it_rea,
- /// it_vat, jp_cn, kz_bin, li_uid, lt_ccrn,
- /// lu_rcs, lv_urn, mt_crn, mx_rfc, my_brn,
- /// my_coid, my_sst, mz_nuit, nl_kvk, no_orgnr,
- /// nz_bn, pe_ruc, pk_ntn, pl_regon, pt_vat,
- /// ro_cui, sa_crn, sa_tin, se_orgnr, sg_uen,
- /// si_msp, sk_ico, th_crn, th_prn, th_tin, or
- /// us_ein.
+ /// One of: ae_crn, ae_vat, ao_nif, ar_cuit, at_fn,
+ /// au_abn, au_acn, au_in, az_tin, bd_etin,
+ /// be_cbe, bg_uic, br_cnpj, ca_cn, ca_crarr,
+ /// ca_neq, ca_rid, ch_chid, ch_uid, cr_cpj,
+ /// cr_nite, cy_tic, cz_ico, de_hrn, de_vat,
+ /// dk_cvr, do_rcn, ee_rk, es_cif, fi_yt,
+ /// fr_siren, fr_vat, gb_crn, gi_crn, gr_gemi,
+ /// gt_nit, hk_br, hk_cr, hk_mbs, hu_cjs, ie_crn,
+ /// it_rea, it_vat, jp_cn, kz_bin, li_uid,
+ /// lt_ccrn, lu_rcs, lv_urn, mt_crn, mx_rfc,
+ /// my_brn, my_coid, my_sst, mz_nuit, nl_kvk,
+ /// no_orgnr, nz_bn, pe_ruc, pk_ntn, pl_regon,
+ /// pt_vat, ro_cui, sa_crn, sa_tin, se_orgnr,
+ /// sg_uen, si_msp, sk_ico, th_crn, th_prn,
+ /// th_tin, or us_ein.
///
[JsonProperty("type")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualIdNumber.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualIdNumber.cs
index 88ffcf9596..013dcf0f63 100644
--- a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualIdNumber.cs
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualIdNumber.cs
@@ -10,13 +10,13 @@ public class AccountIdentityIndividualIdNumber : StripeEntity
/// The ID number type of an individual.
- /// One of: ae_eid, ao_nif, az_tin, bd_brc, bd_etin,
- /// bd_nid, br_cpf, cr_cpf, cr_dimex, cr_nite,
- /// de_stn, do_rcn, gt_nit, hk_id, kz_iin, mx_rfc,
- /// my_nric, mz_nuit, nl_bsn, pe_dni, pk_cnic,
- /// pk_snic, sa_tin, sg_fin, sg_nric, th_lc,
- /// th_pin, us_itin, us_itin_last_4, us_ssn, or
- /// us_ssn_last_4.
+ /// One of: ae_eid, ao_nif, ar_dni, az_tin, bd_brc,
+ /// bd_etin, bd_nid, br_cpf, cr_cpf, cr_dimex,
+ /// cr_nite, de_stn, do_rcn, gt_nit, hk_id,
+ /// kz_iin, mx_rfc, my_nric, mz_nuit, nl_bsn,
+ /// pe_dni, pk_cnic, pk_snic, sa_tin, sg_fin,
+ /// sg_nric, th_lc, th_pin, us_itin, us_itin_last_4,
+ /// us_ssn, or us_ssn_last_4.
///
[JsonProperty("type")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirements.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirements.cs
index 50332d5abc..e46834f2d7 100644
--- a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirements.cs
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirements.cs
@@ -9,16 +9,6 @@ namespace Stripe.V2.Core
public class AccountRequirements : StripeEntity
{
- ///
- /// A value indicating responsibility for collecting requirements on this account.
- /// One of: application, or stripe.
- ///
- [JsonProperty("collector")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("collector")]
-#endif
- public string Collector { get; set; }
-
///
/// A list of requirements for the Account.
///
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsCapability.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsCapability.cs
index 6e9bcf8f15..094fc26e63 100644
--- a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsCapability.cs
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsCapability.cs
@@ -17,8 +17,8 @@ public class AccountRequirementsEntryImpactRestrictsCapability : StripeEntitybank_accounts.wire, blik_payments, boleto_payments, cards,
/// card_payments, cartes_bancaires_payments, cashapp_payments,
/// eps_payments, financial_addresses.bank_accounts, fpx_payments,
- /// gb_bank_transfer_payments, grabpay_payments, holds_currencies.gbp,
- /// holds_currencies.usd, ideal_payments,
+ /// gb_bank_transfer_payments, grabpay_payments, holds_currencies.eur,
+ /// holds_currencies.gbp, holds_currencies.usd, ideal_payments,
/// inbound_transfers.financial_accounts, jcb_payments,
/// jp_bank_transfer_payments, kakao_pay_payments, klarna_payments,
/// konbini_payments, kr_card_payments, link_payments,
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryReference.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryReference.cs
index 5cb3c44ecd..ae8f5676b6 100644
--- a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryReference.cs
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryReference.cs
@@ -27,9 +27,10 @@ public class AccountRequirementsEntryReference : StripeEntity
- /// The type of the reference. An additional hash is included with a name matching the type.
- /// It contains additional information specific to the type.
- /// One of: inquiry, or resource.
+ /// The type of the reference. If the type is "inquiry", the inquiry token can be found in
+ /// the "inquiry" field. Otherwise the type is an API resource, the token for which can be
+ /// found in the "resource" field.
+ /// One of: inquiry, payment_method, or person.
///
[JsonProperty("type")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryRequestedReason.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryRequestedReason.cs
index 9933ff8456..8665b86ffe 100644
--- a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryRequestedReason.cs
+++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryRequestedReason.cs
@@ -10,8 +10,7 @@ public class AccountRequirementsEntryRequestedReason : StripeEntity
/// Machine-readable description of Stripe's reason for collecting the requirement.
- /// One of: future_requirements, routine_onboarding, or
- /// routine_verification.
+ /// One of: routine_onboarding, or routine_verification.
///
[JsonProperty("code")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/V2/Core/Events/Event.cs b/src/Stripe.net/Entities/V2/Core/Events/Event.cs
index 93f2c9ad39..090774f6d3 100644
--- a/src/Stripe.net/Entities/V2/Core/Events/Event.cs
+++ b/src/Stripe.net/Entities/V2/Core/Events/Event.cs
@@ -2,6 +2,7 @@
namespace Stripe.V2.Core
{
using System;
+ using System.Collections.Generic;
using Newtonsoft.Json;
#if NET6_0_OR_GREATER
using STJS = System.Text.Json.Serialization;
@@ -31,6 +32,15 @@ public partial class Event : StripeEntity, IHasId, IHasObject
#endif
public string Object { get; set; }
+ ///
+ /// Before and after changes for the primary related object.
+ ///
+ [JsonProperty("changes")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("changes")]
+#endif
+ public Dictionary Changes { get; set; }
+
///
/// Authentication context needed to fetch the event or related object.
///
diff --git a/src/Stripe.net/Entities/V2/MoneyManagement/FinancialAddresses/FinancialAddressCredentials.cs b/src/Stripe.net/Entities/V2/MoneyManagement/FinancialAddresses/FinancialAddressCredentials.cs
index 82ba6f32b8..02d6bb7845 100644
--- a/src/Stripe.net/Entities/V2/MoneyManagement/FinancialAddresses/FinancialAddressCredentials.cs
+++ b/src/Stripe.net/Entities/V2/MoneyManagement/FinancialAddresses/FinancialAddressCredentials.cs
@@ -10,7 +10,7 @@ public class FinancialAddressCredentials : StripeEntity
/// Open Enum. The type of Credentials that are provisioned for the FinancialAddress.
- /// One of: gb_bank_account, sepa_bank_account, or us_bank_account.
+ /// One of: gb_bank_account, or us_bank_account.
///
[JsonProperty("type")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPayment.cs b/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPayment.cs
deleted file mode 100644
index 27d56be31e..0000000000
--- a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPayment.cs
+++ /dev/null
@@ -1,274 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.V2.Payments
-{
- using System;
- using System.Collections.Generic;
- using Newtonsoft.Json;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- ///
- /// OffSessionPayment resource.
- ///
- public class OffSessionPayment : StripeEntity, IHasId, IHasMetadata, IHasObject
- {
- ///
- /// Unique identifier for the object.
- ///
- [JsonProperty("id")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("id")]
-#endif
- public string Id { get; set; }
-
- ///
- /// String representing the object's type. Objects of the same type share the same value of
- /// the object field.
- ///
- [JsonProperty("object")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("object")]
-#endif
- public string Object { get; set; }
-
- ///
- /// The amount available to be captured.
- ///
- [JsonProperty("amount_capturable")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("amount_capturable")]
-#endif
- public V2.Amount AmountCapturable { get; set; }
-
- ///
- /// Provides industry-specific information about the amount.
- ///
- [JsonProperty("amount_details")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("amount_details")]
-#endif
- public OffSessionPaymentAmountDetails AmountDetails { get; set; }
-
- ///
- /// The “presentment amount” to be collected from the customer.
- ///
- [JsonProperty("amount_requested")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("amount_requested")]
-#endif
- public V2.Amount AmountRequested { get; set; }
-
- ///
- /// The frequency of the underlying payment.
- /// One of: recurring, or unscheduled.
- ///
- [JsonProperty("cadence")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("cadence")]
-#endif
- public string Cadence { get; set; }
-
- ///
- /// Details about the capture configuration for the OffSessionPayment.
- ///
- [JsonProperty("capture")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("capture")]
-#endif
- public OffSessionPaymentCapture Capture { get; set; }
-
- ///
- /// Whether the OffSessionPayment should be captured automatically or manually.
- /// One of: automatic, or manual.
- ///
- [JsonProperty("capture_method")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("capture_method")]
-#endif
- public string CaptureMethod { get; set; }
-
- ///
- /// ID of the owning compartment.
- ///
- [JsonProperty("compartment_id")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("compartment_id")]
-#endif
- public string CompartmentId { get; set; }
-
- ///
- /// Creation time of the OffSessionPayment. Represented as a RFC 3339 date & time UTC
- /// value in millisecond precision, for example: 2022-09-18T13:22:18.123Z.
- ///
- [JsonProperty("created")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("created")]
-#endif
- public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch;
-
- ///
- /// ID of the Customer to which this OffSessionPayment belongs.
- ///
- [JsonProperty("customer")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("customer")]
-#endif
- public string Customer { get; set; }
-
- ///
- /// The reason why the OffSessionPayment failed.
- /// One of: authorization_expired, rejected_by_partner, or
- /// retries_exhausted.
- ///
- [JsonProperty("failure_reason")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("failure_reason")]
-#endif
- public string FailureReason { get; set; }
-
- ///
- /// The payment error encountered in the previous attempt to authorize the payment.
- ///
- [JsonProperty("last_authorization_attempt_error")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("last_authorization_attempt_error")]
-#endif
- public string LastAuthorizationAttemptError { get; set; }
-
- ///
- /// Payment attempt record for the latest attempt, if one exists.
- ///
- [JsonProperty("latest_payment_attempt_record")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("latest_payment_attempt_record")]
-#endif
- public string LatestPaymentAttemptRecord { get; set; }
-
- ///
- /// Has the value true if the object exists in live mode or the value false if the object
- /// exists in test mode.
- ///
- [JsonProperty("livemode")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("livemode")]
-#endif
- public bool Livemode { get; set; }
-
- ///
- /// Set of key-value pairs that you
- /// can attach to an object. This can be useful for storing additional information about the
- /// object in a structured format. Learn more about storing
- /// information in metadata.
- ///
- [JsonProperty("metadata")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("metadata")]
-#endif
- public Dictionary Metadata { get; set; }
-
- ///
- /// The account (if any) for which the funds of the OffSessionPayment are intended.
- ///
- [JsonProperty("on_behalf_of")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("on_behalf_of")]
-#endif
- public string OnBehalfOf { get; set; }
-
- ///
- /// ID of the payment method used in this OffSessionPayment.
- ///
- [JsonProperty("payment_method")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("payment_method")]
-#endif
- public string PaymentMethod { get; set; }
-
- ///
- /// Payment record associated with the OffSessionPayment.
- ///
- [JsonProperty("payment_record")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("payment_record")]
-#endif
- public string PaymentRecord { get; set; }
-
- ///
- /// Details about the payments orchestration configuration.
- ///
- [JsonProperty("payments_orchestration")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("payments_orchestration")]
-#endif
- public OffSessionPaymentPaymentsOrchestration PaymentsOrchestration { get; set; }
-
- ///
- /// Details about the OffSessionPayment retries.
- ///
- [JsonProperty("retry_details")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("retry_details")]
-#endif
- public OffSessionPaymentRetryDetails RetryDetails { get; set; }
-
- ///
- /// Text that appears on the customer’s statement as the statement descriptor for a non-card
- /// charge. This value overrides the account’s default statement descriptor. For information
- /// about requirements, including the 22-character limit, see the Statement
- /// Descriptor docs.
- ///
- [JsonProperty("statement_descriptor")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("statement_descriptor")]
-#endif
- public string StatementDescriptor { get; set; }
-
- ///
- /// Provides information about a card charge. Concatenated to the account’s statement
- /// descriptor prefix to form the complete statement descriptor that appears on the
- /// customer’s statement.
- ///
- [JsonProperty("statement_descriptor_suffix")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("statement_descriptor_suffix")]
-#endif
- public string StatementDescriptorSuffix { get; set; }
-
- ///
- /// Status of this OffSessionPayment, one of pending, pending_retry,
- /// processing, failed, canceled, requires_capture, or
- /// succeeded.
- /// One of: canceled, failed, pending, pending_retry,
- /// processing, requires_capture, or succeeded.
- ///
- [JsonProperty("status")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("status")]
-#endif
- public string Status { get; set; }
-
- ///
- /// Test clock that can be used to advance the retry attempts in a sandbox.
- ///
- [JsonProperty("test_clock")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("test_clock")]
-#endif
- public string TestClock { get; set; }
-
- ///
- /// The data that automatically creates a Transfer after the payment finalizes. Learn more
- /// about the use case for connected accounts.
- ///
- [JsonProperty("transfer_data")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("transfer_data")]
-#endif
- public OffSessionPaymentTransferData TransferData { get; set; }
- }
-}
diff --git a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentAmountDetails.cs b/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentAmountDetails.cs
deleted file mode 100644
index 6cbaf02811..0000000000
--- a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentAmountDetails.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.V2.Payments
-{
- using System.Collections.Generic;
- using Newtonsoft.Json;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- public class OffSessionPaymentAmountDetails : StripeEntity
- {
- ///
- /// The amount the total transaction was discounted for.
- ///
- [JsonProperty("discount_amount")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("discount_amount")]
-#endif
- public long? DiscountAmount { get; set; }
-
- ///
- /// A list of line items, each containing information about a product in the PaymentIntent.
- /// There is a maximum of 100 line items.
- ///
- [JsonProperty("line_items")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("line_items")]
-#endif
- public List LineItems { get; set; }
-
- ///
- /// Contains information about the shipping portion of the amount.
- ///
- [JsonProperty("shipping")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("shipping")]
-#endif
- public OffSessionPaymentAmountDetailsShipping Shipping { get; set; }
-
- ///
- /// Contains information about the tax portion of the amount.
- ///
- [JsonProperty("tax")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("tax")]
-#endif
- public OffSessionPaymentAmountDetailsTax Tax { get; set; }
- }
-}
diff --git a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentAmountDetailsLineItem.cs b/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentAmountDetailsLineItem.cs
deleted file mode 100644
index dadfa70444..0000000000
--- a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentAmountDetailsLineItem.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.V2.Payments
-{
- using Newtonsoft.Json;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- public class OffSessionPaymentAmountDetailsLineItem : StripeEntity
- {
- ///
- /// The amount an item was discounted for. Positive integer.
- ///
- [JsonProperty("discount_amount")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("discount_amount")]
-#endif
- public long? DiscountAmount { get; set; }
-
- ///
- /// Unique identifier of the product. At most 12 characters long.
- ///
- [JsonProperty("product_code")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("product_code")]
-#endif
- public string ProductCode { get; set; }
-
- ///
- /// Name of the product. At most 100 characters long.
- ///
- [JsonProperty("product_name")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("product_name")]
-#endif
- public string ProductName { get; set; }
-
- ///
- /// Number of items of the product. Positive integer.
- ///
- [JsonProperty("quantity")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("quantity")]
-#endif
- public long Quantity { get; set; }
-
- ///
- /// Contains information about the tax on the item.
- ///
- [JsonProperty("tax")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("tax")]
-#endif
- public OffSessionPaymentAmountDetailsLineItemTax Tax { get; set; }
-
- ///
- /// Cost of the product. Non-negative integer.
- ///
- [JsonProperty("unit_cost")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("unit_cost")]
-#endif
- public long UnitCost { get; set; }
- }
-}
diff --git a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentAmountDetailsLineItemTax.cs b/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentAmountDetailsLineItemTax.cs
deleted file mode 100644
index 24ce7aaea9..0000000000
--- a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentAmountDetailsLineItemTax.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.V2.Payments
-{
- using Newtonsoft.Json;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- public class OffSessionPaymentAmountDetailsLineItemTax : StripeEntity
- {
- ///
- /// Total portion of the amount that is for tax.
- ///
- [JsonProperty("total_tax_amount")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("total_tax_amount")]
-#endif
- public long? TotalTaxAmount { get; set; }
- }
-}
diff --git a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentAmountDetailsShipping.cs b/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentAmountDetailsShipping.cs
deleted file mode 100644
index a89083b42b..0000000000
--- a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentAmountDetailsShipping.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.V2.Payments
-{
- using Newtonsoft.Json;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- public class OffSessionPaymentAmountDetailsShipping : StripeEntity
- {
- ///
- /// Portion of the amount that is for shipping.
- ///
- [JsonProperty("amount")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("amount")]
-#endif
- public long? Amount { get; set; }
-
- ///
- /// The postal code that represents the shipping source.
- ///
- [JsonProperty("from_postal_code")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("from_postal_code")]
-#endif
- public string FromPostalCode { get; set; }
-
- ///
- /// The postal code that represents the shipping destination.
- ///
- [JsonProperty("to_postal_code")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("to_postal_code")]
-#endif
- public string ToPostalCode { get; set; }
- }
-}
diff --git a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentAmountDetailsTax.cs b/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentAmountDetailsTax.cs
deleted file mode 100644
index f72382c8dc..0000000000
--- a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentAmountDetailsTax.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.V2.Payments
-{
- using Newtonsoft.Json;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- public class OffSessionPaymentAmountDetailsTax : StripeEntity
- {
- ///
- /// Total portion of the amount that is for tax.
- ///
- [JsonProperty("total_tax_amount")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("total_tax_amount")]
-#endif
- public long? TotalTaxAmount { get; set; }
- }
-}
diff --git a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentCapture.cs b/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentCapture.cs
deleted file mode 100644
index f6a50ad241..0000000000
--- a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentCapture.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.V2.Payments
-{
- using System;
- using Newtonsoft.Json;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- public class OffSessionPaymentCapture : StripeEntity
- {
- ///
- /// The timestamp when this payment is no longer eligible to be captured.
- ///
- [JsonProperty("capture_before")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("capture_before")]
-#endif
- public DateTime? CaptureBefore { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch;
-
- ///
- /// The method to use to capture the payment.
- /// One of: automatic, or manual.
- ///
- [JsonProperty("capture_method")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("capture_method")]
-#endif
- public string CaptureMethod { get; set; }
- }
-}
diff --git a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentPaymentsOrchestration.cs b/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentPaymentsOrchestration.cs
deleted file mode 100644
index 49dfc231f1..0000000000
--- a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentPaymentsOrchestration.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.V2.Payments
-{
- using Newtonsoft.Json;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- public class OffSessionPaymentPaymentsOrchestration : StripeEntity
- {
- ///
- /// True when you want to enable payments orchestration for this off-session payment. False
- /// otherwise.
- ///
- [JsonProperty("enabled")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("enabled")]
-#endif
- public bool Enabled { get; set; }
- }
-}
diff --git a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentRetryDetails.cs b/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentRetryDetails.cs
deleted file mode 100644
index 6741cbdec8..0000000000
--- a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentRetryDetails.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.V2.Payments
-{
- using Newtonsoft.Json;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- public class OffSessionPaymentRetryDetails : StripeEntity
- {
- ///
- /// Number of authorization attempts so far.
- ///
- [JsonProperty("attempts")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("attempts")]
-#endif
- public long Attempts { get; set; }
-
- ///
- /// The pre-configured retry policy to use for the payment.
- ///
- [JsonProperty("retry_policy")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("retry_policy")]
-#endif
- public string RetryPolicy { get; set; }
-
- ///
- /// Indicates the strategy for how you want Stripe to retry the payment.
- /// One of: heuristic, none, scheduled, or smart.
- ///
- [JsonProperty("retry_strategy")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("retry_strategy")]
-#endif
- public string RetryStrategy { get; set; }
- }
-}
diff --git a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentTransferData.cs b/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentTransferData.cs
deleted file mode 100644
index 5760c00ce5..0000000000
--- a/src/Stripe.net/Entities/V2/Payments/OffSessionPayments/OffSessionPaymentTransferData.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.V2.Payments
-{
- using Newtonsoft.Json;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- public class OffSessionPaymentTransferData : StripeEntity
- {
- ///
- /// The amount transferred to the destination account. This transfer will occur
- /// automatically after the payment succeeds. If no amount is specified, by default the
- /// entire payment amount is transferred to the destination account. The amount must be less
- /// than or equal to the amount_requested,
- /// and must be a positive integer representing how much to transfer in the smallest
- /// currency unit (e.g., 100 cents to charge $1.00).
- ///
- [JsonProperty("amount")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("amount")]
-#endif
- public long? Amount { get; set; }
-
- ///
- /// The account (if any) that the payment is attributed to for tax reporting, and where
- /// funds from the payment are transferred to after payment success.
- ///
- [JsonProperty("destination")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("destination")]
-#endif
- public string Destination { get; set; }
- }
-}
diff --git a/src/Stripe.net/Events/V2CoreHealthEventGenerationFailureResolvedEvent.cs b/src/Stripe.net/Events/V2CoreHealthEventGenerationFailureResolvedEvent.cs
new file mode 100644
index 0000000000..8af8a09033
--- /dev/null
+++ b/src/Stripe.net/Events/V2CoreHealthEventGenerationFailureResolvedEvent.cs
@@ -0,0 +1,25 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Events
+{
+ using System.Threading.Tasks;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ ///
+ /// Occurs when an event generation failure alert is resolved.
+ ///
+ public class V2CoreHealthEventGenerationFailureResolvedEvent : V2.Core.Event
+ {
+ ///
+ /// Data for the v2.core.health.event_generation_failure.resolved event.
+ ///
+ [JsonProperty("data")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("data")]
+#endif
+
+ public V2CoreHealthEventGenerationFailureResolvedEventData Data { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Events/V2CoreHealthEventGenerationFailureResolvedEventData.cs b/src/Stripe.net/Events/V2CoreHealthEventGenerationFailureResolvedEventData.cs
new file mode 100644
index 0000000000..afdcbf1d33
--- /dev/null
+++ b/src/Stripe.net/Events/V2CoreHealthEventGenerationFailureResolvedEventData.cs
@@ -0,0 +1,58 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Events
+{
+ using System;
+ using System.Threading.Tasks;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class V2CoreHealthEventGenerationFailureResolvedEventData : StripeEntity
+ {
+ ///
+ /// The alert ID.
+ ///
+ [JsonProperty("alert_id")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("alert_id")]
+#endif
+ public string AlertId { get; set; }
+
+ ///
+ /// The grouping key for the alert.
+ ///
+ [JsonProperty("grouping_key")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("grouping_key")]
+#endif
+ public string GroupingKey { get; set; }
+
+ ///
+ /// The user impact.
+ ///
+ [JsonProperty("impact")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("impact")]
+#endif
+ public V2CoreHealthEventGenerationFailureResolvedEventDataImpact Impact { get; set; }
+
+ ///
+ /// The time when the user experience has returned to expected levels.
+ ///
+ [JsonProperty("resolved_at")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("resolved_at")]
+#endif
+ public DateTime ResolvedAt { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch;
+
+ ///
+ /// A short description of the alert.
+ ///
+ [JsonProperty("summary")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("summary")]
+#endif
+ public string Summary { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Events/V2CoreHealthEventGenerationFailureResolvedEventDataImpact.cs b/src/Stripe.net/Events/V2CoreHealthEventGenerationFailureResolvedEventDataImpact.cs
new file mode 100644
index 0000000000..f31784b28b
--- /dev/null
+++ b/src/Stripe.net/Events/V2CoreHealthEventGenerationFailureResolvedEventDataImpact.cs
@@ -0,0 +1,40 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Events
+{
+ using System.Threading.Tasks;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class V2CoreHealthEventGenerationFailureResolvedEventDataImpact : StripeEntity
+ {
+ ///
+ /// The context the event should have been generated for. Only present when the account is a
+ /// connected account.
+ ///
+ [JsonProperty("context")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("context")]
+#endif
+ public string Context { get; set; }
+
+ ///
+ /// The type of event that Stripe failed to generate.
+ ///
+ [JsonProperty("event_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("event_type")]
+#endif
+ public string EventType { get; set; }
+
+ ///
+ /// The related object details.
+ ///
+ [JsonProperty("related_object")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("related_object")]
+#endif
+ public V2CoreHealthEventGenerationFailureResolvedEventDataImpactRelatedObject RelatedObject { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Events/V2CoreHealthEventGenerationFailureResolvedEventDataImpactRelatedObject.cs b/src/Stripe.net/Events/V2CoreHealthEventGenerationFailureResolvedEventDataImpactRelatedObject.cs
new file mode 100644
index 0000000000..c98f10693b
--- /dev/null
+++ b/src/Stripe.net/Events/V2CoreHealthEventGenerationFailureResolvedEventDataImpactRelatedObject.cs
@@ -0,0 +1,40 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Events
+{
+ using System.Threading.Tasks;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class V2CoreHealthEventGenerationFailureResolvedEventDataImpactRelatedObject : StripeEntity,
+ IHasId
+ {
+ ///
+ /// The ID of the related object (e.g., "pi_...").
+ ///
+ [JsonProperty("id")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("id")]
+#endif
+ public string Id { get; set; }
+
+ ///
+ /// The type of the related object (e.g., "payment_intent").
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+
+ ///
+ /// The API URL for the related object (e.g., "/v1/payment_intents/pi_...").
+ ///
+ [JsonProperty("url")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("url")]
+#endif
+ public string Url { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Events/V2CoreHealthEventGenerationFailureResolvedEventNotification.cs b/src/Stripe.net/Events/V2CoreHealthEventGenerationFailureResolvedEventNotification.cs
new file mode 100644
index 0000000000..05977cd5ab
--- /dev/null
+++ b/src/Stripe.net/Events/V2CoreHealthEventGenerationFailureResolvedEventNotification.cs
@@ -0,0 +1,22 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Events
+{
+ using System.Threading.Tasks;
+ using Stripe.V2;
+
+ ///
+ /// Occurs when an event generation failure alert is resolved.
+ ///
+ public class V2CoreHealthEventGenerationFailureResolvedEventNotification : V2.Core.EventNotification
+ {
+ public V2CoreHealthEventGenerationFailureResolvedEvent FetchEvent()
+ {
+ return this.FetchEvent();
+ }
+
+ public Task FetchEventAsync()
+ {
+ return this.FetchEventAsync();
+ }
+ }
+}
diff --git a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentAuthorizationAttemptFailedEvent.cs b/src/Stripe.net/Events/V2PaymentsOffSessionPaymentAuthorizationAttemptFailedEvent.cs
deleted file mode 100644
index 2d5b56e563..0000000000
--- a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentAuthorizationAttemptFailedEvent.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.Events
-{
- using System.Threading.Tasks;
- using Newtonsoft.Json;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- ///
- /// Sent after a failed authorization if there are still retries available on the
- /// OffSessionPayment.
- ///
- public class V2PaymentsOffSessionPaymentAuthorizationAttemptFailedEvent : V2.Core.Event
- {
- ///
- /// Object containing the reference to API resource relevant to the event.
- ///
- [JsonProperty("related_object")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("related_object")]
-#endif
-
- public V2.Core.EventRelatedObject RelatedObject { get; set; }
-
- ///
- /// Asynchronously retrieves the related object from the API. Make an API request on every
- /// call.
- ///
- public Task FetchRelatedObjectAsync()
- {
- return this.FetchRelatedObjectAsync(this.RelatedObject);
- }
-
- ///
- /// Retrieves the related object from the API. Make an API request on every call.
- ///
- public V2.Payments.OffSessionPayment FetchRelatedObject()
- {
- return this.FetchRelatedObject(this.RelatedObject);
- }
- }
-}
diff --git a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentAuthorizationAttemptFailedEventNotification.cs b/src/Stripe.net/Events/V2PaymentsOffSessionPaymentAuthorizationAttemptFailedEventNotification.cs
deleted file mode 100644
index f8215ba15d..0000000000
--- a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentAuthorizationAttemptFailedEventNotification.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.Events
-{
- using System.Threading.Tasks;
- using Newtonsoft.Json;
- using Stripe.V2;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- ///
- /// Sent after a failed authorization if there are still retries available on the
- /// OffSessionPayment.
- ///
- public class V2PaymentsOffSessionPaymentAuthorizationAttemptFailedEventNotification : V2.Core.EventNotification
- {
- ///
- /// Object containing the reference to API resource relevant to the event.
- ///
- [JsonProperty("related_object")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("related_object")]
-#endif
-
- public V2.Core.EventNotificationRelatedObject RelatedObject { get; set; }
-
- ///
- /// Asynchronously retrieves the related object from the API. Make an API request on every
- /// call.
- ///
- public Task FetchRelatedObjectAsync()
- {
- return this.FetchRelatedObjectAsync(this.RelatedObject);
- }
-
- ///
- /// Retrieves the related object from the API. Make an API request on every call.
- ///
- public V2.Payments.OffSessionPayment FetchRelatedObject()
- {
- return this.FetchRelatedObject(this.RelatedObject);
- }
-
- public V2PaymentsOffSessionPaymentAuthorizationAttemptFailedEvent FetchEvent()
- {
- return this.FetchEvent();
- }
-
- public Task FetchEventAsync()
- {
- return this.FetchEventAsync();
- }
- }
-}
diff --git a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentAuthorizationAttemptStartedEvent.cs b/src/Stripe.net/Events/V2PaymentsOffSessionPaymentAuthorizationAttemptStartedEvent.cs
deleted file mode 100644
index 4dfeca09a8..0000000000
--- a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentAuthorizationAttemptStartedEvent.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.Events
-{
- using System.Threading.Tasks;
- using Newtonsoft.Json;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- ///
- /// Sent when our internal scheduling system kicks off an attempt at authorization, whether
- /// it's a retry or an initial authorization.
- ///
- public class V2PaymentsOffSessionPaymentAuthorizationAttemptStartedEvent : V2.Core.Event
- {
- ///
- /// Object containing the reference to API resource relevant to the event.
- ///
- [JsonProperty("related_object")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("related_object")]
-#endif
-
- public V2.Core.EventRelatedObject RelatedObject { get; set; }
-
- ///
- /// Asynchronously retrieves the related object from the API. Make an API request on every
- /// call.
- ///
- public Task FetchRelatedObjectAsync()
- {
- return this.FetchRelatedObjectAsync(this.RelatedObject);
- }
-
- ///
- /// Retrieves the related object from the API. Make an API request on every call.
- ///
- public V2.Payments.OffSessionPayment FetchRelatedObject()
- {
- return this.FetchRelatedObject(this.RelatedObject);
- }
- }
-}
diff --git a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentAuthorizationAttemptStartedEventNotification.cs b/src/Stripe.net/Events/V2PaymentsOffSessionPaymentAuthorizationAttemptStartedEventNotification.cs
deleted file mode 100644
index c29be9d067..0000000000
--- a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentAuthorizationAttemptStartedEventNotification.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.Events
-{
- using System.Threading.Tasks;
- using Newtonsoft.Json;
- using Stripe.V2;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- ///
- /// Sent when our internal scheduling system kicks off an attempt at authorization, whether
- /// it's a retry or an initial authorization.
- ///
- public class V2PaymentsOffSessionPaymentAuthorizationAttemptStartedEventNotification : V2.Core.EventNotification
- {
- ///
- /// Object containing the reference to API resource relevant to the event.
- ///
- [JsonProperty("related_object")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("related_object")]
-#endif
-
- public V2.Core.EventNotificationRelatedObject RelatedObject { get; set; }
-
- ///
- /// Asynchronously retrieves the related object from the API. Make an API request on every
- /// call.
- ///
- public Task FetchRelatedObjectAsync()
- {
- return this.FetchRelatedObjectAsync(this.RelatedObject);
- }
-
- ///
- /// Retrieves the related object from the API. Make an API request on every call.
- ///
- public V2.Payments.OffSessionPayment FetchRelatedObject()
- {
- return this.FetchRelatedObject(this.RelatedObject);
- }
-
- public V2PaymentsOffSessionPaymentAuthorizationAttemptStartedEvent FetchEvent()
- {
- return this.FetchEvent();
- }
-
- public Task FetchEventAsync()
- {
- return this.FetchEventAsync();
- }
- }
-}
diff --git a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentCanceledEvent.cs b/src/Stripe.net/Events/V2PaymentsOffSessionPaymentCanceledEvent.cs
deleted file mode 100644
index fd89d115a5..0000000000
--- a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentCanceledEvent.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.Events
-{
- using System.Threading.Tasks;
- using Newtonsoft.Json;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- ///
- /// Sent immediately following a user's call to the Off-Session Payments cancel endpoint.
- ///
- public class V2PaymentsOffSessionPaymentCanceledEvent : V2.Core.Event
- {
- ///
- /// Object containing the reference to API resource relevant to the event.
- ///
- [JsonProperty("related_object")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("related_object")]
-#endif
-
- public V2.Core.EventRelatedObject RelatedObject { get; set; }
-
- ///
- /// Asynchronously retrieves the related object from the API. Make an API request on every
- /// call.
- ///
- public Task FetchRelatedObjectAsync()
- {
- return this.FetchRelatedObjectAsync(this.RelatedObject);
- }
-
- ///
- /// Retrieves the related object from the API. Make an API request on every call.
- ///
- public V2.Payments.OffSessionPayment FetchRelatedObject()
- {
- return this.FetchRelatedObject(this.RelatedObject);
- }
- }
-}
diff --git a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentCanceledEventNotification.cs b/src/Stripe.net/Events/V2PaymentsOffSessionPaymentCanceledEventNotification.cs
deleted file mode 100644
index f82cafd8a9..0000000000
--- a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentCanceledEventNotification.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.Events
-{
- using System.Threading.Tasks;
- using Newtonsoft.Json;
- using Stripe.V2;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- ///
- /// Sent immediately following a user's call to the Off-Session Payments cancel endpoint.
- ///
- public class V2PaymentsOffSessionPaymentCanceledEventNotification : V2.Core.EventNotification
- {
- ///
- /// Object containing the reference to API resource relevant to the event.
- ///
- [JsonProperty("related_object")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("related_object")]
-#endif
-
- public V2.Core.EventNotificationRelatedObject RelatedObject { get; set; }
-
- ///
- /// Asynchronously retrieves the related object from the API. Make an API request on every
- /// call.
- ///
- public Task FetchRelatedObjectAsync()
- {
- return this.FetchRelatedObjectAsync(this.RelatedObject);
- }
-
- ///
- /// Retrieves the related object from the API. Make an API request on every call.
- ///
- public V2.Payments.OffSessionPayment FetchRelatedObject()
- {
- return this.FetchRelatedObject(this.RelatedObject);
- }
-
- public V2PaymentsOffSessionPaymentCanceledEvent FetchEvent()
- {
- return this.FetchEvent();
- }
-
- public Task FetchEventAsync()
- {
- return this.FetchEventAsync();
- }
- }
-}
diff --git a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentCreatedEvent.cs b/src/Stripe.net/Events/V2PaymentsOffSessionPaymentCreatedEvent.cs
deleted file mode 100644
index 1aea58ae81..0000000000
--- a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentCreatedEvent.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.Events
-{
- using System.Threading.Tasks;
- using Newtonsoft.Json;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- ///
- /// Sent immediately following a user's call to the Off-Session Payments create endpoint.
- ///
- public class V2PaymentsOffSessionPaymentCreatedEvent : V2.Core.Event
- {
- ///
- /// Object containing the reference to API resource relevant to the event.
- ///
- [JsonProperty("related_object")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("related_object")]
-#endif
-
- public V2.Core.EventRelatedObject RelatedObject { get; set; }
-
- ///
- /// Asynchronously retrieves the related object from the API. Make an API request on every
- /// call.
- ///
- public Task FetchRelatedObjectAsync()
- {
- return this.FetchRelatedObjectAsync(this.RelatedObject);
- }
-
- ///
- /// Retrieves the related object from the API. Make an API request on every call.
- ///
- public V2.Payments.OffSessionPayment FetchRelatedObject()
- {
- return this.FetchRelatedObject(this.RelatedObject);
- }
- }
-}
diff --git a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentCreatedEventNotification.cs b/src/Stripe.net/Events/V2PaymentsOffSessionPaymentCreatedEventNotification.cs
deleted file mode 100644
index b37172b46e..0000000000
--- a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentCreatedEventNotification.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.Events
-{
- using System.Threading.Tasks;
- using Newtonsoft.Json;
- using Stripe.V2;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- ///
- /// Sent immediately following a user's call to the Off-Session Payments create endpoint.
- ///
- public class V2PaymentsOffSessionPaymentCreatedEventNotification : V2.Core.EventNotification
- {
- ///
- /// Object containing the reference to API resource relevant to the event.
- ///
- [JsonProperty("related_object")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("related_object")]
-#endif
-
- public V2.Core.EventNotificationRelatedObject RelatedObject { get; set; }
-
- ///
- /// Asynchronously retrieves the related object from the API. Make an API request on every
- /// call.
- ///
- public Task FetchRelatedObjectAsync()
- {
- return this.FetchRelatedObjectAsync(this.RelatedObject);
- }
-
- ///
- /// Retrieves the related object from the API. Make an API request on every call.
- ///
- public V2.Payments.OffSessionPayment FetchRelatedObject()
- {
- return this.FetchRelatedObject(this.RelatedObject);
- }
-
- public V2PaymentsOffSessionPaymentCreatedEvent FetchEvent()
- {
- return this.FetchEvent();
- }
-
- public Task FetchEventAsync()
- {
- return this.FetchEventAsync();
- }
- }
-}
diff --git a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentFailedEvent.cs b/src/Stripe.net/Events/V2PaymentsOffSessionPaymentFailedEvent.cs
deleted file mode 100644
index e1f1743bda..0000000000
--- a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentFailedEvent.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.Events
-{
- using System.Threading.Tasks;
- using Newtonsoft.Json;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- ///
- /// Sent after a failed authorization if there are no retries remaining, or if the failure
- /// is unretryable.
- ///
- public class V2PaymentsOffSessionPaymentFailedEvent : V2.Core.Event
- {
- ///
- /// Object containing the reference to API resource relevant to the event.
- ///
- [JsonProperty("related_object")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("related_object")]
-#endif
-
- public V2.Core.EventRelatedObject RelatedObject { get; set; }
-
- ///
- /// Asynchronously retrieves the related object from the API. Make an API request on every
- /// call.
- ///
- public Task FetchRelatedObjectAsync()
- {
- return this.FetchRelatedObjectAsync(this.RelatedObject);
- }
-
- ///
- /// Retrieves the related object from the API. Make an API request on every call.
- ///
- public V2.Payments.OffSessionPayment FetchRelatedObject()
- {
- return this.FetchRelatedObject(this.RelatedObject);
- }
- }
-}
diff --git a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentFailedEventNotification.cs b/src/Stripe.net/Events/V2PaymentsOffSessionPaymentFailedEventNotification.cs
deleted file mode 100644
index d38667c5aa..0000000000
--- a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentFailedEventNotification.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.Events
-{
- using System.Threading.Tasks;
- using Newtonsoft.Json;
- using Stripe.V2;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- ///
- /// Sent after a failed authorization if there are no retries remaining, or if the failure
- /// is unretryable.
- ///
- public class V2PaymentsOffSessionPaymentFailedEventNotification : V2.Core.EventNotification
- {
- ///
- /// Object containing the reference to API resource relevant to the event.
- ///
- [JsonProperty("related_object")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("related_object")]
-#endif
-
- public V2.Core.EventNotificationRelatedObject RelatedObject { get; set; }
-
- ///
- /// Asynchronously retrieves the related object from the API. Make an API request on every
- /// call.
- ///
- public Task FetchRelatedObjectAsync()
- {
- return this.FetchRelatedObjectAsync(this.RelatedObject);
- }
-
- ///
- /// Retrieves the related object from the API. Make an API request on every call.
- ///
- public V2.Payments.OffSessionPayment FetchRelatedObject()
- {
- return this.FetchRelatedObject(this.RelatedObject);
- }
-
- public V2PaymentsOffSessionPaymentFailedEvent FetchEvent()
- {
- return this.FetchEvent();
- }
-
- public Task FetchEventAsync()
- {
- return this.FetchEventAsync();
- }
- }
-}
diff --git a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentRequiresCaptureEvent.cs b/src/Stripe.net/Events/V2PaymentsOffSessionPaymentRequiresCaptureEvent.cs
deleted file mode 100644
index a6f0fa3281..0000000000
--- a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentRequiresCaptureEvent.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.Events
-{
- using System.Threading.Tasks;
- using Newtonsoft.Json;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- ///
- /// Off-Session payment requires capture event definition.
- ///
- public class V2PaymentsOffSessionPaymentRequiresCaptureEvent : V2.Core.Event
- {
- ///
- /// Object containing the reference to API resource relevant to the event.
- ///
- [JsonProperty("related_object")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("related_object")]
-#endif
-
- public V2.Core.EventRelatedObject RelatedObject { get; set; }
-
- ///
- /// Asynchronously retrieves the related object from the API. Make an API request on every
- /// call.
- ///
- public Task FetchRelatedObjectAsync()
- {
- return this.FetchRelatedObjectAsync(this.RelatedObject);
- }
-
- ///
- /// Retrieves the related object from the API. Make an API request on every call.
- ///
- public V2.Payments.OffSessionPayment FetchRelatedObject()
- {
- return this.FetchRelatedObject(this.RelatedObject);
- }
- }
-}
diff --git a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentRequiresCaptureEventNotification.cs b/src/Stripe.net/Events/V2PaymentsOffSessionPaymentRequiresCaptureEventNotification.cs
deleted file mode 100644
index e6ff334e98..0000000000
--- a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentRequiresCaptureEventNotification.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.Events
-{
- using System.Threading.Tasks;
- using Newtonsoft.Json;
- using Stripe.V2;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- ///
- /// Off-Session payment requires capture event definition.
- ///
- public class V2PaymentsOffSessionPaymentRequiresCaptureEventNotification : V2.Core.EventNotification
- {
- ///
- /// Object containing the reference to API resource relevant to the event.
- ///
- [JsonProperty("related_object")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("related_object")]
-#endif
-
- public V2.Core.EventNotificationRelatedObject RelatedObject { get; set; }
-
- ///
- /// Asynchronously retrieves the related object from the API. Make an API request on every
- /// call.
- ///
- public Task FetchRelatedObjectAsync()
- {
- return this.FetchRelatedObjectAsync(this.RelatedObject);
- }
-
- ///
- /// Retrieves the related object from the API. Make an API request on every call.
- ///
- public V2.Payments.OffSessionPayment FetchRelatedObject()
- {
- return this.FetchRelatedObject(this.RelatedObject);
- }
-
- public V2PaymentsOffSessionPaymentRequiresCaptureEvent FetchEvent()
- {
- return this.FetchEvent();
- }
-
- public Task FetchEventAsync()
- {
- return this.FetchEventAsync();
- }
- }
-}
diff --git a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentSucceededEvent.cs b/src/Stripe.net/Events/V2PaymentsOffSessionPaymentSucceededEvent.cs
deleted file mode 100644
index 72ac88a082..0000000000
--- a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentSucceededEvent.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.Events
-{
- using System.Threading.Tasks;
- using Newtonsoft.Json;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- ///
- /// Sent immediately after a successful authorization.
- ///
- public class V2PaymentsOffSessionPaymentSucceededEvent : V2.Core.Event
- {
- ///
- /// Object containing the reference to API resource relevant to the event.
- ///
- [JsonProperty("related_object")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("related_object")]
-#endif
-
- public V2.Core.EventRelatedObject RelatedObject { get; set; }
-
- ///
- /// Asynchronously retrieves the related object from the API. Make an API request on every
- /// call.
- ///
- public Task FetchRelatedObjectAsync()
- {
- return this.FetchRelatedObjectAsync(this.RelatedObject);
- }
-
- ///
- /// Retrieves the related object from the API. Make an API request on every call.
- ///
- public V2.Payments.OffSessionPayment FetchRelatedObject()
- {
- return this.FetchRelatedObject(this.RelatedObject);
- }
- }
-}
diff --git a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentSucceededEventNotification.cs b/src/Stripe.net/Events/V2PaymentsOffSessionPaymentSucceededEventNotification.cs
deleted file mode 100644
index 9e9fbc85d5..0000000000
--- a/src/Stripe.net/Events/V2PaymentsOffSessionPaymentSucceededEventNotification.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-// File generated from our OpenAPI spec
-namespace Stripe.Events
-{
- using System.Threading.Tasks;
- using Newtonsoft.Json;
- using Stripe.V2;
-#if NET6_0_OR_GREATER
- using STJS = System.Text.Json.Serialization;
-#endif
-
- ///
- /// Sent immediately after a successful authorization.
- ///
- public class V2PaymentsOffSessionPaymentSucceededEventNotification : V2.Core.EventNotification
- {
- ///
- /// Object containing the reference to API resource relevant to the event.
- ///
- [JsonProperty("related_object")]
-#if NET6_0_OR_GREATER
- [STJS.JsonPropertyName("related_object")]
-#endif
-
- public V2.Core.EventNotificationRelatedObject RelatedObject { get; set; }
-
- ///
- /// Asynchronously retrieves the related object from the API. Make an API request on every
- /// call.
- ///
- public Task FetchRelatedObjectAsync()
- {
- return this.FetchRelatedObjectAsync(this.RelatedObject);
- }
-
- ///
- /// Retrieves the related object from the API. Make an API request on every call.
- ///
- public V2.Payments.OffSessionPayment FetchRelatedObject()
- {
- return this.FetchRelatedObject(this.RelatedObject);
- }
-
- public V2PaymentsOffSessionPaymentSucceededEvent FetchEvent()
- {
- return this.FetchEvent();
- }
-
- public Task FetchEventAsync()
- {
- return this.FetchEventAsync();
- }
- }
-}
diff --git a/src/Stripe.net/Infrastructure/FormEncoding/ContentEncoder.cs b/src/Stripe.net/Infrastructure/FormEncoding/ContentEncoder.cs
index 32733e638c..b90011e0dd 100644
--- a/src/Stripe.net/Infrastructure/FormEncoding/ContentEncoder.cs
+++ b/src/Stripe.net/Infrastructure/FormEncoding/ContentEncoder.cs
@@ -54,7 +54,8 @@ public static HttpContent CreateHttpContent(BaseOptions options, ApiMode apiMode
return new FormUrlEncodedContent(new List>());
}
- var arrayEncoding = apiMode == ApiMode.V1 ? ArrayEncoding.Indexed : ArrayEncoding.Repetition;
+ // Always use indexed array encoding for all API modes
+ var arrayEncoding = ArrayEncoding.Indexed;
var flatParams = FlattenParamsValue(options, null, arrayEncoding);
// If all parameters have been encoded as strings, then the content can be represented
@@ -79,7 +80,8 @@ public static HttpContent CreateHttpContent(BaseOptions options, ApiMode apiMode
/// The query string.
public static string CreateQueryString(BaseOptions options, ApiMode apiMode = ApiMode.V1)
{
- var arrayEncoding = apiMode == ApiMode.V1 ? ArrayEncoding.Indexed : ArrayEncoding.Repetition;
+ // Always use indexed array encoding for all API modes
+ var arrayEncoding = ArrayEncoding.Indexed;
var flatParams = FlattenParamsValue(options, null, arrayEncoding)
.Where(kvp => kvp.Value is string)
.Select(kvp => new KeyValuePair(
diff --git a/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs b/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs
index 5f00d70976..9b6600ae9c 100644
--- a/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs
+++ b/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs
@@ -246,6 +246,8 @@ public static class StripeTypeRegistry
{ "v2.core.account", typeof(V2.Core.Account) },
{ "v2.core.account_link", typeof(V2.Core.AccountLink) },
{ "v2.core.account_person", typeof(V2.Core.AccountPerson) },
+ { "v2.core.account_person_token", typeof(V2.Core.AccountPersonToken) },
+ { "v2.core.account_token", typeof(V2.Core.AccountToken) },
{ "v2.core.event", typeof(V2.Core.Event) },
{ "v2.core.event_destination", typeof(V2.Core.EventDestination) },
{ "v2.core.vault.gb_bank_account", typeof(V2.Core.Vault.GbBankAccount) },
@@ -297,7 +299,6 @@ public static class StripeTypeRegistry
"v2.money_management.transaction_entry", typeof(
V2.MoneyManagement.TransactionEntry)
},
- { "v2.payments.off_session_payment", typeof(V2.Payments.OffSessionPayment) },
// V2ObjectsToTypes: The end of the section generated from our OpenAPI spec
});
@@ -381,6 +382,10 @@ public static class StripeTypeRegistry
"v2.core.event_destination.ping", typeof(
Events.V2CoreEventDestinationPingEvent)
},
+ {
+ "v2.core.health.event_generation_failure.resolved", typeof(
+ Events.V2CoreHealthEventGenerationFailureResolvedEvent)
+ },
{
"v2.money_management.adjustment.created", typeof(
Events.V2MoneyManagementAdjustmentCreatedEvent)
@@ -521,34 +526,6 @@ public static class StripeTypeRegistry
"v2.money_management.transaction.updated", typeof(
Events.V2MoneyManagementTransactionUpdatedEvent)
},
- {
- "v2.payments.off_session_payment.authorization_attempt_failed", typeof(
- Events.V2PaymentsOffSessionPaymentAuthorizationAttemptFailedEvent)
- },
- {
- "v2.payments.off_session_payment.authorization_attempt_started", typeof(
- Events.V2PaymentsOffSessionPaymentAuthorizationAttemptStartedEvent)
- },
- {
- "v2.payments.off_session_payment.canceled", typeof(
- Events.V2PaymentsOffSessionPaymentCanceledEvent)
- },
- {
- "v2.payments.off_session_payment.created", typeof(
- Events.V2PaymentsOffSessionPaymentCreatedEvent)
- },
- {
- "v2.payments.off_session_payment.failed", typeof(
- Events.V2PaymentsOffSessionPaymentFailedEvent)
- },
- {
- "v2.payments.off_session_payment.requires_capture", typeof(
- Events.V2PaymentsOffSessionPaymentRequiresCaptureEvent)
- },
- {
- "v2.payments.off_session_payment.succeeded", typeof(
- Events.V2PaymentsOffSessionPaymentSucceededEvent)
- },
// V2EventsToTypes: The end of the section generated from our OpenAPI spec
});
@@ -641,6 +618,10 @@ public static class StripeTypeRegistry
"v2.core.event_destination.ping", typeof(
Events.V2CoreEventDestinationPingEventNotification)
},
+ {
+ "v2.core.health.event_generation_failure.resolved", typeof(
+ Events.V2CoreHealthEventGenerationFailureResolvedEventNotification)
+ },
{
"v2.money_management.adjustment.created", typeof(
Events.V2MoneyManagementAdjustmentCreatedEventNotification)
@@ -781,34 +762,6 @@ public static class StripeTypeRegistry
"v2.money_management.transaction.updated", typeof(
Events.V2MoneyManagementTransactionUpdatedEventNotification)
},
- {
- "v2.payments.off_session_payment.authorization_attempt_failed", typeof(
- Events.V2PaymentsOffSessionPaymentAuthorizationAttemptFailedEventNotification)
- },
- {
- "v2.payments.off_session_payment.authorization_attempt_started", typeof(
- Events.V2PaymentsOffSessionPaymentAuthorizationAttemptStartedEventNotification)
- },
- {
- "v2.payments.off_session_payment.canceled", typeof(
- Events.V2PaymentsOffSessionPaymentCanceledEventNotification)
- },
- {
- "v2.payments.off_session_payment.created", typeof(
- Events.V2PaymentsOffSessionPaymentCreatedEventNotification)
- },
- {
- "v2.payments.off_session_payment.failed", typeof(
- Events.V2PaymentsOffSessionPaymentFailedEventNotification)
- },
- {
- "v2.payments.off_session_payment.requires_capture", typeof(
- Events.V2PaymentsOffSessionPaymentRequiresCaptureEventNotification)
- },
- {
- "v2.payments.off_session_payment.succeeded", typeof(
- Events.V2PaymentsOffSessionPaymentSucceededEventNotification)
- },
// V2EventNotificationsToTypes: The end of the section generated from our OpenAPI spec
});
diff --git a/src/Stripe.net/Services/Accounts/AccountBusinessProfileOptions.cs b/src/Stripe.net/Services/Accounts/AccountBusinessProfileOptions.cs
index b555b9529d..b44a852a74 100644
--- a/src/Stripe.net/Services/Accounts/AccountBusinessProfileOptions.cs
+++ b/src/Stripe.net/Services/Accounts/AccountBusinessProfileOptions.cs
@@ -79,6 +79,16 @@ public class AccountBusinessProfileOptions : INestedOptions
#endif
public string ProductDescription { get; set; }
+ ///
+ /// A link to the business's publicly available terms related to the Specified Commercial
+ /// Transaction Act. Used by the Checkout product and for Japanese payment methods.
+ ///
+ [JsonProperty("specified_commercial_transactions_act_url")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("specified_commercial_transactions_act_url")]
+#endif
+ public string SpecifiedCommercialTransactionsActUrl { get; set; }
+
///
/// A publicly available mailing address for sending support issues to.
///
diff --git a/src/Stripe.net/Services/Accounts/AccountSettingsInvoicesOptions.cs b/src/Stripe.net/Services/Accounts/AccountSettingsInvoicesOptions.cs
index 1eea3d961a..9bbb15ac44 100644
--- a/src/Stripe.net/Services/Accounts/AccountSettingsInvoicesOptions.cs
+++ b/src/Stripe.net/Services/Accounts/AccountSettingsInvoicesOptions.cs
@@ -20,8 +20,9 @@ public class AccountSettingsInvoicesOptions : INestedOptions
public List DefaultAccountTaxIds { get; set; }
///
- /// Whether payment methods should be saved when a payment is completed for a one-time
- /// invoices on a hosted invoice page.
+ /// Whether to save the payment method after a payment is completed for a one-time invoice
+ /// or a subscription invoice when the customer already has a default payment method on the
+ /// hosted invoice page.
/// One of: always, never, or offer.
///
[JsonProperty("hosted_payment_method_save")]
diff --git a/src/Stripe.net/Services/Accounts/AccountSettingsOptions.cs b/src/Stripe.net/Services/Accounts/AccountSettingsOptions.cs
index 625418641e..ea088b839e 100644
--- a/src/Stripe.net/Services/Accounts/AccountSettingsOptions.cs
+++ b/src/Stripe.net/Services/Accounts/AccountSettingsOptions.cs
@@ -90,6 +90,15 @@ public class AccountSettingsOptions : INestedOptions
#endif
public AccountSettingsPayoutsOptions Payouts { get; set; }
+ ///
+ /// Settings specific to the PayPay payments method.
+ ///
+ [JsonProperty("paypay_payments")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("paypay_payments")]
+#endif
+ public AccountSettingsPaypayPaymentsOptions PaypayPayments { get; set; }
+
///
/// Settings specific to the account's tax forms.
///
diff --git a/src/Stripe.net/Services/Accounts/AccountSettingsPaypayPaymentsOptions.cs b/src/Stripe.net/Services/Accounts/AccountSettingsPaypayPaymentsOptions.cs
new file mode 100644
index 0000000000..fbb28033ff
--- /dev/null
+++ b/src/Stripe.net/Services/Accounts/AccountSettingsPaypayPaymentsOptions.cs
@@ -0,0 +1,21 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountSettingsPaypayPaymentsOptions : INestedOptions
+ {
+ ///
+ /// Whether your business sells digital content or not.
+ /// One of: digital_content, or other.
+ ///
+ [JsonProperty("goods_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("goods_type")]
+#endif
+ public string GoodsType { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Billing/Analytics/MeterUsages/MeterUsageMeterOptions.cs b/src/Stripe.net/Services/Billing/Analytics/MeterUsages/MeterUsageMeterOptions.cs
index 55120597de..e39cb91d08 100644
--- a/src/Stripe.net/Services/Billing/Analytics/MeterUsages/MeterUsageMeterOptions.cs
+++ b/src/Stripe.net/Services/Billing/Analytics/MeterUsages/MeterUsageMeterOptions.cs
@@ -10,14 +10,15 @@ namespace Stripe.Billing.Analytics
public class MeterUsageMeterOptions : INestedOptions
{
///
- /// Key-value pairs used to filter usage events by meter dimension values. If specified,
- /// usage will be filtered for matching usage events.
+ /// Key-value pairs used to filter usage events by meter dimension values. Each value is an
+ /// array that can include multiple values for the key. If specified, usage is filtered for
+ /// matching usage events.
///
[JsonProperty("dimension_filters")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("dimension_filters")]
#endif
- public Dictionary DimensionFilters { get; set; }
+ public Dictionary> DimensionFilters { get; set; }
///
/// List of meter dimension keys to group by. If specified, usage events will be grouped by
@@ -40,12 +41,13 @@ public class MeterUsageMeterOptions : INestedOptions
///
/// Key-value pairs used to filter usage events by high cardinality tenant dimension values.
- /// If specified, usage will be filtered for matching usage events.
+ /// Each value is an array that can include multiple values for the key. If specified, usage
+ /// is filtered for matching usage events.
///
[JsonProperty("tenant_filters")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("tenant_filters")]
#endif
- public Dictionary TenantFilters { get; set; }
+ public Dictionary> TenantFilters { get; set; }
}
}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumAffiliateOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumAffiliateOptions.cs
new file mode 100644
index 0000000000..69be7d12da
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumAffiliateOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsCarRentalDatumAffiliateOptions : INestedOptions
+ {
+ ///
+ /// Affiliate partner code.
+ ///
+ [JsonProperty("code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("code")]
+#endif
+ public string Code { get; set; }
+
+ ///
+ /// Name of affiliate partner.
+ ///
+ [JsonProperty("name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("name")]
+#endif
+ public string Name { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumDistanceOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumDistanceOptions.cs
new file mode 100644
index 0000000000..206a23ab73
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumDistanceOptions.cs
@@ -0,0 +1,30 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsCarRentalDatumDistanceOptions : INestedOptions
+ {
+ ///
+ /// Distance traveled.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Unit of measurement for the distance traveled. One of miles or kilometers.
+ /// One of: kilometers, or miles.
+ ///
+ [JsonProperty("unit")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("unit")]
+#endif
+ public string Unit { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumDriverDateOfBirthOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumDriverDateOfBirthOptions.cs
new file mode 100644
index 0000000000..46bf1a7b1a
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumDriverDateOfBirthOptions.cs
@@ -0,0 +1,38 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsCarRentalDatumDriverDateOfBirthOptions : INestedOptions
+ {
+ ///
+ /// Day of birth (1-31).
+ ///
+ [JsonProperty("day")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("day")]
+#endif
+ public long? Day { get; set; }
+
+ ///
+ /// Month of birth (1-12).
+ ///
+ [JsonProperty("month")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("month")]
+#endif
+ public long? Month { get; set; }
+
+ ///
+ /// Year of birth (must be greater than 1900).
+ ///
+ [JsonProperty("year")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("year")]
+#endif
+ public long? Year { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumDriverOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumDriverOptions.cs
new file mode 100644
index 0000000000..3c88d1d53a
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumDriverOptions.cs
@@ -0,0 +1,47 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsCarRentalDatumDriverOptions : INestedOptions
+ {
+ ///
+ /// Driver's date of birth.
+ ///
+ [JsonProperty("date_of_birth")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("date_of_birth")]
+#endif
+ public ChargePaymentDetailsCarRentalDatumDriverDateOfBirthOptions DateOfBirth { get; set; }
+
+ ///
+ /// Driver's identification number.
+ ///
+ [JsonProperty("driver_identification_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("driver_identification_number")]
+#endif
+ public string DriverIdentificationNumber { get; set; }
+
+ ///
+ /// Driver's tax number.
+ ///
+ [JsonProperty("driver_tax_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("driver_tax_number")]
+#endif
+ public string DriverTaxNumber { get; set; }
+
+ ///
+ /// Driver's full name.
+ ///
+ [JsonProperty("name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("name")]
+#endif
+ public string Name { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumDropOffOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumDropOffOptions.cs
new file mode 100644
index 0000000000..8e4026ad6c
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumDropOffOptions.cs
@@ -0,0 +1,42 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsCarRentalDatumDropOffOptions : INestedOptions
+ {
+ ///
+ /// Address of the rental location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public AddressOptions Address { get; set; }
+
+ ///
+ /// Location name.
+ ///
+ [JsonProperty("location_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("location_name")]
+#endif
+ public string LocationName { get; set; }
+
+ ///
+ /// Timestamp for the location.
+ ///
+ [JsonProperty("time")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("time")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? Time { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumInsuranceOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumInsuranceOptions.cs
new file mode 100644
index 0000000000..8b185e9a72
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumInsuranceOptions.cs
@@ -0,0 +1,49 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsCarRentalDatumInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Amount of the insurance coverage in cents.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Currency of the insurance amount.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Name of the insurance company.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance coverage.
+ /// One of: liability_supplement, loss_damage_waiver, other,
+ /// partial_damage_waiver, personal_accident, or personal_effects.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumOptions.cs
new file mode 100644
index 0000000000..b610a50da8
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumOptions.cs
@@ -0,0 +1,138 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsCarRentalDatumOptions : INestedOptions
+ {
+ ///
+ /// Affiliate (such as travel agency) details for the rental.
+ ///
+ [JsonProperty("affiliate")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate")]
+#endif
+ public ChargePaymentDetailsCarRentalDatumAffiliateOptions Affiliate { get; set; }
+
+ ///
+ /// Booking confirmation number for the car rental.
+ ///
+ [JsonProperty("booking_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("booking_number")]
+#endif
+ public string BookingNumber { get; set; }
+
+ ///
+ /// Name of the car rental company.
+ ///
+ [JsonProperty("carrier_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("carrier_name")]
+#endif
+ public string CarrierName { get; set; }
+
+ ///
+ /// Customer service phone number for the car rental company.
+ ///
+ [JsonProperty("customer_service_phone_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("customer_service_phone_number")]
+#endif
+ public string CustomerServicePhoneNumber { get; set; }
+
+ ///
+ /// Number of days the car is being rented.
+ ///
+ [JsonProperty("days_rented")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("days_rented")]
+#endif
+ public long? DaysRented { get; set; }
+
+ ///
+ /// Distance details for the rental.
+ ///
+ [JsonProperty("distance")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("distance")]
+#endif
+ public ChargePaymentDetailsCarRentalDatumDistanceOptions Distance { get; set; }
+
+ ///
+ /// List of drivers for the rental.
+ ///
+ [JsonProperty("drivers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("drivers")]
+#endif
+ public List Drivers { get; set; }
+
+ ///
+ /// Drop-off location details.
+ ///
+ [JsonProperty("drop_off")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("drop_off")]
+#endif
+ public ChargePaymentDetailsCarRentalDatumDropOffOptions DropOff { get; set; }
+
+ ///
+ /// Insurance details for the rental.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// Indicates if the customer was a no-show.
+ ///
+ [JsonProperty("no_show_indicator")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("no_show_indicator")]
+#endif
+ public bool? NoShowIndicator { get; set; }
+
+ ///
+ /// Pickup location details.
+ ///
+ [JsonProperty("pickup")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("pickup")]
+#endif
+ public ChargePaymentDetailsCarRentalDatumPickupOptions Pickup { get; set; }
+
+ ///
+ /// Name of the person renting the vehicle.
+ ///
+ [JsonProperty("renter_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("renter_name")]
+#endif
+ public string RenterName { get; set; }
+
+ ///
+ /// Total cost breakdown for the rental.
+ ///
+ [JsonProperty("total")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("total")]
+#endif
+ public ChargePaymentDetailsCarRentalDatumTotalOptions Total { get; set; }
+
+ ///
+ /// Vehicle details for the rental.
+ ///
+ [JsonProperty("vehicle")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("vehicle")]
+#endif
+ public ChargePaymentDetailsCarRentalDatumVehicleOptions Vehicle { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumPickupOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumPickupOptions.cs
new file mode 100644
index 0000000000..02bf843275
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumPickupOptions.cs
@@ -0,0 +1,42 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsCarRentalDatumPickupOptions : INestedOptions
+ {
+ ///
+ /// Address of the rental location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public AddressOptions Address { get; set; }
+
+ ///
+ /// Location name.
+ ///
+ [JsonProperty("location_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("location_name")]
+#endif
+ public string LocationName { get; set; }
+
+ ///
+ /// Timestamp for the location.
+ ///
+ [JsonProperty("time")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("time")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? Time { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumTotalDiscountsOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumTotalDiscountsOptions.cs
new file mode 100644
index 0000000000..cdd343feb4
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumTotalDiscountsOptions.cs
@@ -0,0 +1,38 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsCarRentalDatumTotalDiscountsOptions : INestedOptions
+ {
+ ///
+ /// Corporate client discount code.
+ ///
+ [JsonProperty("corporate_client_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("corporate_client_code")]
+#endif
+ public string CorporateClientCode { get; set; }
+
+ ///
+ /// Coupon code applied to the rental.
+ ///
+ [JsonProperty("coupon")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("coupon")]
+#endif
+ public string Coupon { get; set; }
+
+ ///
+ /// Maximum number of free miles or kilometers included.
+ ///
+ [JsonProperty("maximum_free_miles_or_kilometers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("maximum_free_miles_or_kilometers")]
+#endif
+ public long? MaximumFreeMilesOrKilometers { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumTotalExtraChargeOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumTotalExtraChargeOptions.cs
new file mode 100644
index 0000000000..0d8ff7e9c6
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumTotalExtraChargeOptions.cs
@@ -0,0 +1,32 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsCarRentalDatumTotalExtraChargeOptions : INestedOptions
+ {
+ ///
+ /// Amount of the extra charge in cents.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Type of extra charge.
+ /// One of: extra_mileage, gas, gps, late_charge,
+ /// one_way_drop_off, other, parking, phone,
+ /// regular_mileage, or towing.
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumTotalOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumTotalOptions.cs
new file mode 100644
index 0000000000..5a3f2112d9
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumTotalOptions.cs
@@ -0,0 +1,76 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsCarRentalDatumTotalOptions : INestedOptions
+ {
+ ///
+ /// Total amount in cents.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Currency of the amount.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Discount details for the rental.
+ ///
+ [JsonProperty("discounts")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("discounts")]
+#endif
+ public ChargePaymentDetailsCarRentalDatumTotalDiscountsOptions Discounts { get; set; }
+
+ ///
+ /// Additional charges for the rental.
+ ///
+ [JsonProperty("extra_charges")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("extra_charges")]
+#endif
+ public List ExtraCharges { get; set; }
+
+ ///
+ /// Rate per unit for the rental.
+ ///
+ [JsonProperty("rate_per_unit")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("rate_per_unit")]
+#endif
+ public long? RatePerUnit { get; set; }
+
+ ///
+ /// Unit of measurement for the rate.
+ /// One of: days, kilometers, miles, months, or weeks.
+ ///
+ [JsonProperty("rate_unit")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("rate_unit")]
+#endif
+ public string RateUnit { get; set; }
+
+ ///
+ /// Tax breakdown for the rental.
+ ///
+ [JsonProperty("tax")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("tax")]
+#endif
+ public ChargePaymentDetailsCarRentalDatumTotalTaxOptions Tax { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumTotalTaxOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumTotalTaxOptions.cs
new file mode 100644
index 0000000000..e94885c89f
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumTotalTaxOptions.cs
@@ -0,0 +1,30 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsCarRentalDatumTotalTaxOptions : INestedOptions
+ {
+ ///
+ /// Indicates if the transaction is tax exempt.
+ ///
+ [JsonProperty("tax_exempt_indicator")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("tax_exempt_indicator")]
+#endif
+ public bool? TaxExemptIndicator { get; set; }
+
+ ///
+ /// Array of tax details.
+ ///
+ [JsonProperty("taxes")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("taxes")]
+#endif
+ public List Taxes { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumTotalTaxTaxOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumTotalTaxTaxOptions.cs
new file mode 100644
index 0000000000..a25c5e8d7c
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumTotalTaxTaxOptions.cs
@@ -0,0 +1,38 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsCarRentalDatumTotalTaxTaxOptions : INestedOptions
+ {
+ ///
+ /// Tax amount.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Tax rate applied.
+ ///
+ [JsonProperty("rate")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("rate")]
+#endif
+ public long? Rate { get; set; }
+
+ ///
+ /// Type of tax applied.
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumVehicleOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumVehicleOptions.cs
new file mode 100644
index 0000000000..59cc1a1de6
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsCarRentalDatumVehicleOptions.cs
@@ -0,0 +1,75 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsCarRentalDatumVehicleOptions : INestedOptions
+ {
+ ///
+ /// Make of the rental vehicle.
+ ///
+ [JsonProperty("make")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("make")]
+#endif
+ public string Make { get; set; }
+
+ ///
+ /// Model of the rental vehicle.
+ ///
+ [JsonProperty("model")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("model")]
+#endif
+ public string Model { get; set; }
+
+ ///
+ /// Odometer reading at the time of rental.
+ ///
+ [JsonProperty("odometer")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("odometer")]
+#endif
+ public long? Odometer { get; set; }
+
+ ///
+ /// Type of the rental vehicle.
+ /// One of: cargo_van, compact, economy, exotic,
+ /// exotic_suv, fifteen_passenger_van, four_wheel_drive,
+ /// full_size, intermediate, large_suv, large_truck,
+ /// luxury, medium_suv, midsize, mini, minivan,
+ /// miscellaneous, moped, moving_van, premium, regular,
+ /// small_medium_truck, small_suv, special, standard,
+ /// stretch, subcompact, taxi, twelve_foot_truck,
+ /// twelve_passenger_van, twenty_foot_truck, twenty_four_foot_truck,
+ /// twenty_six_foot_truck, or unique.
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+
+ ///
+ /// Class of the rental vehicle.
+ /// One of: business, economy, first_class, or premium_economy.
+ ///
+ [JsonProperty("vehicle_class")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("vehicle_class")]
+#endif
+ public string VehicleClass { get; set; }
+
+ ///
+ /// Vehicle identification number (VIN).
+ ///
+ [JsonProperty("vehicle_identification_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("vehicle_identification_number")]
+#endif
+ public string VehicleIdentificationNumber { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumAffiliateOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumAffiliateOptions.cs
new file mode 100644
index 0000000000..1fc064dbd4
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumAffiliateOptions.cs
@@ -0,0 +1,38 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsFlightDatumAffiliateOptions : INestedOptions
+ {
+ ///
+ /// Affiliate partner code.
+ ///
+ [JsonProperty("code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("code")]
+#endif
+ public string Code { get; set; }
+
+ ///
+ /// Name of affiliate partner.
+ ///
+ [JsonProperty("name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("name")]
+#endif
+ public string Name { get; set; }
+
+ ///
+ /// Code provided by the company to a travel agent authorizing ticket issuance.
+ ///
+ [JsonProperty("travel_authorization_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("travel_authorization_code")]
+#endif
+ public string TravelAuthorizationCode { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumInsuranceOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumInsuranceOptions.cs
new file mode 100644
index 0000000000..41226662c1
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumInsuranceOptions.cs
@@ -0,0 +1,49 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsFlightDatumInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Insurance cost.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Insurance currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Insurance company name.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance.
+ /// One of: baggage, bankruptcy, cancelation, emergency, or
+ /// medical.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumOptions.cs
new file mode 100644
index 0000000000..4a92f5d7ec
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumOptions.cs
@@ -0,0 +1,104 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsFlightDatumOptions : INestedOptions
+ {
+ ///
+ /// Affiliate details if applicable.
+ ///
+ [JsonProperty("affiliate")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate")]
+#endif
+ public ChargePaymentDetailsFlightDatumAffiliateOptions Affiliate { get; set; }
+
+ ///
+ /// Reservation reference.
+ ///
+ [JsonProperty("booking_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("booking_number")]
+#endif
+ public string BookingNumber { get; set; }
+
+ ///
+ /// Computerized reservation system used to make the reservation and purchase the ticket.
+ ///
+ [JsonProperty("computerized_reservation_system")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("computerized_reservation_system")]
+#endif
+ public string ComputerizedReservationSystem { get; set; }
+
+ ///
+ /// Ticket restrictions.
+ ///
+ [JsonProperty("endorsements_and_restrictions")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("endorsements_and_restrictions")]
+#endif
+ public string EndorsementsAndRestrictions { get; set; }
+
+ ///
+ /// List of insurances.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// List of passengers.
+ ///
+ [JsonProperty("passengers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("passengers")]
+#endif
+ public List Passengers { get; set; }
+
+ ///
+ /// List of flight segments.
+ ///
+ [JsonProperty("segments")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("segments")]
+#endif
+ public List Segments { get; set; }
+
+ ///
+ /// Electronic ticket indicator.
+ ///
+ [JsonProperty("ticket_electronically_issued_indicator")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ticket_electronically_issued_indicator")]
+#endif
+ public bool? TicketElectronicallyIssuedIndicator { get; set; }
+
+ ///
+ /// Total cost breakdown.
+ ///
+ [JsonProperty("total")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("total")]
+#endif
+ public ChargePaymentDetailsFlightDatumTotalOptions Total { get; set; }
+
+ ///
+ /// Type of flight transaction.
+ /// One of: exchange_ticket, miscellaneous, refund, or
+ /// ticket_purchase.
+ ///
+ [JsonProperty("transaction_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("transaction_type")]
+#endif
+ public string TransactionType { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumPassengerOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumPassengerOptions.cs
new file mode 100644
index 0000000000..461ae8f244
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumPassengerOptions.cs
@@ -0,0 +1,20 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsFlightDatumPassengerOptions : INestedOptions
+ {
+ ///
+ /// Passenger's full name.
+ ///
+ [JsonProperty("name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("name")]
+#endif
+ public string Name { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumSegmentArrivalOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumSegmentArrivalOptions.cs
new file mode 100644
index 0000000000..6d89826098
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumSegmentArrivalOptions.cs
@@ -0,0 +1,51 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsFlightDatumSegmentArrivalOptions : INestedOptions
+ {
+ ///
+ /// Arrival airport IATA code.
+ ///
+ [JsonProperty("airport")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("airport")]
+#endif
+ public string Airport { get; set; }
+
+ ///
+ /// Arrival date/time.
+ ///
+ [JsonProperty("arrives_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrives_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? ArrivesAt { get; set; }
+
+ ///
+ /// Arrival city.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// Arrival country.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumSegmentDepartureOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumSegmentDepartureOptions.cs
new file mode 100644
index 0000000000..e172a68f1c
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumSegmentDepartureOptions.cs
@@ -0,0 +1,51 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsFlightDatumSegmentDepartureOptions : INestedOptions
+ {
+ ///
+ /// Departure airport IATA code.
+ ///
+ [JsonProperty("airport")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("airport")]
+#endif
+ public string Airport { get; set; }
+
+ ///
+ /// Departure city.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// Departure country.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// Departure date/time.
+ ///
+ [JsonProperty("departs_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departs_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? DepartsAt { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumSegmentOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumSegmentOptions.cs
new file mode 100644
index 0000000000..1bc9ac96aa
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumSegmentOptions.cs
@@ -0,0 +1,147 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsFlightDatumSegmentOptions : INestedOptions
+ {
+ ///
+ /// Segment fare amount.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Arrival details.
+ ///
+ [JsonProperty("arrival")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival")]
+#endif
+ public ChargePaymentDetailsFlightDatumSegmentArrivalOptions Arrival { get; set; }
+
+ ///
+ /// Airline carrier code.
+ ///
+ [JsonProperty("carrier_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("carrier_code")]
+#endif
+ public string CarrierCode { get; set; }
+
+ ///
+ /// Carrier name.
+ ///
+ [JsonProperty("carrier_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("carrier_name")]
+#endif
+ public string CarrierName { get; set; }
+
+ ///
+ /// Segment currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Departure details.
+ ///
+ [JsonProperty("departure")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure")]
+#endif
+ public ChargePaymentDetailsFlightDatumSegmentDepartureOptions Departure { get; set; }
+
+ ///
+ /// Exchange ticket number.
+ ///
+ [JsonProperty("exchange_ticket_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("exchange_ticket_number")]
+#endif
+ public string ExchangeTicketNumber { get; set; }
+
+ ///
+ /// Fare basis code.
+ ///
+ [JsonProperty("fare_basis_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("fare_basis_code")]
+#endif
+ public string FareBasisCode { get; set; }
+
+ ///
+ /// Additional fees.
+ ///
+ [JsonProperty("fees")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("fees")]
+#endif
+ public long? Fees { get; set; }
+
+ ///
+ /// Flight number.
+ ///
+ [JsonProperty("flight_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("flight_number")]
+#endif
+ public string FlightNumber { get; set; }
+
+ ///
+ /// Stopover indicator.
+ ///
+ [JsonProperty("is_stop_over_indicator")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("is_stop_over_indicator")]
+#endif
+ public bool? IsStopOverIndicator { get; set; }
+
+ ///
+ /// Refundable ticket indicator.
+ ///
+ [JsonProperty("refundable")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("refundable")]
+#endif
+ public bool? Refundable { get; set; }
+
+ ///
+ /// Class of service.
+ /// One of: business, economy, first_class, or premium_economy.
+ ///
+ [JsonProperty("service_class")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("service_class")]
+#endif
+ public string ServiceClass { get; set; }
+
+ ///
+ /// Tax amount for segment.
+ ///
+ [JsonProperty("tax_amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("tax_amount")]
+#endif
+ public long? TaxAmount { get; set; }
+
+ ///
+ /// Ticket number.
+ ///
+ [JsonProperty("ticket_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ticket_number")]
+#endif
+ public string TicketNumber { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumTotalDiscountsOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumTotalDiscountsOptions.cs
new file mode 100644
index 0000000000..3443b08df1
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumTotalDiscountsOptions.cs
@@ -0,0 +1,20 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsFlightDatumTotalDiscountsOptions : INestedOptions
+ {
+ ///
+ /// Corporate client discount code.
+ ///
+ [JsonProperty("corporate_client_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("corporate_client_code")]
+#endif
+ public string CorporateClientCode { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumTotalExtraChargeOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumTotalExtraChargeOptions.cs
new file mode 100644
index 0000000000..cbf34ddeea
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumTotalExtraChargeOptions.cs
@@ -0,0 +1,31 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsFlightDatumTotalExtraChargeOptions : INestedOptions
+ {
+ ///
+ /// Amount of additional charges.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Type of additional charges.
+ /// One of: additional_fees, ancillary_service_charges, or
+ /// exchange_fee.
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumTotalOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumTotalOptions.cs
new file mode 100644
index 0000000000..4dbd1fed21
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumTotalOptions.cs
@@ -0,0 +1,69 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsFlightDatumTotalOptions : INestedOptions
+ {
+ ///
+ /// Total flight amount.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Reason for credit.
+ /// One of: other, partial_ticket_refund,
+ /// passenger_transport_ancillary_cancellation,
+ /// ticket_and_ancillary_cancellation, or ticket_cancellation.
+ ///
+ [JsonProperty("credit_reason")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("credit_reason")]
+#endif
+ public string CreditReason { get; set; }
+
+ ///
+ /// Total currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Discount details.
+ ///
+ [JsonProperty("discounts")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("discounts")]
+#endif
+ public ChargePaymentDetailsFlightDatumTotalDiscountsOptions Discounts { get; set; }
+
+ ///
+ /// Additional charges.
+ ///
+ [JsonProperty("extra_charges")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("extra_charges")]
+#endif
+ public List ExtraCharges { get; set; }
+
+ ///
+ /// Tax breakdown.
+ ///
+ [JsonProperty("tax")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("tax")]
+#endif
+ public ChargePaymentDetailsFlightDatumTotalTaxOptions Tax { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumTotalTaxOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumTotalTaxOptions.cs
new file mode 100644
index 0000000000..d86deaad92
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumTotalTaxOptions.cs
@@ -0,0 +1,21 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsFlightDatumTotalTaxOptions : INestedOptions
+ {
+ ///
+ /// Array of tax details.
+ ///
+ [JsonProperty("taxes")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("taxes")]
+#endif
+ public List Taxes { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumTotalTaxTaxOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumTotalTaxTaxOptions.cs
new file mode 100644
index 0000000000..77acb38088
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsFlightDatumTotalTaxTaxOptions.cs
@@ -0,0 +1,38 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsFlightDatumTotalTaxTaxOptions : INestedOptions
+ {
+ ///
+ /// Tax amount.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Tax rate.
+ ///
+ [JsonProperty("rate")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("rate")]
+#endif
+ public long? Rate { get; set; }
+
+ ///
+ /// Type of tax.
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumAccommodationOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumAccommodationOptions.cs
new file mode 100644
index 0000000000..622b241d17
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumAccommodationOptions.cs
@@ -0,0 +1,76 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsLodgingDatumAccommodationOptions : INestedOptions
+ {
+ ///
+ /// Type of accommodation.
+ /// One of: apartment, cabana, house, penthouse, room,
+ /// standard, suite, or villa.
+ ///
+ [JsonProperty("accommodation_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("accommodation_type")]
+#endif
+ public string AccommodationType { get; set; }
+
+ ///
+ /// Bed type.
+ ///
+ [JsonProperty("bed_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("bed_type")]
+#endif
+ public string BedType { get; set; }
+
+ ///
+ /// Daily accommodation rate in cents.
+ ///
+ [JsonProperty("daily_rate_amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("daily_rate_amount")]
+#endif
+ public long? DailyRateAmount { get; set; }
+
+ ///
+ /// Number of nights.
+ ///
+ [JsonProperty("nights")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("nights")]
+#endif
+ public long? Nights { get; set; }
+
+ ///
+ /// Number of rooms, cabanas, apartments, and so on.
+ ///
+ [JsonProperty("number_of_rooms")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("number_of_rooms")]
+#endif
+ public long? NumberOfRooms { get; set; }
+
+ ///
+ /// Rate type.
+ ///
+ [JsonProperty("rate_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("rate_type")]
+#endif
+ public string RateType { get; set; }
+
+ ///
+ /// Whether smoking is allowed.
+ ///
+ [JsonProperty("smoking_indicator")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("smoking_indicator")]
+#endif
+ public bool? SmokingIndicator { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumAffiliateOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumAffiliateOptions.cs
new file mode 100644
index 0000000000..eba5d2cc7e
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumAffiliateOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsLodgingDatumAffiliateOptions : INestedOptions
+ {
+ ///
+ /// Affiliate partner code.
+ ///
+ [JsonProperty("code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("code")]
+#endif
+ public string Code { get; set; }
+
+ ///
+ /// Affiliate partner name.
+ ///
+ [JsonProperty("name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("name")]
+#endif
+ public string Name { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumGuestOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumGuestOptions.cs
new file mode 100644
index 0000000000..9a2cb0967f
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumGuestOptions.cs
@@ -0,0 +1,20 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsLodgingDatumGuestOptions : INestedOptions
+ {
+ ///
+ /// Guest's full name.
+ ///
+ [JsonProperty("name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("name")]
+#endif
+ public string Name { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumHostOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumHostOptions.cs
new file mode 100644
index 0000000000..443d98cc36
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumHostOptions.cs
@@ -0,0 +1,88 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsLodgingDatumHostOptions : INestedOptions
+ {
+ ///
+ /// Address of the host.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public AddressOptions Address { get; set; }
+
+ ///
+ /// Host's country of domicile.
+ ///
+ [JsonProperty("country_of_domicile")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country_of_domicile")]
+#endif
+ public string CountryOfDomicile { get; set; }
+
+ ///
+ /// Reference number for the host.
+ ///
+ [JsonProperty("host_reference")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("host_reference")]
+#endif
+ public string HostReference { get; set; }
+
+ ///
+ /// Type of host.
+ /// One of: hostel, hotel, owner, or rental_agency.
+ ///
+ [JsonProperty("host_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("host_type")]
+#endif
+ public string HostType { get; set; }
+
+ ///
+ /// Name of the lodging property or host.
+ ///
+ [JsonProperty("name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("name")]
+#endif
+ public string Name { get; set; }
+
+ ///
+ /// Total number of reservations for the host.
+ ///
+ [JsonProperty("number_of_reservations")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("number_of_reservations")]
+#endif
+ public long? NumberOfReservations { get; set; }
+
+ ///
+ /// Property phone number.
+ ///
+ [JsonProperty("property_phone_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("property_phone_number")]
+#endif
+ public string PropertyPhoneNumber { get; set; }
+
+ ///
+ /// Host's registration date.
+ ///
+ [JsonProperty("registered_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("registered_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? RegisteredAt { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumInsuranceOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumInsuranceOptions.cs
new file mode 100644
index 0000000000..93ea60b3a1
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumInsuranceOptions.cs
@@ -0,0 +1,48 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsLodgingDatumInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Price of the insurance coverage in cents.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Currency of the insurance amount.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Name of the insurance company.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance coverage.
+ /// One of: bankruptcy, cancelation, emergency, or medical.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumOptions.cs
new file mode 100644
index 0000000000..3cf7d530f0
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumOptions.cs
@@ -0,0 +1,144 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsLodgingDatumOptions : INestedOptions
+ {
+ ///
+ /// Accommodation details for the lodging.
+ ///
+ [JsonProperty("accommodation")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("accommodation")]
+#endif
+ public ChargePaymentDetailsLodgingDatumAccommodationOptions Accommodation { get; set; }
+
+ ///
+ /// Affiliate details if applicable.
+ ///
+ [JsonProperty("affiliate")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate")]
+#endif
+ public ChargePaymentDetailsLodgingDatumAffiliateOptions Affiliate { get; set; }
+
+ ///
+ /// Booking confirmation number for the lodging.
+ ///
+ [JsonProperty("booking_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("booking_number")]
+#endif
+ public string BookingNumber { get; set; }
+
+ ///
+ /// Check-in date.
+ ///
+ [JsonProperty("checkin_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("checkin_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? CheckinAt { get; set; }
+
+ ///
+ /// Check-out date.
+ ///
+ [JsonProperty("checkout_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("checkout_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? CheckoutAt { get; set; }
+
+ ///
+ /// Customer service phone number for the lodging company.
+ ///
+ [JsonProperty("customer_service_phone_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("customer_service_phone_number")]
+#endif
+ public string CustomerServicePhoneNumber { get; set; }
+
+ ///
+ /// Whether the lodging is compliant with any hotel fire safety regulations.
+ ///
+ [JsonProperty("fire_safety_act_compliance_indicator")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("fire_safety_act_compliance_indicator")]
+#endif
+ public bool? FireSafetyActComplianceIndicator { get; set; }
+
+ ///
+ /// List of guests for the lodging.
+ ///
+ [JsonProperty("guests")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("guests")]
+#endif
+ public List Guests { get; set; }
+
+ ///
+ /// Host details for the lodging.
+ ///
+ [JsonProperty("host")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("host")]
+#endif
+ public ChargePaymentDetailsLodgingDatumHostOptions Host { get; set; }
+
+ ///
+ /// List of insurances for the lodging.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// Whether the renter is a no-show.
+ ///
+ [JsonProperty("no_show_indicator")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("no_show_indicator")]
+#endif
+ public bool? NoShowIndicator { get; set; }
+
+ ///
+ /// Renter ID number for the lodging.
+ ///
+ [JsonProperty("renter_id_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("renter_id_number")]
+#endif
+ public string RenterIdNumber { get; set; }
+
+ ///
+ /// Renter name for the lodging.
+ ///
+ [JsonProperty("renter_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("renter_name")]
+#endif
+ public string RenterName { get; set; }
+
+ ///
+ /// Total details for the lodging.
+ ///
+ [JsonProperty("total")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("total")]
+#endif
+ public ChargePaymentDetailsLodgingDatumTotalOptions Total { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumTotalDiscountsOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumTotalDiscountsOptions.cs
new file mode 100644
index 0000000000..35aa531e94
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumTotalDiscountsOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsLodgingDatumTotalDiscountsOptions : INestedOptions
+ {
+ ///
+ /// Corporate client discount code.
+ ///
+ [JsonProperty("corporate_client_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("corporate_client_code")]
+#endif
+ public string CorporateClientCode { get; set; }
+
+ ///
+ /// Coupon code.
+ ///
+ [JsonProperty("coupon")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("coupon")]
+#endif
+ public string Coupon { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumTotalExtraChargeOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumTotalExtraChargeOptions.cs
new file mode 100644
index 0000000000..11db5f4f20
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumTotalExtraChargeOptions.cs
@@ -0,0 +1,31 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsLodgingDatumTotalExtraChargeOptions : INestedOptions
+ {
+ ///
+ /// Amount of the extra charge in cents.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Type of extra charge.
+ /// One of: gift_shop, laundry, mini_bar, other, phone,
+ /// or restaurant.
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumTotalOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumTotalOptions.cs
new file mode 100644
index 0000000000..651c71eb8e
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumTotalOptions.cs
@@ -0,0 +1,75 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsLodgingDatumTotalOptions : INestedOptions
+ {
+ ///
+ /// Total price of the lodging reservation in cents.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Cash advances in cents.
+ ///
+ [JsonProperty("cash_advances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("cash_advances")]
+#endif
+ public long? CashAdvances { get; set; }
+
+ ///
+ /// Currency of the total amount.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Discount details for the lodging.
+ ///
+ [JsonProperty("discounts")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("discounts")]
+#endif
+ public ChargePaymentDetailsLodgingDatumTotalDiscountsOptions Discounts { get; set; }
+
+ ///
+ /// Additional charges for the lodging.
+ ///
+ [JsonProperty("extra_charges")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("extra_charges")]
+#endif
+ public List ExtraCharges { get; set; }
+
+ ///
+ /// Prepaid amount in cents.
+ ///
+ [JsonProperty("prepaid_amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("prepaid_amount")]
+#endif
+ public long? PrepaidAmount { get; set; }
+
+ ///
+ /// Tax breakdown for the lodging reservation.
+ ///
+ [JsonProperty("tax")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("tax")]
+#endif
+ public ChargePaymentDetailsLodgingDatumTotalTaxOptions Tax { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumTotalTaxOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumTotalTaxOptions.cs
new file mode 100644
index 0000000000..129586264d
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumTotalTaxOptions.cs
@@ -0,0 +1,30 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsLodgingDatumTotalTaxOptions : INestedOptions
+ {
+ ///
+ /// Indicates whether the transaction is tax exempt.
+ ///
+ [JsonProperty("tax_exempt_indicator")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("tax_exempt_indicator")]
+#endif
+ public bool? TaxExemptIndicator { get; set; }
+
+ ///
+ /// Tax details.
+ ///
+ [JsonProperty("taxes")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("taxes")]
+#endif
+ public List Taxes { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumTotalTaxTaxOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumTotalTaxTaxOptions.cs
new file mode 100644
index 0000000000..e5e3380fd0
--- /dev/null
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsLodgingDatumTotalTaxTaxOptions.cs
@@ -0,0 +1,38 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class ChargePaymentDetailsLodgingDatumTotalTaxTaxOptions : INestedOptions
+ {
+ ///
+ /// Tax amount in cents.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Tax rate.
+ ///
+ [JsonProperty("rate")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("rate")]
+#endif
+ public long? Rate { get; set; }
+
+ ///
+ /// Type of tax applied.
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Charges/ChargePaymentDetailsOptions.cs b/src/Stripe.net/Services/Charges/ChargePaymentDetailsOptions.cs
index 83d822065b..65573b6c85 100644
--- a/src/Stripe.net/Services/Charges/ChargePaymentDetailsOptions.cs
+++ b/src/Stripe.net/Services/Charges/ChargePaymentDetailsOptions.cs
@@ -1,6 +1,7 @@
// File generated from our OpenAPI spec
namespace Stripe
{
+ using System.Collections.Generic;
using Newtonsoft.Json;
#if NET6_0_OR_GREATER
using STJS = System.Text.Json.Serialization;
@@ -17,6 +18,15 @@ public class ChargePaymentDetailsOptions : INestedOptions
#endif
public ChargePaymentDetailsCarRentalOptions CarRental { get; set; }
+ ///
+ /// Car rental data for this PaymentIntent.
+ ///
+ [JsonProperty("car_rental_data")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("car_rental_data")]
+#endif
+ public List CarRentalData { get; set; }
+
///
/// A unique value to identify the customer. This field is available only for card payments.
///
@@ -47,6 +57,15 @@ public class ChargePaymentDetailsOptions : INestedOptions
#endif
public ChargePaymentDetailsFlightOptions Flight { get; set; }
+ ///
+ /// Flight data for this PaymentIntent.
+ ///
+ [JsonProperty("flight_data")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("flight_data")]
+#endif
+ public List FlightData { get; set; }
+
///
/// Lodging reservation details for this PaymentIntent.
///
@@ -56,6 +75,15 @@ public class ChargePaymentDetailsOptions : INestedOptions
#endif
public ChargePaymentDetailsLodgingOptions Lodging { get; set; }
+ ///
+ /// Lodging data for this PaymentIntent.
+ ///
+ [JsonProperty("lodging_data")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("lodging_data")]
+#endif
+ public List LodgingData { get; set; }
+
///
/// A unique value assigned by the business to identify the transaction. Required for L2 and
/// L3 rates.
diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsPaytoMandateOptionsOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsPaytoMandateOptionsOptions.cs
index 02b94ce60a..8112c4cbf8 100644
--- a/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsPaytoMandateOptionsOptions.cs
+++ b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsPaytoMandateOptionsOptions.cs
@@ -20,6 +20,7 @@ public class SessionPaymentMethodOptionsPaytoMandateOptionsOptions : INestedOpti
///
/// The type of amount that will be collected. The amount charged must be exact or up to the
/// value of amount param for fixed or maximum type respectively.
+ /// Defaults to maximum.
/// One of: fixed, or maximum.
///
[JsonProperty("amount_type")]
@@ -39,7 +40,7 @@ public class SessionPaymentMethodOptionsPaytoMandateOptionsOptions : INestedOpti
public string EndDate { get; set; }
///
- /// The periodicity at which payments will be collected.
+ /// The periodicity at which payments will be collected. Defaults to adhoc.
/// One of: adhoc, annual, daily, fortnightly, monthly,
/// quarterly, semi_annual, or weekly.
///
@@ -60,7 +61,8 @@ public class SessionPaymentMethodOptionsPaytoMandateOptionsOptions : INestedOpti
public long? PaymentsPerPeriod { get; set; }
///
- /// The purpose for which payments are made. Defaults to retail.
+ /// The purpose for which payments are made. Has a default value based on your merchant
+ /// category code.
/// One of: dependant_support, government, loan, mortgage,
/// other, pension, personal, retail, salary, tax,
/// or utility.
diff --git a/src/Stripe.net/Services/CustomerBalanceTransactions/CustomerBalanceTransactionListOptions.cs b/src/Stripe.net/Services/CustomerBalanceTransactions/CustomerBalanceTransactionListOptions.cs
index 94d00ca0ad..0251ef05b3 100644
--- a/src/Stripe.net/Services/CustomerBalanceTransactions/CustomerBalanceTransactionListOptions.cs
+++ b/src/Stripe.net/Services/CustomerBalanceTransactions/CustomerBalanceTransactionListOptions.cs
@@ -1,7 +1,25 @@
// File generated from our OpenAPI spec
namespace Stripe
{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
public class CustomerBalanceTransactionListOptions : ListOptions
{
+ ///
+ /// Only return customer balance transactions that were created during the given date
+ /// interval.
+ ///
+ [JsonProperty("created")]
+ [JsonConverter(typeof(AnyOfConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("created")]
+ [STJS.JsonConverter(typeof(STJAnyOfConverter))]
+#endif
+ public AnyOf Created { get; set; }
}
}
diff --git a/src/Stripe.net/Services/CustomerSessions/CustomerSessionCreateOptions.cs b/src/Stripe.net/Services/CustomerSessions/CustomerSessionCreateOptions.cs
index f2260bdfe5..e2a102e306 100644
--- a/src/Stripe.net/Services/CustomerSessions/CustomerSessionCreateOptions.cs
+++ b/src/Stripe.net/Services/CustomerSessions/CustomerSessionCreateOptions.cs
@@ -9,7 +9,7 @@ namespace Stripe
public class CustomerSessionCreateOptions : BaseOptions
{
///
- /// Configuration for each component. Exactly 1 component must be enabled.
+ /// Configuration for each component. At least 1 component must be enabled.
///
[JsonProperty("components")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Services/InvoicePayments/InvoicePaymentListOptions.cs b/src/Stripe.net/Services/InvoicePayments/InvoicePaymentListOptions.cs
index 7b6066f04e..a190b3b7e7 100644
--- a/src/Stripe.net/Services/InvoicePayments/InvoicePaymentListOptions.cs
+++ b/src/Stripe.net/Services/InvoicePayments/InvoicePaymentListOptions.cs
@@ -1,13 +1,26 @@
// File generated from our OpenAPI spec
namespace Stripe
{
+ using System;
using Newtonsoft.Json;
+ using Stripe.Infrastructure;
#if NET6_0_OR_GREATER
using STJS = System.Text.Json.Serialization;
#endif
public class InvoicePaymentListOptions : ListOptions
{
+ ///
+ /// Only return invoice payments that were created during the given date interval.
+ ///
+ [JsonProperty("created")]
+ [JsonConverter(typeof(AnyOfConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("created")]
+ [STJS.JsonConverter(typeof(STJAnyOfConverter))]
+#endif
+ public AnyOf Created { get; set; }
+
///
/// The identifier of the invoice whose payments to return.
///
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaOptions.cs
index 29c8449cef..0b2b10a9a3 100644
--- a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaOptions.cs
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaOptions.cs
@@ -90,5 +90,14 @@ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaOptions : INestedOpti
[STJS.JsonPropertyName("subscriptions")]
#endif
public List Subscriptions { get; set; }
+
+ ///
+ /// Supplementary Purchase Data for the corresponding Klarna payment.
+ ///
+ [JsonProperty("supplementary_purchase_data")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("supplementary_purchase_data")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataOptions SupplementaryPurchaseData { get; set; }
}
}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalAddressOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalAddressOptions.cs
new file mode 100644
index 0000000000..397af2e9d5
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalOptions.cs
new file mode 100644
index 0000000000..d1ed3b2194
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalOptions : INestedOptions
+ {
+ ///
+ /// Address of the arrival location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalAddressOptions Address { get; set; }
+
+ ///
+ /// Identifier name or reference for the arrival location.
+ ///
+ [JsonProperty("arrival_location")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival_location")]
+#endif
+ public string ArrivalLocation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureAddressOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureAddressOptions.cs
new file mode 100644
index 0000000000..a8cd4d4c78
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureOptions.cs
new file mode 100644
index 0000000000..efb78100ff
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureOptions.cs
@@ -0,0 +1,42 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureOptions : INestedOptions
+ {
+ ///
+ /// Address of the departure location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureAddressOptions Address { get; set; }
+
+ ///
+ /// Timestamp of departure.
+ ///
+ [JsonProperty("departs_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departs_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? DepartsAt { get; set; }
+
+ ///
+ /// Identifier name or reference for the origin location.
+ ///
+ [JsonProperty("departure_location")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure_location")]
+#endif
+ public string DepartureLocation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailInsuranceOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailInsuranceOptions.cs
new file mode 100644
index 0000000000..3cc0281583
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailInsuranceOptions.cs
@@ -0,0 +1,49 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Insurance currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Name of the company providing the insurance.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance.
+ /// One of: baggage, bankruptcy, cancelation, emergency, or
+ /// medical.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+
+ ///
+ /// Price of insurance in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailOptions.cs
new file mode 100644
index 0000000000..3e8f203542
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailOptions.cs
@@ -0,0 +1,94 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailOptions : INestedOptions
+ {
+ ///
+ /// Name of associated or partner company for the service.
+ ///
+ [JsonProperty("affiliate_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate_name")]
+#endif
+ public string AffiliateName { get; set; }
+
+ ///
+ /// Arrival details.
+ ///
+ [JsonProperty("arrival")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalOptions Arrival { get; set; }
+
+ ///
+ /// Name of transportation company.
+ ///
+ [JsonProperty("carrier_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("carrier_name")]
+#endif
+ public string CarrierName { get; set; }
+
+ ///
+ /// Currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Departure details.
+ ///
+ [JsonProperty("departure")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureOptions Departure { get; set; }
+
+ ///
+ /// List of insurances for this reservation.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// List of passengers that this reservation applies to.
+ ///
+ [JsonProperty("passengers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("passengers")]
+#endif
+ public List Passengers { get; set; }
+
+ ///
+ /// Price in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+
+ ///
+ /// Ticket class.
+ /// One of: business, economy, first_class, or premium_economy.
+ ///
+ [JsonProperty("ticket_class")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ticket_class")]
+#endif
+ public string TicketClass { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailPassengerOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailPassengerOptions.cs
new file mode 100644
index 0000000000..b30306b7ff
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailPassengerOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailPassengerOptions : INestedOptions
+ {
+ ///
+ /// The family name of the person.
+ ///
+ [JsonProperty("family_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("family_name")]
+#endif
+ public string FamilyName { get; set; }
+
+ ///
+ /// The given name of the person.
+ ///
+ [JsonProperty("given_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("given_name")]
+#endif
+ public string GivenName { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailAddressOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailAddressOptions.cs
new file mode 100644
index 0000000000..231afd5d1c
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailInsuranceOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailInsuranceOptions.cs
new file mode 100644
index 0000000000..f6902c2084
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailInsuranceOptions.cs
@@ -0,0 +1,48 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Insurance currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Name of the company providing the insurance.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance.
+ /// One of: bankruptcy, cancelation, emergency, or medical.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+
+ ///
+ /// Price of insurance in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailOptions.cs
new file mode 100644
index 0000000000..6ed561c3e0
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailOptions.cs
@@ -0,0 +1,110 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailOptions : INestedOptions
+ {
+ ///
+ /// Indicates if the tickets are digitally checked when entering the venue.
+ ///
+ [JsonProperty("access_controlled_venue")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("access_controlled_venue")]
+#endif
+ public bool? AccessControlledVenue { get; set; }
+
+ ///
+ /// Address of the event.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailAddressOptions Address { get; set; }
+
+ ///
+ /// Name of associated or partner company for the service.
+ ///
+ [JsonProperty("affiliate_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate_name")]
+#endif
+ public string AffiliateName { get; set; }
+
+ ///
+ /// End timestamp of the event.
+ ///
+ [JsonProperty("ends_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ends_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? EndsAt { get; set; }
+
+ ///
+ /// Company selling the ticket.
+ ///
+ [JsonProperty("event_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("event_company_name")]
+#endif
+ public string EventCompanyName { get; set; }
+
+ ///
+ /// Name of the event.
+ ///
+ [JsonProperty("event_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("event_name")]
+#endif
+ public string EventName { get; set; }
+
+ ///
+ /// Type of the event.
+ /// One of: concert, conference, digital_education, expo,
+ /// festival, in_person_education, sport, or tour.
+ ///
+ [JsonProperty("event_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("event_type")]
+#endif
+ public string EventType { get; set; }
+
+ ///
+ /// List of insurances for this event.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// Start timestamp of the event.
+ ///
+ [JsonProperty("starts_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("starts_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? StartsAt { get; set; }
+
+ ///
+ /// Name of the venue where the event takes place.
+ ///
+ [JsonProperty("venue_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("venue_name")]
+#endif
+ public string VenueName { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalAddressOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalAddressOptions.cs
new file mode 100644
index 0000000000..e7ee9c4830
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalOptions.cs
new file mode 100644
index 0000000000..e496b60f06
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalOptions : INestedOptions
+ {
+ ///
+ /// Address of the arrival location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalAddressOptions Address { get; set; }
+
+ ///
+ /// Identifier name or reference for the arrival location.
+ ///
+ [JsonProperty("arrival_location")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival_location")]
+#endif
+ public string ArrivalLocation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureAddressOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureAddressOptions.cs
new file mode 100644
index 0000000000..ad3fbf7664
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureOptions.cs
new file mode 100644
index 0000000000..07c85d8c60
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureOptions.cs
@@ -0,0 +1,42 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureOptions : INestedOptions
+ {
+ ///
+ /// Address of the departure location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureAddressOptions Address { get; set; }
+
+ ///
+ /// Timestamp of departure.
+ ///
+ [JsonProperty("departs_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departs_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? DepartsAt { get; set; }
+
+ ///
+ /// Identifier name or reference for the origin location.
+ ///
+ [JsonProperty("departure_location")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure_location")]
+#endif
+ public string DepartureLocation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailInsuranceOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailInsuranceOptions.cs
new file mode 100644
index 0000000000..742c328d9a
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailInsuranceOptions.cs
@@ -0,0 +1,49 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Insurance currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Name of the company providing the insurance.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance.
+ /// One of: baggage, bankruptcy, cancelation, emergency, or
+ /// medical.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+
+ ///
+ /// Price of insurance in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailOptions.cs
new file mode 100644
index 0000000000..666f476ced
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailOptions.cs
@@ -0,0 +1,94 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailOptions : INestedOptions
+ {
+ ///
+ /// Name of associated or partner company for the service.
+ ///
+ [JsonProperty("affiliate_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate_name")]
+#endif
+ public string AffiliateName { get; set; }
+
+ ///
+ /// Arrival details.
+ ///
+ [JsonProperty("arrival")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalOptions Arrival { get; set; }
+
+ ///
+ /// Name of transportation company.
+ ///
+ [JsonProperty("carrier_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("carrier_name")]
+#endif
+ public string CarrierName { get; set; }
+
+ ///
+ /// Currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Departure details.
+ ///
+ [JsonProperty("departure")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureOptions Departure { get; set; }
+
+ ///
+ /// List of insurances for this reservation.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// List of passengers that this reservation applies to.
+ ///
+ [JsonProperty("passengers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("passengers")]
+#endif
+ public List Passengers { get; set; }
+
+ ///
+ /// Price in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+
+ ///
+ /// Ticket class.
+ /// One of: business, economy, first_class, or premium_economy.
+ ///
+ [JsonProperty("ticket_class")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ticket_class")]
+#endif
+ public string TicketClass { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailPassengerOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailPassengerOptions.cs
new file mode 100644
index 0000000000..2a2a35427c
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailPassengerOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailPassengerOptions : INestedOptions
+ {
+ ///
+ /// The family name of the person.
+ ///
+ [JsonProperty("family_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("family_name")]
+#endif
+ public string FamilyName { get; set; }
+
+ ///
+ /// The given name of the person.
+ ///
+ [JsonProperty("given_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("given_name")]
+#endif
+ public string GivenName { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataInsuranceOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataInsuranceOptions.cs
new file mode 100644
index 0000000000..8e8234f38d
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataInsuranceOptions.cs
@@ -0,0 +1,48 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Insurance currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Name of the company providing the insurance.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance.
+ /// One of: bankruptcy, cancelation, emergency, or medical.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+
+ ///
+ /// Price of insurance in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerMarketplaceSellerAddressOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerMarketplaceSellerAddressOptions.cs
new file mode 100644
index 0000000000..38606d34e6
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerMarketplaceSellerAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerMarketplaceSellerAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerOptions.cs
new file mode 100644
index 0000000000..a7d00f727a
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerOptions.cs
@@ -0,0 +1,143 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerOptions : INestedOptions
+ {
+ ///
+ /// The references to line items for purchases with multiple associated sub-sellers.
+ ///
+ [JsonProperty("line_item_references")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("line_item_references")]
+#endif
+ public List LineItemReferences { get; set; }
+
+ ///
+ /// The address of the selling or delivering merchant.
+ ///
+ [JsonProperty("marketplace_seller_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("marketplace_seller_address")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerMarketplaceSellerAddressOptions MarketplaceSellerAddress { get; set; }
+
+ ///
+ /// The name of the marketplace seller.
+ ///
+ [JsonProperty("marketplace_seller_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("marketplace_seller_name")]
+#endif
+ public string MarketplaceSellerName { get; set; }
+
+ ///
+ /// The unique identifier for the marketplace seller.
+ ///
+ [JsonProperty("marketplace_seller_reference")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("marketplace_seller_reference")]
+#endif
+ public string MarketplaceSellerReference { get; set; }
+
+ ///
+ /// The number of transactions the sub-seller completed in the last 12 months.
+ ///
+ [JsonProperty("number_of_transactions")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("number_of_transactions")]
+#endif
+ public long? NumberOfTransactions { get; set; }
+
+ ///
+ /// The category of the product.
+ /// One of: accessories, appliances, apps_and_games,
+ /// arts_crafts_and_sewing, automotive, baby, baby_clothing,
+ /// bags_and_purses, beauty, books, cds_and_vinyl,
+ /// cell_phones_and_accessories, collectibles_and_fine_arts,
+ /// digital_music, electronics, grocery_and_gourmet_food,
+ /// handmade, health_and_personal_care, home_and_kitchen,
+ /// industrial_and_scientific, luggage_and_travel_gear,
+ /// magazine_subscriptions, men_clothing, musical_instruments,
+ /// office_products, patio_lawn_and_garden, pet_supplies, shoes,
+ /// software, sports_and_outdoors, tools_and_home_improvement,
+ /// toys_and_games, video_games, or women_clothing.
+ ///
+ [JsonProperty("product_category")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("product_category")]
+#endif
+ public string ProductCategory { get; set; }
+
+ ///
+ /// The date when the seller's account with the marketplace was last logged in.
+ ///
+ [JsonProperty("seller_last_login_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("seller_last_login_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? SellerLastLoginAt { get; set; }
+
+ ///
+ /// The current rating of the marketplace seller. If the marketplace uses numeric ranking,
+ /// map these to the enum values.
+ /// One of: high, low, medium, very_high, or very_low.
+ ///
+ [JsonProperty("seller_rating")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("seller_rating")]
+#endif
+ public string SellerRating { get; set; }
+
+ ///
+ /// The date when the seller's account with the marketplace was created.
+ ///
+ [JsonProperty("seller_registered_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("seller_registered_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? SellerRegisteredAt { get; set; }
+
+ ///
+ /// The date when the seller's account with the marketplace was last updated.
+ ///
+ [JsonProperty("seller_updated_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("seller_updated_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? SellerUpdatedAt { get; set; }
+
+ ///
+ /// The references to shipping addresses for purchases with multiple associated sub-sellers.
+ ///
+ [JsonProperty("shipping_references")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("shipping_references")]
+#endif
+ public List ShippingReferences { get; set; }
+
+ ///
+ /// The accumulated amount of sales transactions made by the sub-merchant or sub-seller
+ /// within the past 12 months in the payment currency. These transactions are in minor
+ /// currency units.
+ ///
+ [JsonProperty("volume_of_transactions")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("volume_of_transactions")]
+#endif
+ public long? VolumeOfTransactions { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataOptions.cs
new file mode 100644
index 0000000000..dd7da5fca7
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataOptions.cs
@@ -0,0 +1,84 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataOptions : INestedOptions
+ {
+ ///
+ /// Supplementary bus reservation details.
+ ///
+ [JsonProperty("bus_reservation_details")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("bus_reservation_details")]
+#endif
+ public List BusReservationDetails { get; set; }
+
+ ///
+ /// Supplementary event reservation details.
+ ///
+ [JsonProperty("event_reservation_details")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("event_reservation_details")]
+#endif
+ public List EventReservationDetails { get; set; }
+
+ ///
+ /// Supplementary ferry reservation details.
+ ///
+ [JsonProperty("ferry_reservation_details")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ferry_reservation_details")]
+#endif
+ public List FerryReservationDetails { get; set; }
+
+ ///
+ /// Supplementary insurance details.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// Supplementary marketplace seller details.
+ ///
+ [JsonProperty("marketplace_sellers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("marketplace_sellers")]
+#endif
+ public List MarketplaceSellers { get; set; }
+
+ ///
+ /// Supplementary round trip reservation details.
+ ///
+ [JsonProperty("round_trip_reservation_details")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("round_trip_reservation_details")]
+#endif
+ public List RoundTripReservationDetails { get; set; }
+
+ ///
+ /// Supplementary train reservation details.
+ ///
+ [JsonProperty("train_reservation_details")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("train_reservation_details")]
+#endif
+ public List TrainReservationDetails { get; set; }
+
+ ///
+ /// Voucher details, such as a gift card or discount code.
+ ///
+ [JsonProperty("vouchers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("vouchers")]
+#endif
+ public List Vouchers { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalAddressOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalAddressOptions.cs
new file mode 100644
index 0000000000..2c28a0b621
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalOptions.cs
new file mode 100644
index 0000000000..f72563f0a8
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalOptions : INestedOptions
+ {
+ ///
+ /// Address of the arrival location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalAddressOptions Address { get; set; }
+
+ ///
+ /// Identifier name or reference for the arrival location.
+ ///
+ [JsonProperty("arrival_location")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival_location")]
+#endif
+ public string ArrivalLocation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureAddressOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureAddressOptions.cs
new file mode 100644
index 0000000000..fc666110b9
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureOptions.cs
new file mode 100644
index 0000000000..a951487527
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureOptions.cs
@@ -0,0 +1,42 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureOptions : INestedOptions
+ {
+ ///
+ /// Address of the departure location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureAddressOptions Address { get; set; }
+
+ ///
+ /// Timestamp of departure.
+ ///
+ [JsonProperty("departs_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departs_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? DepartsAt { get; set; }
+
+ ///
+ /// Identifier name or reference for the origin location.
+ ///
+ [JsonProperty("departure_location")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure_location")]
+#endif
+ public string DepartureLocation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailInsuranceOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailInsuranceOptions.cs
new file mode 100644
index 0000000000..cfd150272c
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailInsuranceOptions.cs
@@ -0,0 +1,49 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Insurance currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Name of the company providing the insurance.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance.
+ /// One of: baggage, bankruptcy, cancelation, emergency, or
+ /// medical.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+
+ ///
+ /// Price of insurance in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailOptions.cs
new file mode 100644
index 0000000000..97098bf831
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailOptions.cs
@@ -0,0 +1,94 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailOptions : INestedOptions
+ {
+ ///
+ /// Name of associated or partner company for the service.
+ ///
+ [JsonProperty("affiliate_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate_name")]
+#endif
+ public string AffiliateName { get; set; }
+
+ ///
+ /// Arrival details.
+ ///
+ [JsonProperty("arrival")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalOptions Arrival { get; set; }
+
+ ///
+ /// Name of transportation company.
+ ///
+ [JsonProperty("carrier_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("carrier_name")]
+#endif
+ public string CarrierName { get; set; }
+
+ ///
+ /// Currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Departure details.
+ ///
+ [JsonProperty("departure")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureOptions Departure { get; set; }
+
+ ///
+ /// List of insurances for this reservation.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// List of passengers that this reservation applies to.
+ ///
+ [JsonProperty("passengers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("passengers")]
+#endif
+ public List Passengers { get; set; }
+
+ ///
+ /// Price in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+
+ ///
+ /// Ticket class.
+ /// One of: business, economy, first_class, or premium_economy.
+ ///
+ [JsonProperty("ticket_class")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ticket_class")]
+#endif
+ public string TicketClass { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailPassengerOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailPassengerOptions.cs
new file mode 100644
index 0000000000..4799fd154c
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailPassengerOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailPassengerOptions : INestedOptions
+ {
+ ///
+ /// The family name of the person.
+ ///
+ [JsonProperty("family_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("family_name")]
+#endif
+ public string FamilyName { get; set; }
+
+ ///
+ /// The given name of the person.
+ ///
+ [JsonProperty("given_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("given_name")]
+#endif
+ public string GivenName { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalAddressOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalAddressOptions.cs
new file mode 100644
index 0000000000..ac7e7acffc
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalOptions.cs
new file mode 100644
index 0000000000..03181edb0e
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalOptions : INestedOptions
+ {
+ ///
+ /// Address of the arrival location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalAddressOptions Address { get; set; }
+
+ ///
+ /// Identifier name or reference for the arrival location.
+ ///
+ [JsonProperty("arrival_location")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival_location")]
+#endif
+ public string ArrivalLocation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureAddressOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureAddressOptions.cs
new file mode 100644
index 0000000000..b4de8f9266
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureOptions.cs
new file mode 100644
index 0000000000..84ea59a0ad
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureOptions.cs
@@ -0,0 +1,42 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureOptions : INestedOptions
+ {
+ ///
+ /// Address of the departure location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureAddressOptions Address { get; set; }
+
+ ///
+ /// Timestamp of departure.
+ ///
+ [JsonProperty("departs_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departs_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? DepartsAt { get; set; }
+
+ ///
+ /// Identifier name or reference for the origin location.
+ ///
+ [JsonProperty("departure_location")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure_location")]
+#endif
+ public string DepartureLocation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailInsuranceOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailInsuranceOptions.cs
new file mode 100644
index 0000000000..24952920d8
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailInsuranceOptions.cs
@@ -0,0 +1,49 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Insurance currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Name of the company providing the insurance.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance.
+ /// One of: baggage, bankruptcy, cancelation, emergency, or
+ /// medical.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+
+ ///
+ /// Price of insurance in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailOptions.cs
new file mode 100644
index 0000000000..4e20bb19a1
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailOptions.cs
@@ -0,0 +1,94 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailOptions : INestedOptions
+ {
+ ///
+ /// Name of associated or partner company for the service.
+ ///
+ [JsonProperty("affiliate_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate_name")]
+#endif
+ public string AffiliateName { get; set; }
+
+ ///
+ /// Arrival details.
+ ///
+ [JsonProperty("arrival")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalOptions Arrival { get; set; }
+
+ ///
+ /// Name of transportation company.
+ ///
+ [JsonProperty("carrier_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("carrier_name")]
+#endif
+ public string CarrierName { get; set; }
+
+ ///
+ /// Currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Departure details.
+ ///
+ [JsonProperty("departure")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure")]
+#endif
+ public OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureOptions Departure { get; set; }
+
+ ///
+ /// List of insurances for this reservation.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// List of passengers that this reservation applies to.
+ ///
+ [JsonProperty("passengers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("passengers")]
+#endif
+ public List Passengers { get; set; }
+
+ ///
+ /// Price in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+
+ ///
+ /// Ticket class.
+ /// One of: business, economy, first_class, or premium_economy.
+ ///
+ [JsonProperty("ticket_class")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ticket_class")]
+#endif
+ public string TicketClass { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailPassengerOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailPassengerOptions.cs
new file mode 100644
index 0000000000..d3bb952aac
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailPassengerOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailPassengerOptions : INestedOptions
+ {
+ ///
+ /// The family name of the person.
+ ///
+ [JsonProperty("family_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("family_name")]
+#endif
+ public string FamilyName { get; set; }
+
+ ///
+ /// The given name of the person.
+ ///
+ [JsonProperty("given_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("given_name")]
+#endif
+ public string GivenName { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataVoucherOptions.cs b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataVoucherOptions.cs
new file mode 100644
index 0000000000..57c9caaa65
--- /dev/null
+++ b/src/Stripe.net/Services/Orders/OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataVoucherOptions.cs
@@ -0,0 +1,73 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OrderPaymentSettingsPaymentMethodOptionsKlarnaSupplementaryPurchaseDataVoucherOptions : INestedOptions
+ {
+ ///
+ /// Name of associated or partner company for this voucher.
+ ///
+ [JsonProperty("affiliate_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate_name")]
+#endif
+ public string AffiliateName { get; set; }
+
+ ///
+ /// The voucher validity end time.
+ ///
+ [JsonProperty("ends_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ends_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? EndsAt { get; set; }
+
+ ///
+ /// The voucher validity start time.
+ ///
+ [JsonProperty("starts_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("starts_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? StartsAt { get; set; }
+
+ ///
+ /// The issuer or provider of this voucher.
+ ///
+ [JsonProperty("voucher_company")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("voucher_company")]
+#endif
+ public string VoucherCompany { get; set; }
+
+ ///
+ /// The name or reference to identify the voucher.
+ ///
+ [JsonProperty("voucher_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("voucher_name")]
+#endif
+ public string VoucherName { get; set; }
+
+ ///
+ /// The type of this voucher.
+ /// One of: digital_product, discount, gift_card,
+ /// physical_product, or services.
+ ///
+ [JsonProperty("voucher_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("voucher_type")]
+#endif
+ public string VoucherType { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumAffiliateOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumAffiliateOptions.cs
new file mode 100644
index 0000000000..f30948047a
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumAffiliateOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsCarRentalDatumAffiliateOptions : INestedOptions
+ {
+ ///
+ /// Affiliate partner code.
+ ///
+ [JsonProperty("code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("code")]
+#endif
+ public string Code { get; set; }
+
+ ///
+ /// Name of affiliate partner.
+ ///
+ [JsonProperty("name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("name")]
+#endif
+ public string Name { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumDistanceOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumDistanceOptions.cs
new file mode 100644
index 0000000000..6ddeb48bed
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumDistanceOptions.cs
@@ -0,0 +1,30 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsCarRentalDatumDistanceOptions : INestedOptions
+ {
+ ///
+ /// Distance traveled.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Unit of measurement for the distance traveled. One of miles or kilometers.
+ /// One of: kilometers, or miles.
+ ///
+ [JsonProperty("unit")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("unit")]
+#endif
+ public string Unit { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumDriverDateOfBirthOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumDriverDateOfBirthOptions.cs
new file mode 100644
index 0000000000..42cb65f8fb
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumDriverDateOfBirthOptions.cs
@@ -0,0 +1,38 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsCarRentalDatumDriverDateOfBirthOptions : INestedOptions
+ {
+ ///
+ /// Day of birth (1-31).
+ ///
+ [JsonProperty("day")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("day")]
+#endif
+ public long? Day { get; set; }
+
+ ///
+ /// Month of birth (1-12).
+ ///
+ [JsonProperty("month")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("month")]
+#endif
+ public long? Month { get; set; }
+
+ ///
+ /// Year of birth (must be greater than 1900).
+ ///
+ [JsonProperty("year")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("year")]
+#endif
+ public long? Year { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumDriverOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumDriverOptions.cs
new file mode 100644
index 0000000000..da1689af68
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumDriverOptions.cs
@@ -0,0 +1,47 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsCarRentalDatumDriverOptions : INestedOptions
+ {
+ ///
+ /// Driver's date of birth.
+ ///
+ [JsonProperty("date_of_birth")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("date_of_birth")]
+#endif
+ public PaymentIntentPaymentDetailsCarRentalDatumDriverDateOfBirthOptions DateOfBirth { get; set; }
+
+ ///
+ /// Driver's identification number.
+ ///
+ [JsonProperty("driver_identification_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("driver_identification_number")]
+#endif
+ public string DriverIdentificationNumber { get; set; }
+
+ ///
+ /// Driver's tax number.
+ ///
+ [JsonProperty("driver_tax_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("driver_tax_number")]
+#endif
+ public string DriverTaxNumber { get; set; }
+
+ ///
+ /// Driver's full name.
+ ///
+ [JsonProperty("name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("name")]
+#endif
+ public string Name { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumDropOffOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumDropOffOptions.cs
new file mode 100644
index 0000000000..e17d04014a
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumDropOffOptions.cs
@@ -0,0 +1,42 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsCarRentalDatumDropOffOptions : INestedOptions
+ {
+ ///
+ /// Address of the rental location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public AddressOptions Address { get; set; }
+
+ ///
+ /// Location name.
+ ///
+ [JsonProperty("location_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("location_name")]
+#endif
+ public string LocationName { get; set; }
+
+ ///
+ /// Timestamp for the location.
+ ///
+ [JsonProperty("time")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("time")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? Time { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumInsuranceOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumInsuranceOptions.cs
new file mode 100644
index 0000000000..b578bdf4fa
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumInsuranceOptions.cs
@@ -0,0 +1,49 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsCarRentalDatumInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Amount of the insurance coverage in cents.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Currency of the insurance amount.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Name of the insurance company.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance coverage.
+ /// One of: liability_supplement, loss_damage_waiver, other,
+ /// partial_damage_waiver, personal_accident, or personal_effects.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumOptions.cs
new file mode 100644
index 0000000000..2111072afb
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumOptions.cs
@@ -0,0 +1,138 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsCarRentalDatumOptions : INestedOptions
+ {
+ ///
+ /// Affiliate (such as travel agency) details for the rental.
+ ///
+ [JsonProperty("affiliate")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate")]
+#endif
+ public PaymentIntentPaymentDetailsCarRentalDatumAffiliateOptions Affiliate { get; set; }
+
+ ///
+ /// Booking confirmation number for the car rental.
+ ///
+ [JsonProperty("booking_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("booking_number")]
+#endif
+ public string BookingNumber { get; set; }
+
+ ///
+ /// Name of the car rental company.
+ ///
+ [JsonProperty("carrier_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("carrier_name")]
+#endif
+ public string CarrierName { get; set; }
+
+ ///
+ /// Customer service phone number for the car rental company.
+ ///
+ [JsonProperty("customer_service_phone_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("customer_service_phone_number")]
+#endif
+ public string CustomerServicePhoneNumber { get; set; }
+
+ ///
+ /// Number of days the car is being rented.
+ ///
+ [JsonProperty("days_rented")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("days_rented")]
+#endif
+ public long? DaysRented { get; set; }
+
+ ///
+ /// Distance details for the rental.
+ ///
+ [JsonProperty("distance")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("distance")]
+#endif
+ public PaymentIntentPaymentDetailsCarRentalDatumDistanceOptions Distance { get; set; }
+
+ ///
+ /// List of drivers for the rental.
+ ///
+ [JsonProperty("drivers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("drivers")]
+#endif
+ public List Drivers { get; set; }
+
+ ///
+ /// Drop-off location details.
+ ///
+ [JsonProperty("drop_off")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("drop_off")]
+#endif
+ public PaymentIntentPaymentDetailsCarRentalDatumDropOffOptions DropOff { get; set; }
+
+ ///
+ /// Insurance details for the rental.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// Indicates if the customer was a no-show.
+ ///
+ [JsonProperty("no_show_indicator")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("no_show_indicator")]
+#endif
+ public bool? NoShowIndicator { get; set; }
+
+ ///
+ /// Pickup location details.
+ ///
+ [JsonProperty("pickup")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("pickup")]
+#endif
+ public PaymentIntentPaymentDetailsCarRentalDatumPickupOptions Pickup { get; set; }
+
+ ///
+ /// Name of the person renting the vehicle.
+ ///
+ [JsonProperty("renter_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("renter_name")]
+#endif
+ public string RenterName { get; set; }
+
+ ///
+ /// Total cost breakdown for the rental.
+ ///
+ [JsonProperty("total")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("total")]
+#endif
+ public PaymentIntentPaymentDetailsCarRentalDatumTotalOptions Total { get; set; }
+
+ ///
+ /// Vehicle details for the rental.
+ ///
+ [JsonProperty("vehicle")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("vehicle")]
+#endif
+ public PaymentIntentPaymentDetailsCarRentalDatumVehicleOptions Vehicle { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumPickupOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumPickupOptions.cs
new file mode 100644
index 0000000000..9e54075f48
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumPickupOptions.cs
@@ -0,0 +1,42 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsCarRentalDatumPickupOptions : INestedOptions
+ {
+ ///
+ /// Address of the rental location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public AddressOptions Address { get; set; }
+
+ ///
+ /// Location name.
+ ///
+ [JsonProperty("location_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("location_name")]
+#endif
+ public string LocationName { get; set; }
+
+ ///
+ /// Timestamp for the location.
+ ///
+ [JsonProperty("time")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("time")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? Time { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumTotalDiscountsOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumTotalDiscountsOptions.cs
new file mode 100644
index 0000000000..490af36c3d
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumTotalDiscountsOptions.cs
@@ -0,0 +1,38 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsCarRentalDatumTotalDiscountsOptions : INestedOptions
+ {
+ ///
+ /// Corporate client discount code.
+ ///
+ [JsonProperty("corporate_client_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("corporate_client_code")]
+#endif
+ public string CorporateClientCode { get; set; }
+
+ ///
+ /// Coupon code applied to the rental.
+ ///
+ [JsonProperty("coupon")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("coupon")]
+#endif
+ public string Coupon { get; set; }
+
+ ///
+ /// Maximum number of free miles or kilometers included.
+ ///
+ [JsonProperty("maximum_free_miles_or_kilometers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("maximum_free_miles_or_kilometers")]
+#endif
+ public long? MaximumFreeMilesOrKilometers { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumTotalExtraChargeOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumTotalExtraChargeOptions.cs
new file mode 100644
index 0000000000..b5170a2e3a
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumTotalExtraChargeOptions.cs
@@ -0,0 +1,32 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsCarRentalDatumTotalExtraChargeOptions : INestedOptions
+ {
+ ///
+ /// Amount of the extra charge in cents.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Type of extra charge.
+ /// One of: extra_mileage, gas, gps, late_charge,
+ /// one_way_drop_off, other, parking, phone,
+ /// regular_mileage, or towing.
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumTotalOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumTotalOptions.cs
new file mode 100644
index 0000000000..e44b3c23fa
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumTotalOptions.cs
@@ -0,0 +1,76 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsCarRentalDatumTotalOptions : INestedOptions
+ {
+ ///
+ /// Total amount in cents.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Currency of the amount.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Discount details for the rental.
+ ///
+ [JsonProperty("discounts")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("discounts")]
+#endif
+ public PaymentIntentPaymentDetailsCarRentalDatumTotalDiscountsOptions Discounts { get; set; }
+
+ ///
+ /// Additional charges for the rental.
+ ///
+ [JsonProperty("extra_charges")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("extra_charges")]
+#endif
+ public List ExtraCharges { get; set; }
+
+ ///
+ /// Rate per unit for the rental.
+ ///
+ [JsonProperty("rate_per_unit")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("rate_per_unit")]
+#endif
+ public long? RatePerUnit { get; set; }
+
+ ///
+ /// Unit of measurement for the rate.
+ /// One of: days, kilometers, miles, months, or weeks.
+ ///
+ [JsonProperty("rate_unit")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("rate_unit")]
+#endif
+ public string RateUnit { get; set; }
+
+ ///
+ /// Tax breakdown for the rental.
+ ///
+ [JsonProperty("tax")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("tax")]
+#endif
+ public PaymentIntentPaymentDetailsCarRentalDatumTotalTaxOptions Tax { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumTotalTaxOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumTotalTaxOptions.cs
new file mode 100644
index 0000000000..d693f07ccc
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumTotalTaxOptions.cs
@@ -0,0 +1,30 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsCarRentalDatumTotalTaxOptions : INestedOptions
+ {
+ ///
+ /// Indicates if the transaction is tax exempt.
+ ///
+ [JsonProperty("tax_exempt_indicator")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("tax_exempt_indicator")]
+#endif
+ public bool? TaxExemptIndicator { get; set; }
+
+ ///
+ /// Array of tax details.
+ ///
+ [JsonProperty("taxes")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("taxes")]
+#endif
+ public List Taxes { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumTotalTaxTaxOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumTotalTaxTaxOptions.cs
new file mode 100644
index 0000000000..972d2d320b
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumTotalTaxTaxOptions.cs
@@ -0,0 +1,38 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsCarRentalDatumTotalTaxTaxOptions : INestedOptions
+ {
+ ///
+ /// Tax amount.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Tax rate applied.
+ ///
+ [JsonProperty("rate")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("rate")]
+#endif
+ public long? Rate { get; set; }
+
+ ///
+ /// Type of tax applied.
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumVehicleOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumVehicleOptions.cs
new file mode 100644
index 0000000000..74e3bb915c
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsCarRentalDatumVehicleOptions.cs
@@ -0,0 +1,75 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsCarRentalDatumVehicleOptions : INestedOptions
+ {
+ ///
+ /// Make of the rental vehicle.
+ ///
+ [JsonProperty("make")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("make")]
+#endif
+ public string Make { get; set; }
+
+ ///
+ /// Model of the rental vehicle.
+ ///
+ [JsonProperty("model")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("model")]
+#endif
+ public string Model { get; set; }
+
+ ///
+ /// Odometer reading at the time of rental.
+ ///
+ [JsonProperty("odometer")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("odometer")]
+#endif
+ public long? Odometer { get; set; }
+
+ ///
+ /// Type of the rental vehicle.
+ /// One of: cargo_van, compact, economy, exotic,
+ /// exotic_suv, fifteen_passenger_van, four_wheel_drive,
+ /// full_size, intermediate, large_suv, large_truck,
+ /// luxury, medium_suv, midsize, mini, minivan,
+ /// miscellaneous, moped, moving_van, premium, regular,
+ /// small_medium_truck, small_suv, special, standard,
+ /// stretch, subcompact, taxi, twelve_foot_truck,
+ /// twelve_passenger_van, twenty_foot_truck, twenty_four_foot_truck,
+ /// twenty_six_foot_truck, or unique.
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+
+ ///
+ /// Class of the rental vehicle.
+ /// One of: business, economy, first_class, or premium_economy.
+ ///
+ [JsonProperty("vehicle_class")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("vehicle_class")]
+#endif
+ public string VehicleClass { get; set; }
+
+ ///
+ /// Vehicle identification number (VIN).
+ ///
+ [JsonProperty("vehicle_identification_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("vehicle_identification_number")]
+#endif
+ public string VehicleIdentificationNumber { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumAffiliateOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumAffiliateOptions.cs
new file mode 100644
index 0000000000..ac41e3712f
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumAffiliateOptions.cs
@@ -0,0 +1,38 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsFlightDatumAffiliateOptions : INestedOptions
+ {
+ ///
+ /// Affiliate partner code.
+ ///
+ [JsonProperty("code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("code")]
+#endif
+ public string Code { get; set; }
+
+ ///
+ /// Name of affiliate partner.
+ ///
+ [JsonProperty("name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("name")]
+#endif
+ public string Name { get; set; }
+
+ ///
+ /// Code provided by the company to a travel agent authorizing ticket issuance.
+ ///
+ [JsonProperty("travel_authorization_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("travel_authorization_code")]
+#endif
+ public string TravelAuthorizationCode { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumInsuranceOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumInsuranceOptions.cs
new file mode 100644
index 0000000000..92a5acdc0c
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumInsuranceOptions.cs
@@ -0,0 +1,49 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsFlightDatumInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Insurance cost.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Insurance currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Insurance company name.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance.
+ /// One of: baggage, bankruptcy, cancelation, emergency, or
+ /// medical.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumOptions.cs
new file mode 100644
index 0000000000..a9ca03ff4f
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumOptions.cs
@@ -0,0 +1,104 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsFlightDatumOptions : INestedOptions
+ {
+ ///
+ /// Affiliate details if applicable.
+ ///
+ [JsonProperty("affiliate")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate")]
+#endif
+ public PaymentIntentPaymentDetailsFlightDatumAffiliateOptions Affiliate { get; set; }
+
+ ///
+ /// Reservation reference.
+ ///
+ [JsonProperty("booking_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("booking_number")]
+#endif
+ public string BookingNumber { get; set; }
+
+ ///
+ /// Computerized reservation system used to make the reservation and purchase the ticket.
+ ///
+ [JsonProperty("computerized_reservation_system")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("computerized_reservation_system")]
+#endif
+ public string ComputerizedReservationSystem { get; set; }
+
+ ///
+ /// Ticket restrictions.
+ ///
+ [JsonProperty("endorsements_and_restrictions")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("endorsements_and_restrictions")]
+#endif
+ public string EndorsementsAndRestrictions { get; set; }
+
+ ///
+ /// List of insurances.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// List of passengers.
+ ///
+ [JsonProperty("passengers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("passengers")]
+#endif
+ public List Passengers { get; set; }
+
+ ///
+ /// List of flight segments.
+ ///
+ [JsonProperty("segments")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("segments")]
+#endif
+ public List Segments { get; set; }
+
+ ///
+ /// Electronic ticket indicator.
+ ///
+ [JsonProperty("ticket_electronically_issued_indicator")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ticket_electronically_issued_indicator")]
+#endif
+ public bool? TicketElectronicallyIssuedIndicator { get; set; }
+
+ ///
+ /// Total cost breakdown.
+ ///
+ [JsonProperty("total")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("total")]
+#endif
+ public PaymentIntentPaymentDetailsFlightDatumTotalOptions Total { get; set; }
+
+ ///
+ /// Type of flight transaction.
+ /// One of: exchange_ticket, miscellaneous, refund, or
+ /// ticket_purchase.
+ ///
+ [JsonProperty("transaction_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("transaction_type")]
+#endif
+ public string TransactionType { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumPassengerOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumPassengerOptions.cs
new file mode 100644
index 0000000000..5420b39162
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumPassengerOptions.cs
@@ -0,0 +1,20 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsFlightDatumPassengerOptions : INestedOptions
+ {
+ ///
+ /// Passenger's full name.
+ ///
+ [JsonProperty("name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("name")]
+#endif
+ public string Name { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumSegmentArrivalOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumSegmentArrivalOptions.cs
new file mode 100644
index 0000000000..039b90c5f4
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumSegmentArrivalOptions.cs
@@ -0,0 +1,51 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsFlightDatumSegmentArrivalOptions : INestedOptions
+ {
+ ///
+ /// Arrival airport IATA code.
+ ///
+ [JsonProperty("airport")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("airport")]
+#endif
+ public string Airport { get; set; }
+
+ ///
+ /// Arrival date/time.
+ ///
+ [JsonProperty("arrives_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrives_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? ArrivesAt { get; set; }
+
+ ///
+ /// Arrival city.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// Arrival country.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumSegmentDepartureOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumSegmentDepartureOptions.cs
new file mode 100644
index 0000000000..1a5ed2d2f1
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumSegmentDepartureOptions.cs
@@ -0,0 +1,51 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsFlightDatumSegmentDepartureOptions : INestedOptions
+ {
+ ///
+ /// Departure airport IATA code.
+ ///
+ [JsonProperty("airport")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("airport")]
+#endif
+ public string Airport { get; set; }
+
+ ///
+ /// Departure city.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// Departure country.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// Departure date/time.
+ ///
+ [JsonProperty("departs_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departs_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? DepartsAt { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumSegmentOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumSegmentOptions.cs
new file mode 100644
index 0000000000..ad45af5cd2
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumSegmentOptions.cs
@@ -0,0 +1,147 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsFlightDatumSegmentOptions : INestedOptions
+ {
+ ///
+ /// Segment fare amount.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Arrival details.
+ ///
+ [JsonProperty("arrival")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival")]
+#endif
+ public PaymentIntentPaymentDetailsFlightDatumSegmentArrivalOptions Arrival { get; set; }
+
+ ///
+ /// Airline carrier code.
+ ///
+ [JsonProperty("carrier_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("carrier_code")]
+#endif
+ public string CarrierCode { get; set; }
+
+ ///
+ /// Carrier name.
+ ///
+ [JsonProperty("carrier_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("carrier_name")]
+#endif
+ public string CarrierName { get; set; }
+
+ ///
+ /// Segment currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Departure details.
+ ///
+ [JsonProperty("departure")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure")]
+#endif
+ public PaymentIntentPaymentDetailsFlightDatumSegmentDepartureOptions Departure { get; set; }
+
+ ///
+ /// Exchange ticket number.
+ ///
+ [JsonProperty("exchange_ticket_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("exchange_ticket_number")]
+#endif
+ public string ExchangeTicketNumber { get; set; }
+
+ ///
+ /// Fare basis code.
+ ///
+ [JsonProperty("fare_basis_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("fare_basis_code")]
+#endif
+ public string FareBasisCode { get; set; }
+
+ ///
+ /// Additional fees.
+ ///
+ [JsonProperty("fees")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("fees")]
+#endif
+ public long? Fees { get; set; }
+
+ ///
+ /// Flight number.
+ ///
+ [JsonProperty("flight_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("flight_number")]
+#endif
+ public string FlightNumber { get; set; }
+
+ ///
+ /// Stopover indicator.
+ ///
+ [JsonProperty("is_stop_over_indicator")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("is_stop_over_indicator")]
+#endif
+ public bool? IsStopOverIndicator { get; set; }
+
+ ///
+ /// Refundable ticket indicator.
+ ///
+ [JsonProperty("refundable")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("refundable")]
+#endif
+ public bool? Refundable { get; set; }
+
+ ///
+ /// Class of service.
+ /// One of: business, economy, first_class, or premium_economy.
+ ///
+ [JsonProperty("service_class")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("service_class")]
+#endif
+ public string ServiceClass { get; set; }
+
+ ///
+ /// Tax amount for segment.
+ ///
+ [JsonProperty("tax_amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("tax_amount")]
+#endif
+ public long? TaxAmount { get; set; }
+
+ ///
+ /// Ticket number.
+ ///
+ [JsonProperty("ticket_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ticket_number")]
+#endif
+ public string TicketNumber { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumTotalDiscountsOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumTotalDiscountsOptions.cs
new file mode 100644
index 0000000000..1103d6f57d
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumTotalDiscountsOptions.cs
@@ -0,0 +1,20 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsFlightDatumTotalDiscountsOptions : INestedOptions
+ {
+ ///
+ /// Corporate client discount code.
+ ///
+ [JsonProperty("corporate_client_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("corporate_client_code")]
+#endif
+ public string CorporateClientCode { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumTotalExtraChargeOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumTotalExtraChargeOptions.cs
new file mode 100644
index 0000000000..9317565a23
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumTotalExtraChargeOptions.cs
@@ -0,0 +1,31 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsFlightDatumTotalExtraChargeOptions : INestedOptions
+ {
+ ///
+ /// Amount of additional charges.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Type of additional charges.
+ /// One of: additional_fees, ancillary_service_charges, or
+ /// exchange_fee.
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumTotalOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumTotalOptions.cs
new file mode 100644
index 0000000000..97fdcc1c9c
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumTotalOptions.cs
@@ -0,0 +1,69 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsFlightDatumTotalOptions : INestedOptions
+ {
+ ///
+ /// Total flight amount.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Reason for credit.
+ /// One of: other, partial_ticket_refund,
+ /// passenger_transport_ancillary_cancellation,
+ /// ticket_and_ancillary_cancellation, or ticket_cancellation.
+ ///
+ [JsonProperty("credit_reason")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("credit_reason")]
+#endif
+ public string CreditReason { get; set; }
+
+ ///
+ /// Total currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Discount details.
+ ///
+ [JsonProperty("discounts")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("discounts")]
+#endif
+ public PaymentIntentPaymentDetailsFlightDatumTotalDiscountsOptions Discounts { get; set; }
+
+ ///
+ /// Additional charges.
+ ///
+ [JsonProperty("extra_charges")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("extra_charges")]
+#endif
+ public List ExtraCharges { get; set; }
+
+ ///
+ /// Tax breakdown.
+ ///
+ [JsonProperty("tax")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("tax")]
+#endif
+ public PaymentIntentPaymentDetailsFlightDatumTotalTaxOptions Tax { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumTotalTaxOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumTotalTaxOptions.cs
new file mode 100644
index 0000000000..5aa61356ce
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumTotalTaxOptions.cs
@@ -0,0 +1,21 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsFlightDatumTotalTaxOptions : INestedOptions
+ {
+ ///
+ /// Array of tax details.
+ ///
+ [JsonProperty("taxes")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("taxes")]
+#endif
+ public List Taxes { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumTotalTaxTaxOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumTotalTaxTaxOptions.cs
new file mode 100644
index 0000000000..1a31a021e1
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsFlightDatumTotalTaxTaxOptions.cs
@@ -0,0 +1,38 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsFlightDatumTotalTaxTaxOptions : INestedOptions
+ {
+ ///
+ /// Tax amount.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Tax rate.
+ ///
+ [JsonProperty("rate")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("rate")]
+#endif
+ public long? Rate { get; set; }
+
+ ///
+ /// Type of tax.
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumAccommodationOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumAccommodationOptions.cs
new file mode 100644
index 0000000000..15a827a2b8
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumAccommodationOptions.cs
@@ -0,0 +1,76 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsLodgingDatumAccommodationOptions : INestedOptions
+ {
+ ///
+ /// Type of accommodation.
+ /// One of: apartment, cabana, house, penthouse, room,
+ /// standard, suite, or villa.
+ ///
+ [JsonProperty("accommodation_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("accommodation_type")]
+#endif
+ public string AccommodationType { get; set; }
+
+ ///
+ /// Bed type.
+ ///
+ [JsonProperty("bed_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("bed_type")]
+#endif
+ public string BedType { get; set; }
+
+ ///
+ /// Daily accommodation rate in cents.
+ ///
+ [JsonProperty("daily_rate_amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("daily_rate_amount")]
+#endif
+ public long? DailyRateAmount { get; set; }
+
+ ///
+ /// Number of nights.
+ ///
+ [JsonProperty("nights")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("nights")]
+#endif
+ public long? Nights { get; set; }
+
+ ///
+ /// Number of rooms, cabanas, apartments, and so on.
+ ///
+ [JsonProperty("number_of_rooms")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("number_of_rooms")]
+#endif
+ public long? NumberOfRooms { get; set; }
+
+ ///
+ /// Rate type.
+ ///
+ [JsonProperty("rate_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("rate_type")]
+#endif
+ public string RateType { get; set; }
+
+ ///
+ /// Whether smoking is allowed.
+ ///
+ [JsonProperty("smoking_indicator")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("smoking_indicator")]
+#endif
+ public bool? SmokingIndicator { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumAffiliateOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumAffiliateOptions.cs
new file mode 100644
index 0000000000..c886409d59
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumAffiliateOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsLodgingDatumAffiliateOptions : INestedOptions
+ {
+ ///
+ /// Affiliate partner code.
+ ///
+ [JsonProperty("code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("code")]
+#endif
+ public string Code { get; set; }
+
+ ///
+ /// Affiliate partner name.
+ ///
+ [JsonProperty("name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("name")]
+#endif
+ public string Name { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumGuestOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumGuestOptions.cs
new file mode 100644
index 0000000000..6d71f96957
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumGuestOptions.cs
@@ -0,0 +1,20 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsLodgingDatumGuestOptions : INestedOptions
+ {
+ ///
+ /// Guest's full name.
+ ///
+ [JsonProperty("name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("name")]
+#endif
+ public string Name { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumHostOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumHostOptions.cs
new file mode 100644
index 0000000000..a86489c93b
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumHostOptions.cs
@@ -0,0 +1,88 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsLodgingDatumHostOptions : INestedOptions
+ {
+ ///
+ /// Address of the host.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public AddressOptions Address { get; set; }
+
+ ///
+ /// Host's country of domicile.
+ ///
+ [JsonProperty("country_of_domicile")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country_of_domicile")]
+#endif
+ public string CountryOfDomicile { get; set; }
+
+ ///
+ /// Reference number for the host.
+ ///
+ [JsonProperty("host_reference")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("host_reference")]
+#endif
+ public string HostReference { get; set; }
+
+ ///
+ /// Type of host.
+ /// One of: hostel, hotel, owner, or rental_agency.
+ ///
+ [JsonProperty("host_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("host_type")]
+#endif
+ public string HostType { get; set; }
+
+ ///
+ /// Name of the lodging property or host.
+ ///
+ [JsonProperty("name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("name")]
+#endif
+ public string Name { get; set; }
+
+ ///
+ /// Total number of reservations for the host.
+ ///
+ [JsonProperty("number_of_reservations")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("number_of_reservations")]
+#endif
+ public long? NumberOfReservations { get; set; }
+
+ ///
+ /// Property phone number.
+ ///
+ [JsonProperty("property_phone_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("property_phone_number")]
+#endif
+ public string PropertyPhoneNumber { get; set; }
+
+ ///
+ /// Host's registration date.
+ ///
+ [JsonProperty("registered_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("registered_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? RegisteredAt { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumInsuranceOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumInsuranceOptions.cs
new file mode 100644
index 0000000000..f9d6deee88
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumInsuranceOptions.cs
@@ -0,0 +1,48 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsLodgingDatumInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Price of the insurance coverage in cents.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Currency of the insurance amount.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Name of the insurance company.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance coverage.
+ /// One of: bankruptcy, cancelation, emergency, or medical.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumOptions.cs
new file mode 100644
index 0000000000..1f90097acd
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumOptions.cs
@@ -0,0 +1,144 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsLodgingDatumOptions : INestedOptions
+ {
+ ///
+ /// Accommodation details for the lodging.
+ ///
+ [JsonProperty("accommodation")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("accommodation")]
+#endif
+ public PaymentIntentPaymentDetailsLodgingDatumAccommodationOptions Accommodation { get; set; }
+
+ ///
+ /// Affiliate details if applicable.
+ ///
+ [JsonProperty("affiliate")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate")]
+#endif
+ public PaymentIntentPaymentDetailsLodgingDatumAffiliateOptions Affiliate { get; set; }
+
+ ///
+ /// Booking confirmation number for the lodging.
+ ///
+ [JsonProperty("booking_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("booking_number")]
+#endif
+ public string BookingNumber { get; set; }
+
+ ///
+ /// Check-in date.
+ ///
+ [JsonProperty("checkin_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("checkin_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? CheckinAt { get; set; }
+
+ ///
+ /// Check-out date.
+ ///
+ [JsonProperty("checkout_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("checkout_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? CheckoutAt { get; set; }
+
+ ///
+ /// Customer service phone number for the lodging company.
+ ///
+ [JsonProperty("customer_service_phone_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("customer_service_phone_number")]
+#endif
+ public string CustomerServicePhoneNumber { get; set; }
+
+ ///
+ /// Whether the lodging is compliant with any hotel fire safety regulations.
+ ///
+ [JsonProperty("fire_safety_act_compliance_indicator")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("fire_safety_act_compliance_indicator")]
+#endif
+ public bool? FireSafetyActComplianceIndicator { get; set; }
+
+ ///
+ /// List of guests for the lodging.
+ ///
+ [JsonProperty("guests")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("guests")]
+#endif
+ public List Guests { get; set; }
+
+ ///
+ /// Host details for the lodging.
+ ///
+ [JsonProperty("host")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("host")]
+#endif
+ public PaymentIntentPaymentDetailsLodgingDatumHostOptions Host { get; set; }
+
+ ///
+ /// List of insurances for the lodging.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// Whether the renter is a no-show.
+ ///
+ [JsonProperty("no_show_indicator")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("no_show_indicator")]
+#endif
+ public bool? NoShowIndicator { get; set; }
+
+ ///
+ /// Renter ID number for the lodging.
+ ///
+ [JsonProperty("renter_id_number")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("renter_id_number")]
+#endif
+ public string RenterIdNumber { get; set; }
+
+ ///
+ /// Renter name for the lodging.
+ ///
+ [JsonProperty("renter_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("renter_name")]
+#endif
+ public string RenterName { get; set; }
+
+ ///
+ /// Total details for the lodging.
+ ///
+ [JsonProperty("total")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("total")]
+#endif
+ public PaymentIntentPaymentDetailsLodgingDatumTotalOptions Total { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumTotalDiscountsOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumTotalDiscountsOptions.cs
new file mode 100644
index 0000000000..22a509c198
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumTotalDiscountsOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsLodgingDatumTotalDiscountsOptions : INestedOptions
+ {
+ ///
+ /// Corporate client discount code.
+ ///
+ [JsonProperty("corporate_client_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("corporate_client_code")]
+#endif
+ public string CorporateClientCode { get; set; }
+
+ ///
+ /// Coupon code.
+ ///
+ [JsonProperty("coupon")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("coupon")]
+#endif
+ public string Coupon { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumTotalExtraChargeOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumTotalExtraChargeOptions.cs
new file mode 100644
index 0000000000..88ad64efcc
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumTotalExtraChargeOptions.cs
@@ -0,0 +1,31 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsLodgingDatumTotalExtraChargeOptions : INestedOptions
+ {
+ ///
+ /// Amount of the extra charge in cents.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Type of extra charge.
+ /// One of: gift_shop, laundry, mini_bar, other, phone,
+ /// or restaurant.
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumTotalOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumTotalOptions.cs
new file mode 100644
index 0000000000..6b413f1689
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumTotalOptions.cs
@@ -0,0 +1,75 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsLodgingDatumTotalOptions : INestedOptions
+ {
+ ///
+ /// Total price of the lodging reservation in cents.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Cash advances in cents.
+ ///
+ [JsonProperty("cash_advances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("cash_advances")]
+#endif
+ public long? CashAdvances { get; set; }
+
+ ///
+ /// Currency of the total amount.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Discount details for the lodging.
+ ///
+ [JsonProperty("discounts")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("discounts")]
+#endif
+ public PaymentIntentPaymentDetailsLodgingDatumTotalDiscountsOptions Discounts { get; set; }
+
+ ///
+ /// Additional charges for the lodging.
+ ///
+ [JsonProperty("extra_charges")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("extra_charges")]
+#endif
+ public List ExtraCharges { get; set; }
+
+ ///
+ /// Prepaid amount in cents.
+ ///
+ [JsonProperty("prepaid_amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("prepaid_amount")]
+#endif
+ public long? PrepaidAmount { get; set; }
+
+ ///
+ /// Tax breakdown for the lodging reservation.
+ ///
+ [JsonProperty("tax")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("tax")]
+#endif
+ public PaymentIntentPaymentDetailsLodgingDatumTotalTaxOptions Tax { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumTotalTaxOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumTotalTaxOptions.cs
new file mode 100644
index 0000000000..9c4e285657
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumTotalTaxOptions.cs
@@ -0,0 +1,30 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsLodgingDatumTotalTaxOptions : INestedOptions
+ {
+ ///
+ /// Indicates whether the transaction is tax exempt.
+ ///
+ [JsonProperty("tax_exempt_indicator")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("tax_exempt_indicator")]
+#endif
+ public bool? TaxExemptIndicator { get; set; }
+
+ ///
+ /// Tax details.
+ ///
+ [JsonProperty("taxes")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("taxes")]
+#endif
+ public List Taxes { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumTotalTaxTaxOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumTotalTaxTaxOptions.cs
new file mode 100644
index 0000000000..847d180b9e
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsLodgingDatumTotalTaxTaxOptions.cs
@@ -0,0 +1,38 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentDetailsLodgingDatumTotalTaxTaxOptions : INestedOptions
+ {
+ ///
+ /// Tax amount in cents.
+ ///
+ [JsonProperty("amount")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("amount")]
+#endif
+ public long? Amount { get; set; }
+
+ ///
+ /// Tax rate.
+ ///
+ [JsonProperty("rate")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("rate")]
+#endif
+ public long? Rate { get; set; }
+
+ ///
+ /// Type of tax applied.
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsOptions.cs
index 8776c0bf6c..7650a0e025 100644
--- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsOptions.cs
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentDetailsOptions.cs
@@ -1,6 +1,7 @@
// File generated from our OpenAPI spec
namespace Stripe
{
+ using System.Collections.Generic;
using Newtonsoft.Json;
#if NET6_0_OR_GREATER
using STJS = System.Text.Json.Serialization;
@@ -17,6 +18,15 @@ public class PaymentIntentPaymentDetailsOptions : INestedOptions
#endif
public PaymentIntentPaymentDetailsCarRentalOptions CarRental { get; set; }
+ ///
+ /// Car rental data for this PaymentIntent.
+ ///
+ [JsonProperty("car_rental_data")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("car_rental_data")]
+#endif
+ public List CarRentalData { get; set; }
+
///
/// A unique value to identify the customer. This field is available only for card payments.
///
@@ -47,6 +57,15 @@ public class PaymentIntentPaymentDetailsOptions : INestedOptions
#endif
public PaymentIntentPaymentDetailsFlightOptions Flight { get; set; }
+ ///
+ /// Flight data for this PaymentIntent.
+ ///
+ [JsonProperty("flight_data")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("flight_data")]
+#endif
+ public List FlightData { get; set; }
+
///
/// Lodging reservation details for this PaymentIntent.
///
@@ -56,6 +75,15 @@ public class PaymentIntentPaymentDetailsOptions : INestedOptions
#endif
public PaymentIntentPaymentDetailsLodgingOptions Lodging { get; set; }
+ ///
+ /// Lodging data for this PaymentIntent.
+ ///
+ [JsonProperty("lodging_data")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("lodging_data")]
+#endif
+ public List LodgingData { get; set; }
+
///
/// A unique value assigned by the business to identify the transaction. Required for L2 and
/// L3 rates.
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataIdealOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataIdealOptions.cs
index 2ad330c343..c0c3e0e8fe 100644
--- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataIdealOptions.cs
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataIdealOptions.cs
@@ -11,7 +11,7 @@ public class PaymentIntentPaymentMethodDataIdealOptions : INestedOptions
///
/// The customer's bank. Only use this parameter for existing customers. Don't use it for
/// new customers.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsCardPresentOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsCardPresentOptions.cs
index f4d5919a18..b79c11d158 100644
--- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsCardPresentOptions.cs
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsCardPresentOptions.cs
@@ -8,6 +8,23 @@ namespace Stripe
public class PaymentIntentPaymentMethodOptionsCardPresentOptions : INestedOptions
{
+ ///
+ /// Controls when the funds are captured from the customer's account.
+ ///
+ /// If provided, this parameter overrides the behavior of the top-level capture_method
+ /// for this payment method type when finalizing the payment with this payment method type.
+ ///
+ /// If capture_method is already set on the PaymentIntent, providing an empty value
+ /// for this parameter unsets the stored value for this payment method type.
+ /// One of: manual, or manual_preferred.
+ ///
+ [JsonProperty("capture_method")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("capture_method")]
+#endif
+ public string CaptureMethod { get; set; }
+
///
/// Request ability to capture this payment beyond the standard authorization
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaOptions.cs
index ac428641ca..592a4e9030 100644
--- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaOptions.cs
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaOptions.cs
@@ -90,5 +90,14 @@ public class PaymentIntentPaymentMethodOptionsKlarnaOptions : INestedOptions
[STJS.JsonPropertyName("subscriptions")]
#endif
public List Subscriptions { get; set; }
+
+ ///
+ /// Supplementary Purchase Data for the corresponding Klarna payment.
+ ///
+ [JsonProperty("supplementary_purchase_data")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("supplementary_purchase_data")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataOptions SupplementaryPurchaseData { get; set; }
}
}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalAddressOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalAddressOptions.cs
new file mode 100644
index 0000000000..c10884bf9f
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalOptions.cs
new file mode 100644
index 0000000000..79315116e3
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalOptions : INestedOptions
+ {
+ ///
+ /// Address of the arrival location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalAddressOptions Address { get; set; }
+
+ ///
+ /// Identifier name or reference for the arrival location.
+ ///
+ [JsonProperty("arrival_location")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival_location")]
+#endif
+ public string ArrivalLocation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureAddressOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureAddressOptions.cs
new file mode 100644
index 0000000000..665bf4aced
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureOptions.cs
new file mode 100644
index 0000000000..97020a1a00
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureOptions.cs
@@ -0,0 +1,42 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureOptions : INestedOptions
+ {
+ ///
+ /// Address of the departure location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureAddressOptions Address { get; set; }
+
+ ///
+ /// Timestamp of departure.
+ ///
+ [JsonProperty("departs_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departs_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? DepartsAt { get; set; }
+
+ ///
+ /// Identifier name or reference for the origin location.
+ ///
+ [JsonProperty("departure_location")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure_location")]
+#endif
+ public string DepartureLocation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailInsuranceOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailInsuranceOptions.cs
new file mode 100644
index 0000000000..9e8eac23cc
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailInsuranceOptions.cs
@@ -0,0 +1,49 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Insurance currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Name of the company providing the insurance.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance.
+ /// One of: baggage, bankruptcy, cancelation, emergency, or
+ /// medical.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+
+ ///
+ /// Price of insurance in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailOptions.cs
new file mode 100644
index 0000000000..63f45b79b1
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailOptions.cs
@@ -0,0 +1,94 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailOptions : INestedOptions
+ {
+ ///
+ /// Name of associated or partner company for the service.
+ ///
+ [JsonProperty("affiliate_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate_name")]
+#endif
+ public string AffiliateName { get; set; }
+
+ ///
+ /// Arrival details.
+ ///
+ [JsonProperty("arrival")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailArrivalOptions Arrival { get; set; }
+
+ ///
+ /// Name of transportation company.
+ ///
+ [JsonProperty("carrier_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("carrier_name")]
+#endif
+ public string CarrierName { get; set; }
+
+ ///
+ /// Currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Departure details.
+ ///
+ [JsonProperty("departure")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailDepartureOptions Departure { get; set; }
+
+ ///
+ /// List of insurances for this reservation.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// List of passengers that this reservation applies to.
+ ///
+ [JsonProperty("passengers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("passengers")]
+#endif
+ public List Passengers { get; set; }
+
+ ///
+ /// Price in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+
+ ///
+ /// Ticket class.
+ /// One of: business, economy, first_class, or premium_economy.
+ ///
+ [JsonProperty("ticket_class")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ticket_class")]
+#endif
+ public string TicketClass { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailPassengerOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailPassengerOptions.cs
new file mode 100644
index 0000000000..2aa6162299
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailPassengerOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataBusReservationDetailPassengerOptions : INestedOptions
+ {
+ ///
+ /// The family name of the person.
+ ///
+ [JsonProperty("family_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("family_name")]
+#endif
+ public string FamilyName { get; set; }
+
+ ///
+ /// The given name of the person.
+ ///
+ [JsonProperty("given_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("given_name")]
+#endif
+ public string GivenName { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailAddressOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailAddressOptions.cs
new file mode 100644
index 0000000000..ea43d8a680
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailInsuranceOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailInsuranceOptions.cs
new file mode 100644
index 0000000000..c96335a031
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailInsuranceOptions.cs
@@ -0,0 +1,48 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Insurance currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Name of the company providing the insurance.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance.
+ /// One of: bankruptcy, cancelation, emergency, or medical.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+
+ ///
+ /// Price of insurance in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailOptions.cs
new file mode 100644
index 0000000000..b9b31c83a6
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailOptions.cs
@@ -0,0 +1,110 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailOptions : INestedOptions
+ {
+ ///
+ /// Indicates if the tickets are digitally checked when entering the venue.
+ ///
+ [JsonProperty("access_controlled_venue")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("access_controlled_venue")]
+#endif
+ public bool? AccessControlledVenue { get; set; }
+
+ ///
+ /// Address of the event.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataEventReservationDetailAddressOptions Address { get; set; }
+
+ ///
+ /// Name of associated or partner company for the service.
+ ///
+ [JsonProperty("affiliate_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate_name")]
+#endif
+ public string AffiliateName { get; set; }
+
+ ///
+ /// End timestamp of the event.
+ ///
+ [JsonProperty("ends_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ends_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? EndsAt { get; set; }
+
+ ///
+ /// Company selling the ticket.
+ ///
+ [JsonProperty("event_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("event_company_name")]
+#endif
+ public string EventCompanyName { get; set; }
+
+ ///
+ /// Name of the event.
+ ///
+ [JsonProperty("event_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("event_name")]
+#endif
+ public string EventName { get; set; }
+
+ ///
+ /// Type of the event.
+ /// One of: concert, conference, digital_education, expo,
+ /// festival, in_person_education, sport, or tour.
+ ///
+ [JsonProperty("event_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("event_type")]
+#endif
+ public string EventType { get; set; }
+
+ ///
+ /// List of insurances for this event.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// Start timestamp of the event.
+ ///
+ [JsonProperty("starts_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("starts_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? StartsAt { get; set; }
+
+ ///
+ /// Name of the venue where the event takes place.
+ ///
+ [JsonProperty("venue_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("venue_name")]
+#endif
+ public string VenueName { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalAddressOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalAddressOptions.cs
new file mode 100644
index 0000000000..a69ed7c2b1
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalOptions.cs
new file mode 100644
index 0000000000..64c669893e
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalOptions : INestedOptions
+ {
+ ///
+ /// Address of the arrival location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalAddressOptions Address { get; set; }
+
+ ///
+ /// Identifier name or reference for the arrival location.
+ ///
+ [JsonProperty("arrival_location")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival_location")]
+#endif
+ public string ArrivalLocation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureAddressOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureAddressOptions.cs
new file mode 100644
index 0000000000..ffd4a743aa
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureOptions.cs
new file mode 100644
index 0000000000..a74fc7bd2b
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureOptions.cs
@@ -0,0 +1,42 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureOptions : INestedOptions
+ {
+ ///
+ /// Address of the departure location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureAddressOptions Address { get; set; }
+
+ ///
+ /// Timestamp of departure.
+ ///
+ [JsonProperty("departs_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departs_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? DepartsAt { get; set; }
+
+ ///
+ /// Identifier name or reference for the origin location.
+ ///
+ [JsonProperty("departure_location")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure_location")]
+#endif
+ public string DepartureLocation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailInsuranceOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailInsuranceOptions.cs
new file mode 100644
index 0000000000..a3a2b15d3f
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailInsuranceOptions.cs
@@ -0,0 +1,49 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Insurance currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Name of the company providing the insurance.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance.
+ /// One of: baggage, bankruptcy, cancelation, emergency, or
+ /// medical.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+
+ ///
+ /// Price of insurance in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailOptions.cs
new file mode 100644
index 0000000000..78222a1f12
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailOptions.cs
@@ -0,0 +1,94 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailOptions : INestedOptions
+ {
+ ///
+ /// Name of associated or partner company for the service.
+ ///
+ [JsonProperty("affiliate_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate_name")]
+#endif
+ public string AffiliateName { get; set; }
+
+ ///
+ /// Arrival details.
+ ///
+ [JsonProperty("arrival")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailArrivalOptions Arrival { get; set; }
+
+ ///
+ /// Name of transportation company.
+ ///
+ [JsonProperty("carrier_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("carrier_name")]
+#endif
+ public string CarrierName { get; set; }
+
+ ///
+ /// Currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Departure details.
+ ///
+ [JsonProperty("departure")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailDepartureOptions Departure { get; set; }
+
+ ///
+ /// List of insurances for this reservation.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// List of passengers that this reservation applies to.
+ ///
+ [JsonProperty("passengers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("passengers")]
+#endif
+ public List Passengers { get; set; }
+
+ ///
+ /// Price in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+
+ ///
+ /// Ticket class.
+ /// One of: business, economy, first_class, or premium_economy.
+ ///
+ [JsonProperty("ticket_class")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ticket_class")]
+#endif
+ public string TicketClass { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailPassengerOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailPassengerOptions.cs
new file mode 100644
index 0000000000..a5f7d91427
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailPassengerOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataFerryReservationDetailPassengerOptions : INestedOptions
+ {
+ ///
+ /// The family name of the person.
+ ///
+ [JsonProperty("family_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("family_name")]
+#endif
+ public string FamilyName { get; set; }
+
+ ///
+ /// The given name of the person.
+ ///
+ [JsonProperty("given_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("given_name")]
+#endif
+ public string GivenName { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataInsuranceOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataInsuranceOptions.cs
new file mode 100644
index 0000000000..c9360ddd1e
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataInsuranceOptions.cs
@@ -0,0 +1,48 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Insurance currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Name of the company providing the insurance.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance.
+ /// One of: bankruptcy, cancelation, emergency, or medical.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+
+ ///
+ /// Price of insurance in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerMarketplaceSellerAddressOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerMarketplaceSellerAddressOptions.cs
new file mode 100644
index 0000000000..ebfbe4fab3
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerMarketplaceSellerAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerMarketplaceSellerAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerOptions.cs
new file mode 100644
index 0000000000..44a92f18f9
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerOptions.cs
@@ -0,0 +1,143 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerOptions : INestedOptions
+ {
+ ///
+ /// The references to line items for purchases with multiple associated sub-sellers.
+ ///
+ [JsonProperty("line_item_references")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("line_item_references")]
+#endif
+ public List LineItemReferences { get; set; }
+
+ ///
+ /// The address of the selling or delivering merchant.
+ ///
+ [JsonProperty("marketplace_seller_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("marketplace_seller_address")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataMarketplaceSellerMarketplaceSellerAddressOptions MarketplaceSellerAddress { get; set; }
+
+ ///
+ /// The name of the marketplace seller.
+ ///
+ [JsonProperty("marketplace_seller_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("marketplace_seller_name")]
+#endif
+ public string MarketplaceSellerName { get; set; }
+
+ ///
+ /// The unique identifier for the marketplace seller.
+ ///
+ [JsonProperty("marketplace_seller_reference")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("marketplace_seller_reference")]
+#endif
+ public string MarketplaceSellerReference { get; set; }
+
+ ///
+ /// The number of transactions the sub-seller completed in the last 12 months.
+ ///
+ [JsonProperty("number_of_transactions")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("number_of_transactions")]
+#endif
+ public long? NumberOfTransactions { get; set; }
+
+ ///
+ /// The category of the product.
+ /// One of: accessories, appliances, apps_and_games,
+ /// arts_crafts_and_sewing, automotive, baby, baby_clothing,
+ /// bags_and_purses, beauty, books, cds_and_vinyl,
+ /// cell_phones_and_accessories, collectibles_and_fine_arts,
+ /// digital_music, electronics, grocery_and_gourmet_food,
+ /// handmade, health_and_personal_care, home_and_kitchen,
+ /// industrial_and_scientific, luggage_and_travel_gear,
+ /// magazine_subscriptions, men_clothing, musical_instruments,
+ /// office_products, patio_lawn_and_garden, pet_supplies, shoes,
+ /// software, sports_and_outdoors, tools_and_home_improvement,
+ /// toys_and_games, video_games, or women_clothing.
+ ///
+ [JsonProperty("product_category")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("product_category")]
+#endif
+ public string ProductCategory { get; set; }
+
+ ///
+ /// The date when the seller's account with the marketplace was last logged in.
+ ///
+ [JsonProperty("seller_last_login_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("seller_last_login_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? SellerLastLoginAt { get; set; }
+
+ ///
+ /// The current rating of the marketplace seller. If the marketplace uses numeric ranking,
+ /// map these to the enum values.
+ /// One of: high, low, medium, very_high, or very_low.
+ ///
+ [JsonProperty("seller_rating")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("seller_rating")]
+#endif
+ public string SellerRating { get; set; }
+
+ ///
+ /// The date when the seller's account with the marketplace was created.
+ ///
+ [JsonProperty("seller_registered_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("seller_registered_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? SellerRegisteredAt { get; set; }
+
+ ///
+ /// The date when the seller's account with the marketplace was last updated.
+ ///
+ [JsonProperty("seller_updated_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("seller_updated_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? SellerUpdatedAt { get; set; }
+
+ ///
+ /// The references to shipping addresses for purchases with multiple associated sub-sellers.
+ ///
+ [JsonProperty("shipping_references")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("shipping_references")]
+#endif
+ public List ShippingReferences { get; set; }
+
+ ///
+ /// The accumulated amount of sales transactions made by the sub-merchant or sub-seller
+ /// within the past 12 months in the payment currency. These transactions are in minor
+ /// currency units.
+ ///
+ [JsonProperty("volume_of_transactions")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("volume_of_transactions")]
+#endif
+ public long? VolumeOfTransactions { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataOptions.cs
new file mode 100644
index 0000000000..028ecfe28a
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataOptions.cs
@@ -0,0 +1,84 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataOptions : INestedOptions
+ {
+ ///
+ /// Supplementary bus reservation details.
+ ///
+ [JsonProperty("bus_reservation_details")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("bus_reservation_details")]
+#endif
+ public List BusReservationDetails { get; set; }
+
+ ///
+ /// Supplementary event reservation details.
+ ///
+ [JsonProperty("event_reservation_details")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("event_reservation_details")]
+#endif
+ public List EventReservationDetails { get; set; }
+
+ ///
+ /// Supplementary ferry reservation details.
+ ///
+ [JsonProperty("ferry_reservation_details")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ferry_reservation_details")]
+#endif
+ public List FerryReservationDetails { get; set; }
+
+ ///
+ /// Supplementary insurance details.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// Supplementary marketplace seller details.
+ ///
+ [JsonProperty("marketplace_sellers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("marketplace_sellers")]
+#endif
+ public List MarketplaceSellers { get; set; }
+
+ ///
+ /// Supplementary round trip reservation details.
+ ///
+ [JsonProperty("round_trip_reservation_details")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("round_trip_reservation_details")]
+#endif
+ public List RoundTripReservationDetails { get; set; }
+
+ ///
+ /// Supplementary train reservation details.
+ ///
+ [JsonProperty("train_reservation_details")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("train_reservation_details")]
+#endif
+ public List TrainReservationDetails { get; set; }
+
+ ///
+ /// Voucher details, such as a gift card or discount code.
+ ///
+ [JsonProperty("vouchers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("vouchers")]
+#endif
+ public List Vouchers { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalAddressOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalAddressOptions.cs
new file mode 100644
index 0000000000..6fdc606103
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalOptions.cs
new file mode 100644
index 0000000000..dffa8d0701
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalOptions : INestedOptions
+ {
+ ///
+ /// Address of the arrival location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalAddressOptions Address { get; set; }
+
+ ///
+ /// Identifier name or reference for the arrival location.
+ ///
+ [JsonProperty("arrival_location")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival_location")]
+#endif
+ public string ArrivalLocation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureAddressOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureAddressOptions.cs
new file mode 100644
index 0000000000..b4ca9bba96
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureOptions.cs
new file mode 100644
index 0000000000..b14c01fc92
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureOptions.cs
@@ -0,0 +1,42 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureOptions : INestedOptions
+ {
+ ///
+ /// Address of the departure location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureAddressOptions Address { get; set; }
+
+ ///
+ /// Timestamp of departure.
+ ///
+ [JsonProperty("departs_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departs_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? DepartsAt { get; set; }
+
+ ///
+ /// Identifier name or reference for the origin location.
+ ///
+ [JsonProperty("departure_location")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure_location")]
+#endif
+ public string DepartureLocation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailInsuranceOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailInsuranceOptions.cs
new file mode 100644
index 0000000000..78619d4299
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailInsuranceOptions.cs
@@ -0,0 +1,49 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Insurance currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Name of the company providing the insurance.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance.
+ /// One of: baggage, bankruptcy, cancelation, emergency, or
+ /// medical.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+
+ ///
+ /// Price of insurance in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailOptions.cs
new file mode 100644
index 0000000000..19e78c0b9e
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailOptions.cs
@@ -0,0 +1,94 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailOptions : INestedOptions
+ {
+ ///
+ /// Name of associated or partner company for the service.
+ ///
+ [JsonProperty("affiliate_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate_name")]
+#endif
+ public string AffiliateName { get; set; }
+
+ ///
+ /// Arrival details.
+ ///
+ [JsonProperty("arrival")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailArrivalOptions Arrival { get; set; }
+
+ ///
+ /// Name of transportation company.
+ ///
+ [JsonProperty("carrier_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("carrier_name")]
+#endif
+ public string CarrierName { get; set; }
+
+ ///
+ /// Currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Departure details.
+ ///
+ [JsonProperty("departure")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailDepartureOptions Departure { get; set; }
+
+ ///
+ /// List of insurances for this reservation.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// List of passengers that this reservation applies to.
+ ///
+ [JsonProperty("passengers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("passengers")]
+#endif
+ public List Passengers { get; set; }
+
+ ///
+ /// Price in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+
+ ///
+ /// Ticket class.
+ /// One of: business, economy, first_class, or premium_economy.
+ ///
+ [JsonProperty("ticket_class")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ticket_class")]
+#endif
+ public string TicketClass { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailPassengerOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailPassengerOptions.cs
new file mode 100644
index 0000000000..23528b236f
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailPassengerOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataRoundTripReservationDetailPassengerOptions : INestedOptions
+ {
+ ///
+ /// The family name of the person.
+ ///
+ [JsonProperty("family_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("family_name")]
+#endif
+ public string FamilyName { get; set; }
+
+ ///
+ /// The given name of the person.
+ ///
+ [JsonProperty("given_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("given_name")]
+#endif
+ public string GivenName { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalAddressOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalAddressOptions.cs
new file mode 100644
index 0000000000..4a30fe8270
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalOptions.cs
new file mode 100644
index 0000000000..1c1ac94137
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalOptions : INestedOptions
+ {
+ ///
+ /// Address of the arrival location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalAddressOptions Address { get; set; }
+
+ ///
+ /// Identifier name or reference for the arrival location.
+ ///
+ [JsonProperty("arrival_location")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival_location")]
+#endif
+ public string ArrivalLocation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureAddressOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureAddressOptions.cs
new file mode 100644
index 0000000000..ab3b2b4189
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureAddressOptions.cs
@@ -0,0 +1,65 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureAddressOptions : INestedOptions
+ {
+ ///
+ /// The city or town.
+ ///
+ [JsonProperty("city")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("city")]
+#endif
+ public string City { get; set; }
+
+ ///
+ /// The country in ISO 3166-1 alpha-2 format.
+ ///
+ [JsonProperty("country")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("country")]
+#endif
+ public string Country { get; set; }
+
+ ///
+ /// The postal code formatted according to country.
+ ///
+ [JsonProperty("postal_code")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("postal_code")]
+#endif
+ public string PostalCode { get; set; }
+
+ ///
+ /// The state, county, province, or region formatted according to country.
+ ///
+ [JsonProperty("region")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("region")]
+#endif
+ public string Region { get; set; }
+
+ ///
+ /// Line 1 of the street address.
+ ///
+ [JsonProperty("street_address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address")]
+#endif
+ public string StreetAddress { get; set; }
+
+ ///
+ /// Line 2 of the street address.
+ ///
+ [JsonProperty("street_address2")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("street_address2")]
+#endif
+ public string StreetAddress2 { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureOptions.cs
new file mode 100644
index 0000000000..bf3fbb8bd6
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureOptions.cs
@@ -0,0 +1,42 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureOptions : INestedOptions
+ {
+ ///
+ /// Address of the departure location.
+ ///
+ [JsonProperty("address")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("address")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureAddressOptions Address { get; set; }
+
+ ///
+ /// Timestamp of departure.
+ ///
+ [JsonProperty("departs_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departs_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? DepartsAt { get; set; }
+
+ ///
+ /// Identifier name or reference for the origin location.
+ ///
+ [JsonProperty("departure_location")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure_location")]
+#endif
+ public string DepartureLocation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailInsuranceOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailInsuranceOptions.cs
new file mode 100644
index 0000000000..a76e5d097a
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailInsuranceOptions.cs
@@ -0,0 +1,49 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailInsuranceOptions : INestedOptions
+ {
+ ///
+ /// Insurance currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Name of the company providing the insurance.
+ ///
+ [JsonProperty("insurance_company_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_company_name")]
+#endif
+ public string InsuranceCompanyName { get; set; }
+
+ ///
+ /// Type of insurance.
+ /// One of: baggage, bankruptcy, cancelation, emergency, or
+ /// medical.
+ ///
+ [JsonProperty("insurance_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurance_type")]
+#endif
+ public string InsuranceType { get; set; }
+
+ ///
+ /// Price of insurance in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailOptions.cs
new file mode 100644
index 0000000000..641f05ec9d
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailOptions.cs
@@ -0,0 +1,94 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailOptions : INestedOptions
+ {
+ ///
+ /// Name of associated or partner company for the service.
+ ///
+ [JsonProperty("affiliate_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate_name")]
+#endif
+ public string AffiliateName { get; set; }
+
+ ///
+ /// Arrival details.
+ ///
+ [JsonProperty("arrival")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("arrival")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailArrivalOptions Arrival { get; set; }
+
+ ///
+ /// Name of transportation company.
+ ///
+ [JsonProperty("carrier_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("carrier_name")]
+#endif
+ public string CarrierName { get; set; }
+
+ ///
+ /// Currency.
+ ///
+ [JsonProperty("currency")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("currency")]
+#endif
+ public string Currency { get; set; }
+
+ ///
+ /// Departure details.
+ ///
+ [JsonProperty("departure")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("departure")]
+#endif
+ public PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailDepartureOptions Departure { get; set; }
+
+ ///
+ /// List of insurances for this reservation.
+ ///
+ [JsonProperty("insurances")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("insurances")]
+#endif
+ public List Insurances { get; set; }
+
+ ///
+ /// List of passengers that this reservation applies to.
+ ///
+ [JsonProperty("passengers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("passengers")]
+#endif
+ public List Passengers { get; set; }
+
+ ///
+ /// Price in cents.
+ ///
+ [JsonProperty("price")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("price")]
+#endif
+ public long? Price { get; set; }
+
+ ///
+ /// Ticket class.
+ /// One of: business, economy, first_class, or premium_economy.
+ ///
+ [JsonProperty("ticket_class")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ticket_class")]
+#endif
+ public string TicketClass { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailPassengerOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailPassengerOptions.cs
new file mode 100644
index 0000000000..0d91cb976d
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailPassengerOptions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataTrainReservationDetailPassengerOptions : INestedOptions
+ {
+ ///
+ /// The family name of the person.
+ ///
+ [JsonProperty("family_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("family_name")]
+#endif
+ public string FamilyName { get; set; }
+
+ ///
+ /// The given name of the person.
+ ///
+ [JsonProperty("given_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("given_name")]
+#endif
+ public string GivenName { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataVoucherOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataVoucherOptions.cs
new file mode 100644
index 0000000000..cac949e693
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataVoucherOptions.cs
@@ -0,0 +1,73 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class PaymentIntentPaymentMethodOptionsKlarnaSupplementaryPurchaseDataVoucherOptions : INestedOptions
+ {
+ ///
+ /// Name of associated or partner company for this voucher.
+ ///
+ [JsonProperty("affiliate_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("affiliate_name")]
+#endif
+ public string AffiliateName { get; set; }
+
+ ///
+ /// The voucher validity end time.
+ ///
+ [JsonProperty("ends_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("ends_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? EndsAt { get; set; }
+
+ ///
+ /// The voucher validity start time.
+ ///
+ [JsonProperty("starts_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("starts_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? StartsAt { get; set; }
+
+ ///
+ /// The issuer or provider of this voucher.
+ ///
+ [JsonProperty("voucher_company")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("voucher_company")]
+#endif
+ public string VoucherCompany { get; set; }
+
+ ///
+ /// The name or reference to identify the voucher.
+ ///
+ [JsonProperty("voucher_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("voucher_name")]
+#endif
+ public string VoucherName { get; set; }
+
+ ///
+ /// The type of this voucher.
+ /// One of: digital_product, discount, gift_card,
+ /// physical_product, or services.
+ ///
+ [JsonProperty("voucher_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("voucher_type")]
+#endif
+ public string VoucherType { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsPaytoMandateOptionsOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsPaytoMandateOptionsOptions.cs
index 7f6f1e423d..d833f37a70 100644
--- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsPaytoMandateOptionsOptions.cs
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsPaytoMandateOptionsOptions.cs
@@ -20,6 +20,7 @@ public class PaymentIntentPaymentMethodOptionsPaytoMandateOptionsOptions : INest
///
/// The type of amount that will be collected. The amount charged must be exact or up to the
/// value of amount param for fixed or maximum type respectively.
+ /// Defaults to maximum.
/// One of: fixed, or maximum.
///
[JsonProperty("amount_type")]
@@ -39,7 +40,7 @@ public class PaymentIntentPaymentMethodOptionsPaytoMandateOptionsOptions : INest
public string EndDate { get; set; }
///
- /// The periodicity at which payments will be collected.
+ /// The periodicity at which payments will be collected. Defaults to adhoc.
/// One of: adhoc, annual, daily, fortnightly, monthly,
/// quarterly, semi_annual, or weekly.
///
@@ -60,7 +61,8 @@ public class PaymentIntentPaymentMethodOptionsPaytoMandateOptionsOptions : INest
public long? PaymentsPerPeriod { get; set; }
///
- /// The purpose for which payments are made. Defaults to retail.
+ /// The purpose for which payments are made. Has a default value based on your merchant
+ /// category code.
/// One of: dependant_support, government, loan, mortgage,
/// other, pension, personal, retail, salary, tax,
/// or utility.
diff --git a/src/Stripe.net/Services/PaymentMethods/PaymentMethodIdealOptions.cs b/src/Stripe.net/Services/PaymentMethods/PaymentMethodIdealOptions.cs
index 31d1521a73..2b791deff2 100644
--- a/src/Stripe.net/Services/PaymentMethods/PaymentMethodIdealOptions.cs
+++ b/src/Stripe.net/Services/PaymentMethods/PaymentMethodIdealOptions.cs
@@ -11,7 +11,7 @@ public class PaymentMethodIdealOptions : INestedOptions
///
/// The customer's bank. Only use this parameter for existing customers. Don't use it for
/// new customers.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
diff --git a/src/Stripe.net/Services/PaymentMethods/PaymentMethodListOptions.cs b/src/Stripe.net/Services/PaymentMethods/PaymentMethodListOptions.cs
index c3c0ad0abf..f3e796094e 100644
--- a/src/Stripe.net/Services/PaymentMethods/PaymentMethodListOptions.cs
+++ b/src/Stripe.net/Services/PaymentMethods/PaymentMethodListOptions.cs
@@ -8,6 +8,18 @@ namespace Stripe
public class PaymentMethodListOptions : ListOptions
{
+ ///
+ /// This field indicates whether this payment method can be shown again to its customer in a
+ /// checkout flow. Stripe products such as Checkout and Elements use this field to determine
+ /// whether a payment method can be shown as a saved payment method in a checkout flow.
+ /// One of: always, limited, or unspecified.
+ ///
+ [JsonProperty("allow_redisplay")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("allow_redisplay")]
+#endif
+ public string AllowRedisplay { get; set; }
+
///
/// The ID of the customer whose PaymentMethods will be retrieved.
///
@@ -17,6 +29,15 @@ public class PaymentMethodListOptions : ListOptions
#endif
public string Customer { get; set; }
+ ///
+ /// The ID of the Account whose PaymentMethods will be retrieved.
+ ///
+ [JsonProperty("customer_account")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("customer_account")]
+#endif
+ public string CustomerAccount { get; set; }
+
///
/// Filters the list by the object type field. Unfiltered, the list returns all
/// payment method types except custom. If your integration expects only one type of
diff --git a/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataIdealOptions.cs b/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataIdealOptions.cs
index 2539be4b3d..c9c191a84a 100644
--- a/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataIdealOptions.cs
+++ b/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataIdealOptions.cs
@@ -11,7 +11,7 @@ public class SetupIntentPaymentMethodDataIdealOptions : INestedOptions
///
/// The customer's bank. Only use this parameter for existing customers. Don't use it for
/// new customers.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
diff --git a/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodOptionsPaytoMandateOptionsOptions.cs b/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodOptionsPaytoMandateOptionsOptions.cs
index 788d33cb9f..6a6ff3df57 100644
--- a/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodOptionsPaytoMandateOptionsOptions.cs
+++ b/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodOptionsPaytoMandateOptionsOptions.cs
@@ -20,6 +20,7 @@ public class SetupIntentPaymentMethodOptionsPaytoMandateOptionsOptions : INested
///
/// The type of amount that will be collected. The amount charged must be exact or up to the
/// value of