diff --git a/API_VERSION b/API_VERSION index fe61ec239f..24e270edd2 100644 --- a/API_VERSION +++ b/API_VERSION @@ -1 +1 @@ -7b6ef1a028c0ea3233cd7acd5dd1496acc8da61e \ No newline at end of file +c0dacb8d26f5b7c5d68ef88b3f51d40c1eafeab7 \ No newline at end of file diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 5c5ab64e18..ea1ecdee17 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v2119 \ No newline at end of file +v2124 \ No newline at end of file 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/ApplicationFees/ApplicationFeeFeeSource.cs b/src/Stripe.net/Entities/ApplicationFees/ApplicationFeeFeeSource.cs index 02fc876f9f..37cfa76841 100644 --- a/src/Stripe.net/Entities/ApplicationFees/ApplicationFeeFeeSource.cs +++ b/src/Stripe.net/Entities/ApplicationFees/ApplicationFeeFeeSource.cs @@ -27,22 +27,22 @@ public class ApplicationFeeFeeSource : StripeEntity public string Payout { get; set; } /// - /// Type of object that created the application fee. - /// One of: charge, payout, or transfer. + /// Transfer ID that created this application fee. /// - [JsonProperty("type")] + [JsonProperty("transfer")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("type")] + [STJS.JsonPropertyName("transfer")] #endif - public string Type { get; set; } + public string Transfer { get; set; } /// - /// Transfer ID that created this application fee. + /// Type of object that created the application fee. + /// One of: charge, payout, or transfer. /// - [JsonProperty("transfer")] + [JsonProperty("type")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("transfer")] + [STJS.JsonPropertyName("type")] #endif - public string Transfer { get; set; } + public string Type { get; set; } } } diff --git a/src/Stripe.net/Entities/BalanceTransfers/BalanceTransfer.cs b/src/Stripe.net/Entities/BalanceTransfers/BalanceTransfer.cs new file mode 100644 index 0000000000..511a621395 --- /dev/null +++ b/src/Stripe.net/Entities/BalanceTransfers/BalanceTransfer.cs @@ -0,0 +1,121 @@ +// 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 + + /// + /// Balance transfers represent funds moving between balance types on your Stripe account. + /// They currently support moving funds between your Stripe balance and your Issuing balance and between your Allocated Funds balance and + /// your Stripe balance. + /// + public class BalanceTransfer : 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. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// A positive integer representing how much was transferred in the smallest currency unit. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public long Amount { get; set; } + + /// + /// Time at which the object was created. Measured in seconds since the Unix epoch. + /// + [JsonProperty("created")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// Three-letter ISO currency + /// code, in lowercase. Must be a supported + /// currency. + /// + [JsonProperty("currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("currency")] +#endif + public string Currency { get; set; } + + /// + /// The balance that funds were transferred to. + /// + [JsonProperty("destination_balance")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("destination_balance")] +#endif + public BalanceTransferDestinationBalance DestinationBalance { get; set; } + + /// + /// A hosted + /// transaction receipt URL that is provided when money movement is considered regulated + /// under Stripe's money transmission licenses. + /// + [JsonProperty("hosted_regulatory_receipt_url")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("hosted_regulatory_receipt_url")] +#endif + public string HostedRegulatoryReceiptUrl { 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. + /// + [JsonProperty("metadata")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("metadata")] +#endif + public Dictionary Metadata { get; set; } + + /// + /// The balance that funds were transferred from. One of card, fpx, or + /// bank_account. + /// + [JsonProperty("source_balance")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("source_balance")] +#endif + public BalanceTransferSourceBalance SourceBalance { get; set; } + } +} diff --git a/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferDestinationBalance.cs b/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferDestinationBalance.cs new file mode 100644 index 0000000000..63d30f3f91 --- /dev/null +++ b/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferDestinationBalance.cs @@ -0,0 +1,33 @@ +// 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 BalanceTransferDestinationBalance : StripeEntity + { + [JsonProperty("issuing")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("issuing")] +#endif + public BalanceTransferDestinationBalanceIssuing Issuing { get; set; } + + [JsonProperty("payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payments")] +#endif + public BalanceTransferDestinationBalancePayments Payments { get; set; } + + /// + /// Destination balance type to adjust for the Balance Transfer. One of payments, + /// issuing, or allocated_funds. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferDestinationBalanceIssuing.cs b/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferDestinationBalanceIssuing.cs new file mode 100644 index 0000000000..d156cd3300 --- /dev/null +++ b/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferDestinationBalanceIssuing.cs @@ -0,0 +1,56 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + +#if NET6_0_OR_GREATER + [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] +#endif + public class BalanceTransferDestinationBalanceIssuing : StripeEntity + { + #region Expandable BalanceTransaction + + /// + /// (ID of the BalanceTransaction) + /// Identifier for the balance_transaction that increased the destination balance. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string BalanceTransactionId + { + get => this.InternalBalanceTransaction?.Id; + set => this.InternalBalanceTransaction = SetExpandableFieldId(value, this.InternalBalanceTransaction); + } + + /// + /// (Expanded) + /// Identifier for the balance_transaction that increased the destination balance. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public BalanceTransaction BalanceTransaction + { + get => this.InternalBalanceTransaction?.ExpandedObject; + set => this.InternalBalanceTransaction = SetExpandableFieldObject(value, this.InternalBalanceTransaction); + } + + [JsonProperty("balance_transaction")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("balance_transaction")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalBalanceTransaction { get; set; } + #endregion + } +} diff --git a/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferDestinationBalancePayments.cs b/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferDestinationBalancePayments.cs new file mode 100644 index 0000000000..1ee4aa9151 --- /dev/null +++ b/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferDestinationBalancePayments.cs @@ -0,0 +1,56 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + +#if NET6_0_OR_GREATER + [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] +#endif + public class BalanceTransferDestinationBalancePayments : StripeEntity + { + #region Expandable BalanceTransaction + + /// + /// (ID of the BalanceTransaction) + /// Identifier for the balance_transaction that increased the destination balance. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string BalanceTransactionId + { + get => this.InternalBalanceTransaction?.Id; + set => this.InternalBalanceTransaction = SetExpandableFieldId(value, this.InternalBalanceTransaction); + } + + /// + /// (Expanded) + /// Identifier for the balance_transaction that increased the destination balance. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public BalanceTransaction BalanceTransaction + { + get => this.InternalBalanceTransaction?.ExpandedObject; + set => this.InternalBalanceTransaction = SetExpandableFieldObject(value, this.InternalBalanceTransaction); + } + + [JsonProperty("balance_transaction")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("balance_transaction")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalBalanceTransaction { get; set; } + #endregion + } +} diff --git a/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferSourceBalance.cs b/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferSourceBalance.cs new file mode 100644 index 0000000000..60f2a61049 --- /dev/null +++ b/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferSourceBalance.cs @@ -0,0 +1,33 @@ +// 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 BalanceTransferSourceBalance : StripeEntity + { + [JsonProperty("issuing")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("issuing")] +#endif + public BalanceTransferSourceBalanceIssuing Issuing { get; set; } + + [JsonProperty("payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payments")] +#endif + public BalanceTransferSourceBalancePayments Payments { get; set; } + + /// + /// Source balance type to adjust for the Balance Transfer. One of payments, + /// issuing, or allocated_funds. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferSourceBalanceIssuing.cs b/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferSourceBalanceIssuing.cs new file mode 100644 index 0000000000..44c4025862 --- /dev/null +++ b/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferSourceBalanceIssuing.cs @@ -0,0 +1,56 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + +#if NET6_0_OR_GREATER + [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] +#endif + public class BalanceTransferSourceBalanceIssuing : StripeEntity + { + #region Expandable BalanceTransaction + + /// + /// (ID of the BalanceTransaction) + /// Identifier for the balance_transaction that decreased the source balance. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string BalanceTransactionId + { + get => this.InternalBalanceTransaction?.Id; + set => this.InternalBalanceTransaction = SetExpandableFieldId(value, this.InternalBalanceTransaction); + } + + /// + /// (Expanded) + /// Identifier for the balance_transaction that decreased the source balance. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public BalanceTransaction BalanceTransaction + { + get => this.InternalBalanceTransaction?.ExpandedObject; + set => this.InternalBalanceTransaction = SetExpandableFieldObject(value, this.InternalBalanceTransaction); + } + + [JsonProperty("balance_transaction")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("balance_transaction")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalBalanceTransaction { get; set; } + #endregion + } +} diff --git a/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferSourceBalancePayments.cs b/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferSourceBalancePayments.cs new file mode 100644 index 0000000000..ac5d50c13c --- /dev/null +++ b/src/Stripe.net/Entities/BalanceTransfers/BalanceTransferSourceBalancePayments.cs @@ -0,0 +1,66 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + +#if NET6_0_OR_GREATER + [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] +#endif + public class BalanceTransferSourceBalancePayments : StripeEntity + { + #region Expandable BalanceTransaction + + /// + /// (ID of the BalanceTransaction) + /// Identifier for the balance_transaction that decreased the source balance. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string BalanceTransactionId + { + get => this.InternalBalanceTransaction?.Id; + set => this.InternalBalanceTransaction = SetExpandableFieldId(value, this.InternalBalanceTransaction); + } + + /// + /// (Expanded) + /// Identifier for the balance_transaction that decreased the source balance. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public BalanceTransaction BalanceTransaction + { + get => this.InternalBalanceTransaction?.ExpandedObject; + set => this.InternalBalanceTransaction = SetExpandableFieldObject(value, this.InternalBalanceTransaction); + } + + [JsonProperty("balance_transaction")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("balance_transaction")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalBalanceTransaction { get; set; } + #endregion + + /// + /// The payments balance type that this BalanceTransfer pulled funds from. One of + /// card, fpx, or bank_account. + /// + [JsonProperty("source_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("source_type")] +#endif + public string SourceType { 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/DelegatedCheckout/RequestedSessions/RequestedSessionOrderDetails.cs b/src/Stripe.net/Entities/DelegatedCheckout/RequestedSessions/RequestedSessionOrderDetails.cs index 7fbe297366..a8a878f81b 100644 --- a/src/Stripe.net/Entities/DelegatedCheckout/RequestedSessions/RequestedSessionOrderDetails.cs +++ b/src/Stripe.net/Entities/DelegatedCheckout/RequestedSessions/RequestedSessionOrderDetails.cs @@ -9,21 +9,21 @@ namespace Stripe.DelegatedCheckout public class RequestedSessionOrderDetails : StripeEntity { /// - /// The URL to the order status. + /// The seller's order identifier. /// - [JsonProperty("order_status_url")] + [JsonProperty("order_id")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("order_status_url")] + [STJS.JsonPropertyName("order_id")] #endif - public string OrderStatusUrl { get; set; } + public string OrderId { get; set; } /// - /// The seller's order identifier. + /// The URL to the order status. /// - [JsonProperty("order_id")] + [JsonProperty("order_status_url")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("order_id")] + [STJS.JsonPropertyName("order_status_url")] #endif - public string OrderId { get; set; } + public string OrderStatusUrl { get; set; } } } diff --git a/src/Stripe.net/Entities/Discounts/Discount.cs b/src/Stripe.net/Entities/Discounts/Discount.cs index 9997d00126..5e6891a68e 100644 --- a/src/Stripe.net/Entities/Discounts/Discount.cs +++ b/src/Stripe.net/Entities/Discounts/Discount.cs @@ -187,6 +187,16 @@ public PromotionCode PromotionCode internal ExpandableField InternalPromotionCode { get; set; } #endregion + /// + /// The subscription schedule that this coupon is applied to, if it is applied to a + /// particular subscription schedule. + /// + [JsonProperty("schedule")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("schedule")] +#endif + public string Schedule { get; set; } + [JsonProperty("source")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("source")] 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/InvoiceItems/InvoiceItemParent.cs b/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParent.cs index 9ecb956792..1863ef3628 100644 --- a/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParent.cs +++ b/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParent.cs @@ -38,12 +38,21 @@ public class InvoiceItemParent : StripeEntity /// /// The type of parent that generated this invoice item. /// One of: license_fee_subscription_details, rate_card_subscription_details, - /// or subscription_details. + /// schedule_details, or subscription_details. /// [JsonProperty("type")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("type")] #endif public string Type { get; set; } + + /// + /// Details about the subscription schedule that generated this invoice item. + /// + [JsonProperty("schedule_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("schedule_details")] +#endif + public InvoiceItemParentScheduleDetails ScheduleDetails { get; set; } } } diff --git a/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParentScheduleDetails.cs b/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParentScheduleDetails.cs new file mode 100644 index 0000000000..58e9356a09 --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParentScheduleDetails.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 InvoiceItemParentScheduleDetails : StripeEntity + { + /// + /// The subscription schedule that generated this invoice item. + /// + [JsonProperty("schedule")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("schedule")] +#endif + public string Schedule { get; set; } + } +} diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParent.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParent.cs index fddce64f6a..4aea150fd3 100644 --- a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParent.cs +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParent.cs @@ -47,12 +47,22 @@ public class InvoiceLineItemParent : StripeEntity /// /// The type of parent that generated this line item. /// One of: invoice_item_details, license_fee_subscription_details, - /// rate_card_subscription_details, or subscription_item_details. + /// rate_card_subscription_details, schedule_details, or + /// subscription_item_details. /// [JsonProperty("type")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("type")] #endif public string Type { get; set; } + + /// + /// Details about the subscription schedule that generated this line item. + /// + [JsonProperty("schedule_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("schedule_details")] +#endif + public InvoiceLineItemParentScheduleDetails ScheduleDetails { get; set; } } } diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentScheduleDetails.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentScheduleDetails.cs new file mode 100644 index 0000000000..e93000ea9c --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentScheduleDetails.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 InvoiceLineItemParentScheduleDetails : StripeEntity + { + /// + /// The subscription schedule that generated this line item. + /// + [JsonProperty("schedule")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("schedule")] +#endif + public string Schedule { get; set; } + } +} 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/Invoices/InvoiceParent.cs b/src/Stripe.net/Entities/Invoices/InvoiceParent.cs index b9ebce74ed..b13a5fe7ad 100644 --- a/src/Stripe.net/Entities/Invoices/InvoiceParent.cs +++ b/src/Stripe.net/Entities/Invoices/InvoiceParent.cs @@ -37,13 +37,22 @@ public class InvoiceParent : StripeEntity /// /// The type of parent that generated this invoice. - /// One of: billing_cadence_details, quote_details, or - /// subscription_details. + /// One of: billing_cadence_details, quote_details, schedule_details, + /// or subscription_details. /// [JsonProperty("type")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("type")] #endif public string Type { get; set; } + + /// + /// Details about the schedule that generated this invoice. + /// + [JsonProperty("schedule_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("schedule_details")] +#endif + public InvoiceParentScheduleDetails ScheduleDetails { get; set; } } } diff --git a/src/Stripe.net/Entities/Invoices/InvoiceParentScheduleDetails.cs b/src/Stripe.net/Entities/Invoices/InvoiceParentScheduleDetails.cs new file mode 100644 index 0000000000..0396cf5831 --- /dev/null +++ b/src/Stripe.net/Entities/Invoices/InvoiceParentScheduleDetails.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 InvoiceParentScheduleDetails : StripeEntity + { + /// + /// The schedule that generated this invoice. + /// + [JsonProperty("schedule")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("schedule")] +#endif + public string Schedule { get; set; } + } +} 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/PaymentIntentAmountDetailsLineItems/PaymentIntentAmountDetailsLineItem.cs b/src/Stripe.net/Entities/PaymentIntentAmountDetailsLineItems/PaymentIntentAmountDetailsLineItem.cs index c5317d2a8a..222f718e8e 100644 --- a/src/Stripe.net/Entities/PaymentIntentAmountDetailsLineItems/PaymentIntentAmountDetailsLineItem.cs +++ b/src/Stripe.net/Entities/PaymentIntentAmountDetailsLineItems/PaymentIntentAmountDetailsLineItem.cs @@ -27,7 +27,11 @@ public class PaymentIntentAmountDetailsLineItem : StripeEntity - /// The amount an item was discounted for. Positive integer. + /// The discount applied on this line item represented in the smallest currency unit. An + /// integer greater than 0. + /// + /// This field is mutually exclusive with the amount_details[discount_amount] field. /// [JsonProperty("discount_amount")] #if NET6_0_OR_GREATER @@ -45,7 +49,8 @@ public class PaymentIntentAmountDetailsLineItem : StripeEntity - /// Unique identifier of the product. At most 12 characters long. + /// The product code of the line item, such as an SKU. Required for L3 rates. At most 12 + /// characters long. /// [JsonProperty("product_code")] #if NET6_0_OR_GREATER @@ -54,7 +59,10 @@ public class PaymentIntentAmountDetailsLineItem : StripeEntity - /// Name of the product. At most 100 characters long. + /// The product name of the line item. Required for L3 rates. At most 1024 characters long. + /// + /// For Cards, this field is truncated to 26 alphanumeric characters before being sent to + /// the card networks. For Paypal, this field is truncated to 127 characters. /// [JsonProperty("product_name")] #if NET6_0_OR_GREATER @@ -63,7 +71,7 @@ public class PaymentIntentAmountDetailsLineItem : StripeEntity - /// Number of items of the product. Positive integer. + /// The quantity of items. Required for L3 rates. An integer greater than 0. /// [JsonProperty("quantity")] #if NET6_0_OR_GREATER @@ -81,7 +89,9 @@ public class PaymentIntentAmountDetailsLineItem : StripeEntity - /// Cost of the product. Non-negative integer. + /// The unit cost of the line item represented in the smallest currency unit. + /// Required for L3 rates. An integer greater than or equal to 0. /// [JsonProperty("unit_cost")] #if NET6_0_OR_GREATER @@ -90,7 +100,8 @@ public class PaymentIntentAmountDetailsLineItem : StripeEntity - /// A unit of measure for the line item, such as gallons, feet, meters, etc. + /// A unit of measure for the line item, such as gallons, feet, meters, etc. Required for L3 + /// rates. At most 12 alphanumeric characters long. /// [JsonProperty("unit_of_measure")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/PaymentIntentAmountDetailsLineItems/PaymentIntentAmountDetailsLineItemTax.cs b/src/Stripe.net/Entities/PaymentIntentAmountDetailsLineItems/PaymentIntentAmountDetailsLineItemTax.cs index 85e738bb82..7068d49e07 100644 --- a/src/Stripe.net/Entities/PaymentIntentAmountDetailsLineItems/PaymentIntentAmountDetailsLineItemTax.cs +++ b/src/Stripe.net/Entities/PaymentIntentAmountDetailsLineItems/PaymentIntentAmountDetailsLineItemTax.cs @@ -9,7 +9,12 @@ namespace Stripe public class PaymentIntentAmountDetailsLineItemTax : StripeEntity { /// - /// Total portion of the amount that is for tax. + /// The total amount of tax on the transaction represented in the smallest currency unit. + /// Required for L2 rates. An integer greater than or equal to 0. + /// + /// This field is mutually exclusive with the + /// amount_details[line_items][#][tax][total_tax_amount] field. /// [JsonProperty("total_tax_amount")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentAmountDetails.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentAmountDetails.cs index 7823738c9d..2a195d64fa 100644 --- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentAmountDetails.cs +++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentAmountDetails.cs @@ -9,7 +9,12 @@ namespace Stripe public class PaymentIntentAmountDetails : StripeEntity { /// - /// The total discount applied on the transaction. + /// The total discount applied on the transaction represented in the smallest currency unit. An + /// integer greater than 0. + /// + /// This field is mutually exclusive with the + /// amount_details[line_items][#][discount_amount] field. /// [JsonProperty("discount_amount")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentAmountDetailsShipping.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentAmountDetailsShipping.cs index 8986103afe..e4e90a21b2 100644 --- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentAmountDetailsShipping.cs +++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentAmountDetailsShipping.cs @@ -9,7 +9,9 @@ namespace Stripe public class PaymentIntentAmountDetailsShipping : StripeEntity { /// - /// Portion of the amount that is for shipping. + /// If a physical good is being shipped, the cost of shipping represented in the smallest currency unit. An + /// integer greater than or equal to 0. /// [JsonProperty("amount")] #if NET6_0_OR_GREATER @@ -18,7 +20,8 @@ public class PaymentIntentAmountDetailsShipping : StripeEntity - /// The postal code that represents the shipping source. + /// If a physical good is being shipped, the postal code of where it is being shipped from. + /// At most 10 alphanumeric characters long, hyphens are allowed. /// [JsonProperty("from_postal_code")] #if NET6_0_OR_GREATER @@ -27,7 +30,8 @@ public class PaymentIntentAmountDetailsShipping : StripeEntity - /// The postal code that represents the shipping destination. + /// If a physical good is being shipped, the postal code of where it is being shipped to. At + /// most 10 alphanumeric characters long, hyphens are allowed. /// [JsonProperty("to_postal_code")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentAmountDetailsTax.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentAmountDetailsTax.cs index 4f3e2af519..87c26c9913 100644 --- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentAmountDetailsTax.cs +++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentAmountDetailsTax.cs @@ -9,7 +9,12 @@ namespace Stripe public class PaymentIntentAmountDetailsTax : StripeEntity { /// - /// Total portion of the amount that is for tax. + /// The total amount of tax on the transaction represented in the smallest currency unit. + /// Required for L2 rates. An integer greater than or equal to 0. + /// + /// This field is mutually exclusive with the + /// amount_details[line_items][#][tax][total_tax_amount] field. /// [JsonProperty("total_tax_amount")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentDetails.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentDetails.cs index d1bd5ac5d8..b5c495246a 100644 --- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentDetails.cs +++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentDetails.cs @@ -21,8 +21,10 @@ public class PaymentIntentPaymentDetails : StripeEntity - /// Some customers might be required by their company or organization to provide this - /// information. If so, provide this value. Otherwise you can ignore this field. + /// A unique value to identify the customer. This field is available only for card payments. + /// + /// This field is truncated to 25 alphanumeric characters, excluding spaces, before being + /// sent to card networks. /// [JsonProperty("customer_reference")] #if NET6_0_OR_GREATER @@ -37,7 +39,16 @@ public class PaymentIntentPaymentDetails : StripeEntity - /// A unique value assigned by the business to identify the transaction. + /// A unique value assigned by the business to identify the transaction. Required for L2 and + /// L3 rates. + /// + /// Required when the Payment Method Types array contains card, including when automatic_payment_methods.enabled + /// is set to true. + /// + /// For Cards, this field is truncated to 25 alphanumeric characters, excluding spaces, + /// before being sent to card networks. For Klarna, this field is truncated to 255 + /// characters and is visible to customers when they view the order in the Klarna app. /// [JsonProperty("order_reference")] #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/QuotePreviewInvoices/QuotePreviewInvoiceParent.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParent.cs index c7ab048e3b..9dcbc2f557 100644 --- a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParent.cs +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParent.cs @@ -37,13 +37,22 @@ public class QuotePreviewInvoiceParent : StripeEntity /// /// The type of parent that generated this invoice. - /// One of: billing_cadence_details, quote_details, or - /// subscription_details. + /// One of: billing_cadence_details, quote_details, schedule_details, + /// or subscription_details. /// [JsonProperty("type")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("type")] #endif public string Type { get; set; } + + /// + /// Details about the schedule that generated this invoice. + /// + [JsonProperty("schedule_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("schedule_details")] +#endif + public QuotePreviewInvoiceParentScheduleDetails ScheduleDetails { get; set; } } } diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParentScheduleDetails.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParentScheduleDetails.cs new file mode 100644 index 0000000000..05123512b3 --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParentScheduleDetails.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 QuotePreviewInvoiceParentScheduleDetails : StripeEntity + { + /// + /// The schedule that generated this invoice. + /// + [JsonProperty("schedule")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("schedule")] +#endif + public string Schedule { get; set; } + } +} diff --git a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedule.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedule.cs index a053ce67c8..a8f74ff61f 100644 --- a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedule.cs +++ b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedule.cs @@ -102,6 +102,15 @@ public Application Application #endif public QuotePreviewSubscriptionScheduleBillingMode BillingMode { get; set; } + /// + /// Billing schedules for this subscription schedule. + /// + [JsonProperty("billing_schedules")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billing_schedules")] +#endif + public List BillingSchedules { get; set; } + /// /// Time at which the subscription schedule was canceled. Measured in seconds since the Unix /// epoch. @@ -226,6 +235,47 @@ public Customer Customer #endif public QuotePreviewSubscriptionScheduleLastPriceMigrationError LastPriceMigrationError { get; set; } + #region Expandable LatestInvoice + + /// + /// (ID of the Invoice) + /// The most recent invoice this subscription schedule has generated. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string LatestInvoiceId + { + get => this.InternalLatestInvoice?.Id; + set => this.InternalLatestInvoice = SetExpandableFieldId(value, this.InternalLatestInvoice); + } + + /// + /// (Expanded) + /// The most recent invoice this subscription schedule has generated. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public Invoice LatestInvoice + { + get => this.InternalLatestInvoice?.ExpandedObject; + set => this.InternalLatestInvoice = SetExpandableFieldObject(value, this.InternalLatestInvoice); + } + + [JsonProperty("latest_invoice")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("latest_invoice")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalLatestInvoice { get; set; } + #endregion + /// /// 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/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingSchedule.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingSchedule.cs new file mode 100644 index 0000000000..70b8b99987 --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingSchedule.cs @@ -0,0 +1,48 @@ +// 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 QuotePreviewSubscriptionScheduleBillingSchedule : StripeEntity + { + /// + /// Specifies which subscription items the billing schedule applies to. + /// + [JsonProperty("applies_to")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("applies_to")] +#endif + public List AppliesTo { get; set; } + + /// + /// Specifies the start of the billing period. + /// + [JsonProperty("bill_from")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bill_from")] +#endif + public QuotePreviewSubscriptionScheduleBillingScheduleBillFrom BillFrom { get; set; } + + /// + /// Specifies the end of billing period. + /// + [JsonProperty("bill_until")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bill_until")] +#endif + public QuotePreviewSubscriptionScheduleBillingScheduleBillUntil BillUntil { get; set; } + + /// + /// Unique identifier for the billing schedule. + /// + [JsonProperty("key")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("key")] +#endif + public string Key { get; set; } + } +} diff --git a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleAppliesTo.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleAppliesTo.cs new file mode 100644 index 0000000000..c52903cc56 --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleAppliesTo.cs @@ -0,0 +1,65 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + +#if NET6_0_OR_GREATER + [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] +#endif + public class QuotePreviewSubscriptionScheduleBillingScheduleAppliesTo : StripeEntity + { + #region Expandable Price + + /// + /// (ID of the Price) + /// The billing schedule will apply to the subscription item with the given price ID. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string PriceId + { + get => this.InternalPrice?.Id; + set => this.InternalPrice = SetExpandableFieldId(value, this.InternalPrice); + } + + /// + /// (Expanded) + /// The billing schedule will apply to the subscription item with the given price ID. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public Price Price + { + get => this.InternalPrice?.ExpandedObject; + set => this.InternalPrice = SetExpandableFieldObject(value, this.InternalPrice); + } + + [JsonProperty("price")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("price")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalPrice { get; set; } + #endregion + + /// + /// Controls which subscription items the billing schedule applies to. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillFrom.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillFrom.cs new file mode 100644 index 0000000000..adaccd3b04 --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillFrom.cs @@ -0,0 +1,77 @@ +// 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 QuotePreviewSubscriptionScheduleBillingScheduleBillFrom : StripeEntity + { + /// + /// Use an index to specify the position of an amendment to start prebilling with. + /// + [JsonProperty("amendment_start")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amendment_start")] +#endif + public QuotePreviewSubscriptionScheduleBillingScheduleBillFromAmendmentStart AmendmentStart { get; set; } + + /// + /// The time the billing schedule applies from. + /// + [JsonProperty("computed_timestamp")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("computed_timestamp")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime? ComputedTimestamp { get; set; } + + /// + /// Lets you bill the period starting from a particular Quote line. + /// + [JsonProperty("line_starts_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line_starts_at")] +#endif + public QuotePreviewSubscriptionScheduleBillingScheduleBillFromLineStartsAt LineStartsAt { get; set; } + + /// + /// Timestamp is calculated from the request time. + /// + [JsonProperty("relative")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("relative")] +#endif + public QuotePreviewSubscriptionScheduleBillingScheduleBillFromRelative Relative { get; set; } + + /// + /// Use a precise Unix timestamp for prebilling to start. Must be earlier than + /// bill_until. + /// + [JsonProperty("timestamp")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("timestamp")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime? Timestamp { get; set; } + + /// + /// Describes how the billing schedule determines the start date. Possible values are + /// timestamp, relative, amendment_start, now, + /// quote_acceptance_date, line_starts_at, or pause_collection_start. + /// One of: amendment_start, line_starts_at, now, + /// pause_collection_start, quote_acceptance_date, relative, or + /// timestamp. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillFromAmendmentStart.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillFromAmendmentStart.cs new file mode 100644 index 0000000000..e10c260c4c --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillFromAmendmentStart.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 QuotePreviewSubscriptionScheduleBillingScheduleBillFromAmendmentStart : StripeEntity + { + /// + /// Use an index to specify the position of an amendment to start prebilling with. + /// + [JsonProperty("index")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("index")] +#endif + public long Index { get; set; } + } +} diff --git a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillFromLineStartsAt.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillFromLineStartsAt.cs new file mode 100644 index 0000000000..83e6f62529 --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillFromLineStartsAt.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 QuotePreviewSubscriptionScheduleBillingScheduleBillFromLineStartsAt : StripeEntity, IHasId + { + /// + /// Unique identifier for the object. + /// + [JsonProperty("id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("id")] +#endif + public string Id { get; set; } + } +} diff --git a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillFromRelative.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillFromRelative.cs new file mode 100644 index 0000000000..e17e7d655c --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillFromRelative.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 QuotePreviewSubscriptionScheduleBillingScheduleBillFromRelative : StripeEntity + { + /// + /// Specifies billing duration. Possible values are day, week, month, + /// or year. + /// One of: day, month, week, or year. + /// + [JsonProperty("interval")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("interval")] +#endif + public string Interval { get; set; } + + /// + /// The multiplier applied to the interval. + /// + [JsonProperty("interval_count")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("interval_count")] +#endif + public long? IntervalCount { get; set; } + } +} diff --git a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillUntil.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillUntil.cs new file mode 100644 index 0000000000..88e0ecca58 --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillUntil.cs @@ -0,0 +1,74 @@ +// 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 QuotePreviewSubscriptionScheduleBillingScheduleBillUntil : StripeEntity + { + /// + /// Use an index to specify the position of an amendment to end prebilling with. + /// + [JsonProperty("amendment_end")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amendment_end")] +#endif + public QuotePreviewSubscriptionScheduleBillingScheduleBillUntilAmendmentEnd AmendmentEnd { get; set; } + + /// + /// The timestamp the billing schedule will apply until. + /// + [JsonProperty("computed_timestamp")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("computed_timestamp")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime ComputedTimestamp { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// Specifies the billing period. + /// + [JsonProperty("duration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("duration")] +#endif + public QuotePreviewSubscriptionScheduleBillingScheduleBillUntilDuration Duration { get; set; } + + /// + /// Lets you bill the period ending at a particular Quote line. + /// + [JsonProperty("line_ends_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line_ends_at")] +#endif + public QuotePreviewSubscriptionScheduleBillingScheduleBillUntilLineEndsAt LineEndsAt { get; set; } + + /// + /// If specified, the billing schedule will apply until the specified timestamp. + /// + [JsonProperty("timestamp")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("timestamp")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime? Timestamp { get; set; } + + /// + /// Describes how the billing schedule will determine the end date. Either duration + /// or timestamp. + /// One of: amendment_end, duration, line_ends_at, schedule_end, + /// timestamp, or upcoming_invoice. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillUntilAmendmentEnd.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillUntilAmendmentEnd.cs new file mode 100644 index 0000000000..e8fdee351e --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillUntilAmendmentEnd.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 QuotePreviewSubscriptionScheduleBillingScheduleBillUntilAmendmentEnd : StripeEntity + { + /// + /// Use an index to specify the position of an amendment to end prebilling with. + /// + [JsonProperty("index")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("index")] +#endif + public long Index { get; set; } + } +} diff --git a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillUntilDuration.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillUntilDuration.cs new file mode 100644 index 0000000000..58f8935d88 --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillUntilDuration.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 QuotePreviewSubscriptionScheduleBillingScheduleBillUntilDuration : StripeEntity + { + /// + /// Specifies billing duration. Either day, week, month or year. + /// One of: day, month, week, or year. + /// + [JsonProperty("interval")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("interval")] +#endif + public string Interval { get; set; } + + /// + /// The multiplier applied to the interval. + /// + [JsonProperty("interval_count")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("interval_count")] +#endif + public long? IntervalCount { get; set; } + } +} diff --git a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillUntilLineEndsAt.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillUntilLineEndsAt.cs new file mode 100644 index 0000000000..f61749ef2c --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleBillingScheduleBillUntilLineEndsAt.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 QuotePreviewSubscriptionScheduleBillingScheduleBillUntilLineEndsAt : StripeEntity, IHasId + { + /// + /// Unique identifier for the object. + /// + [JsonProperty("id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("id")] +#endif + public string Id { get; set; } + } +} diff --git a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleDefaultSettings.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleDefaultSettings.cs index a86020187e..21c8c8fb2d 100644 --- a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleDefaultSettings.cs +++ b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleDefaultSettings.cs @@ -180,5 +180,20 @@ public Account OnBehalfOf [STJS.JsonPropertyName("transfer_data")] #endif public QuotePreviewSubscriptionScheduleDefaultSettingsTransferData TransferData { get; set; } + + /// + /// Configures how the subscription schedule handles billing for phase transitions. Possible + /// values are phase_start (default) or billing_period_start. + /// phase_start bills based on the current state of the subscription, ignoring + /// changes scheduled in future phases. billing_period_start bills predictively for + /// upcoming phase transitions within the current billing cycle, including pricing changes + /// and service period adjustments that will occur before the next invoice. + /// One of: billing_period_start, or phase_start. + /// + [JsonProperty("phase_effective_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phase_effective_at")] +#endif + public string PhaseEffectiveAt { get; set; } } } diff --git a/src/Stripe.net/Entities/Quotes/QuoteSubscriptionData.cs b/src/Stripe.net/Entities/Quotes/QuoteSubscriptionData.cs index e88dd69b4d..6337504cbe 100644 --- a/src/Stripe.net/Entities/Quotes/QuoteSubscriptionData.cs +++ b/src/Stripe.net/Entities/Quotes/QuoteSubscriptionData.cs @@ -56,6 +56,16 @@ public class QuoteSubscriptionData : StripeEntity, IHasMe #endif public QuoteSubscriptionDataBillingMode BillingMode { get; set; } + /// + /// Billing schedules that will be applied to the subscription or subscription schedule + /// created from this quote. + /// + [JsonProperty("billing_schedules")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billing_schedules")] +#endif + public List BillingSchedules { get; set; } + /// /// The subscription's description, meant to be displayable to the customer. Use this field /// to optionally store an explanation of the subscription for rendering in Stripe surfaces @@ -146,6 +156,21 @@ public Subscription FromSubscription #endif public Dictionary Metadata { get; set; } + /// + /// Configures how the subscription schedule handles billing for phase transitions. Possible + /// values are phase_start (default) or billing_period_start. + /// phase_start bills based on the current state of the subscription, ignoring + /// changes scheduled in future phases. billing_period_start bills predictively for + /// upcoming phase transitions within the current billing cycle, including pricing changes + /// and service period adjustments that will occur before the next invoice. + /// One of: billing_period_start, or phase_start. + /// + [JsonProperty("phase_effective_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phase_effective_at")] +#endif + public string PhaseEffectiveAt { get; set; } + /// /// If specified, the invoicing for the given billing cycle iterations will be processed /// when the quote is accepted. Cannot be used with effective_date. @@ -177,30 +202,5 @@ public Subscription FromSubscription [STJS.JsonPropertyName("trial_period_days")] #endif public long? TrialPeriodDays { get; set; } - - /// - /// Billing schedules that will be applied to the subscription or subscription schedule - /// created from this quote. - /// - [JsonProperty("billing_schedules")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_schedules")] -#endif - public List BillingSchedules { get; set; } - - /// - /// Configures how the subscription schedule handles billing for phase transitions. Possible - /// values are phase_start (default) or billing_period_start. - /// phase_start bills based on the current state of the subscription, ignoring - /// changes scheduled in future phases. billing_period_start bills predictively for - /// upcoming phase transitions within the current billing cycle, including pricing changes - /// and service period adjustments that will occur before the next invoice. - /// One of: billing_period_start, or phase_start. - /// - [JsonProperty("phase_effective_at")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("phase_effective_at")] -#endif - public string PhaseEffectiveAt { get; set; } } } diff --git a/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataBillingSchedule.cs b/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataBillingSchedule.cs index 171db39714..353b09142b 100644 --- a/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataBillingSchedule.cs +++ b/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataBillingSchedule.cs @@ -19,7 +19,16 @@ public class QuoteSubscriptionDataBillingSchedule : StripeEntity AppliesTo { get; set; } /// - /// Specifies the billing period. + /// Specifies the start of the billing period. + /// + [JsonProperty("bill_from")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bill_from")] +#endif + public QuoteSubscriptionDataBillingScheduleBillFrom BillFrom { get; set; } + + /// + /// Specifies the end of billing period. /// [JsonProperty("bill_until")] #if NET6_0_OR_GREATER @@ -35,14 +44,5 @@ public class QuoteSubscriptionDataBillingSchedule : StripeEntity - /// Specifies the start of the billing period. - /// - [JsonProperty("bill_from")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("bill_from")] -#endif - public QuoteSubscriptionDataBillingScheduleBillFrom BillFrom { get; set; } } } diff --git a/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataBillingScheduleBillUntil.cs b/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataBillingScheduleBillUntil.cs index 8e5968cb1a..f6c98ce9f3 100644 --- a/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataBillingScheduleBillUntil.cs +++ b/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataBillingScheduleBillUntil.cs @@ -10,6 +10,15 @@ namespace Stripe public class QuoteSubscriptionDataBillingScheduleBillUntil : StripeEntity { + /// + /// Use an index to specify the position of an amendment to end prebilling with. + /// + [JsonProperty("amendment_end")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amendment_end")] +#endif + public QuoteSubscriptionDataBillingScheduleBillUntilAmendmentEnd AmendmentEnd { get; set; } + /// /// The timestamp the billing schedule will apply until. /// @@ -30,6 +39,15 @@ public class QuoteSubscriptionDataBillingScheduleBillUntil : StripeEntity + /// Lets you bill the period ending at a particular Quote line. + /// + [JsonProperty("line_ends_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line_ends_at")] +#endif + public QuoteSubscriptionDataBillingScheduleBillUntilLineEndsAt LineEndsAt { get; set; } + /// /// If specified, the billing schedule will apply until the specified timestamp. /// @@ -52,23 +70,5 @@ public class QuoteSubscriptionDataBillingScheduleBillUntil : StripeEntity - /// Use an index to specify the position of an amendment to end prebilling with. - /// - [JsonProperty("amendment_end")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amendment_end")] -#endif - public QuoteSubscriptionDataBillingScheduleBillUntilAmendmentEnd AmendmentEnd { get; set; } - - /// - /// Lets you bill the period ending at a particular Quote line. - /// - [JsonProperty("line_ends_at")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("line_ends_at")] -#endif - public QuoteSubscriptionDataBillingScheduleBillUntilLineEndsAt LineEndsAt { get; set; } } } diff --git a/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataOverride.cs b/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataOverride.cs index 3f89b649ab..276a934e82 100644 --- a/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataOverride.cs +++ b/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataOverride.cs @@ -38,6 +38,16 @@ public class QuoteSubscriptionDataOverride : StripeEntity + /// Billing schedules that will be applied to the subscription or subscription schedule + /// created from this quote. + /// + [JsonProperty("billing_schedules")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billing_schedules")] +#endif + public List BillingSchedules { get; set; } + /// /// The customer which this quote belongs to. A customer is required before finalizing the /// quote. Once specified, it cannot be changed. @@ -69,28 +79,6 @@ public class QuoteSubscriptionDataOverride : StripeEntity - /// Determines how to handle prorations - /// when the quote is accepted. - /// One of: always_invoice, create_prorations, or none. - /// - [JsonProperty("proration_behavior")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("proration_behavior")] -#endif - public string ProrationBehavior { get; set; } - - /// - /// Billing schedules that will be applied to the subscription or subscription schedule - /// created from this quote. - /// - [JsonProperty("billing_schedules")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_schedules")] -#endif - public List BillingSchedules { get; set; } - /// /// Configures how the subscription schedule handles billing for phase transitions. Possible /// values are phase_start (default) or billing_period_start. @@ -105,5 +93,17 @@ public class QuoteSubscriptionDataOverride : StripeEntity + /// Determines how to handle prorations + /// when the quote is accepted. + /// One of: always_invoice, create_prorations, or none. + /// + [JsonProperty("proration_behavior")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("proration_behavior")] +#endif + public string ProrationBehavior { get; set; } } } diff --git a/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataOverrideBillingSchedule.cs b/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataOverrideBillingSchedule.cs index 66adf1dd7d..ed7b7b98c0 100644 --- a/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataOverrideBillingSchedule.cs +++ b/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataOverrideBillingSchedule.cs @@ -19,7 +19,16 @@ public class QuoteSubscriptionDataOverrideBillingSchedule : StripeEntity AppliesTo { get; set; } /// - /// Specifies the billing period. + /// Specifies the start of the billing period. + /// + [JsonProperty("bill_from")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bill_from")] +#endif + public QuoteSubscriptionDataOverrideBillingScheduleBillFrom BillFrom { get; set; } + + /// + /// Specifies the end of billing period. /// [JsonProperty("bill_until")] #if NET6_0_OR_GREATER @@ -35,14 +44,5 @@ public class QuoteSubscriptionDataOverrideBillingSchedule : StripeEntity - /// Specifies the start of the billing period. - /// - [JsonProperty("bill_from")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("bill_from")] -#endif - public QuoteSubscriptionDataOverrideBillingScheduleBillFrom BillFrom { get; set; } } } diff --git a/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataOverrideBillingScheduleBillUntil.cs b/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataOverrideBillingScheduleBillUntil.cs index ca01181e30..b302e910ad 100644 --- a/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataOverrideBillingScheduleBillUntil.cs +++ b/src/Stripe.net/Entities/Quotes/QuoteSubscriptionDataOverrideBillingScheduleBillUntil.cs @@ -10,6 +10,15 @@ namespace Stripe public class QuoteSubscriptionDataOverrideBillingScheduleBillUntil : StripeEntity { + /// + /// Use an index to specify the position of an amendment to end prebilling with. + /// + [JsonProperty("amendment_end")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amendment_end")] +#endif + public QuoteSubscriptionDataOverrideBillingScheduleBillUntilAmendmentEnd AmendmentEnd { get; set; } + /// /// The timestamp the billing schedule will apply until. /// @@ -30,6 +39,15 @@ public class QuoteSubscriptionDataOverrideBillingScheduleBillUntil : StripeEntit #endif public QuoteSubscriptionDataOverrideBillingScheduleBillUntilDuration Duration { get; set; } + /// + /// Lets you bill the period ending at a particular Quote line. + /// + [JsonProperty("line_ends_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line_ends_at")] +#endif + public QuoteSubscriptionDataOverrideBillingScheduleBillUntilLineEndsAt LineEndsAt { get; set; } + /// /// If specified, the billing schedule will apply until the specified timestamp. /// @@ -52,23 +70,5 @@ public class QuoteSubscriptionDataOverrideBillingScheduleBillUntil : StripeEntit [STJS.JsonPropertyName("type")] #endif public string Type { get; set; } - - /// - /// Use an index to specify the position of an amendment to end prebilling with. - /// - [JsonProperty("amendment_end")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amendment_end")] -#endif - public QuoteSubscriptionDataOverrideBillingScheduleBillUntilAmendmentEnd AmendmentEnd { get; set; } - - /// - /// Lets you bill the period ending at a particular Quote line. - /// - [JsonProperty("line_ends_at")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("line_ends_at")] -#endif - public QuoteSubscriptionDataOverrideBillingScheduleBillUntilLineEndsAt LineEndsAt { get; set; } } } diff --git a/src/Stripe.net/Entities/Radar/AccountEvaluations/AccountEvaluation.cs b/src/Stripe.net/Entities/Radar/AccountEvaluations/AccountEvaluation.cs new file mode 100644 index 0000000000..797e55237d --- /dev/null +++ b/src/Stripe.net/Entities/Radar/AccountEvaluations/AccountEvaluation.cs @@ -0,0 +1,93 @@ +// File generated from our OpenAPI spec +namespace Stripe.Radar +{ + using System; + using System.Collections.Generic; + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// Account Evaluation resource returned by the Radar Account Evaluations API. + /// + public class AccountEvaluation : StripeEntity, IHasId, 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. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// Time at which the object was created. Measured in seconds since the Unix epoch. + /// + [JsonProperty("created_at")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created_at")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime CreatedAt { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// The ID of the Stripe customer the account evaluation is associated with. + /// + [JsonProperty("customer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("customer")] +#endif + public string Customer { get; set; } + + /// + /// The list of events that were reported for this Account Evaluation object via the report + /// API. + /// + [JsonProperty("events")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("events")] +#endif + public List Events { 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; } + + /// + /// A hash of signal objects providing Radar's evaluation for the lifecycle event. + /// + [JsonProperty("signals")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("signals")] +#endif + public AccountEvaluationSignals Signals { get; set; } + + /// + /// The type of evaluation returned, based on the user's request. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Radar/AccountEvaluations/AccountEvaluationEvent.cs b/src/Stripe.net/Entities/Radar/AccountEvaluations/AccountEvaluationEvent.cs new file mode 100644 index 0000000000..da6fab419e --- /dev/null +++ b/src/Stripe.net/Entities/Radar/AccountEvaluations/AccountEvaluationEvent.cs @@ -0,0 +1,33 @@ +// File generated from our OpenAPI spec +namespace Stripe.Radar +{ + using System; + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountEvaluationEvent : StripeEntity + { + /// + /// Time at which the event occurred. Measured in seconds since the Unix epoch. + /// + [JsonProperty("occurred_at")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("occurred_at")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime OccurredAt { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// The type of event that occurred. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Radar/AccountEvaluations/AccountEvaluationSignals.cs b/src/Stripe.net/Entities/Radar/AccountEvaluations/AccountEvaluationSignals.cs new file mode 100644 index 0000000000..e68f13289b --- /dev/null +++ b/src/Stripe.net/Entities/Radar/AccountEvaluations/AccountEvaluationSignals.cs @@ -0,0 +1,23 @@ +// File generated from our OpenAPI spec +namespace Stripe.Radar +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountEvaluationSignals : StripeEntity + { + [JsonProperty("account_sharing")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_sharing")] +#endif + public AccountEvaluationSignalsAccountSharing AccountSharing { get; set; } + + [JsonProperty("multi_accounting")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("multi_accounting")] +#endif + public AccountEvaluationSignalsMultiAccounting MultiAccounting { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Radar/AccountEvaluations/AccountEvaluationSignalsAccountSharing.cs b/src/Stripe.net/Entities/Radar/AccountEvaluations/AccountEvaluationSignalsAccountSharing.cs new file mode 100644 index 0000000000..67b76f44b2 --- /dev/null +++ b/src/Stripe.net/Entities/Radar/AccountEvaluations/AccountEvaluationSignalsAccountSharing.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.Radar +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountEvaluationSignalsAccountSharing : StripeEntity + { + /// + /// Score for this signal (float between 0.0-100.0). + /// + [JsonProperty("score")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("score")] +#endif + public decimal Score { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Radar/AccountEvaluations/AccountEvaluationSignalsMultiAccounting.cs b/src/Stripe.net/Entities/Radar/AccountEvaluations/AccountEvaluationSignalsMultiAccounting.cs new file mode 100644 index 0000000000..e054098230 --- /dev/null +++ b/src/Stripe.net/Entities/Radar/AccountEvaluations/AccountEvaluationSignalsMultiAccounting.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.Radar +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountEvaluationSignalsMultiAccounting : StripeEntity + { + /// + /// Score for this signal (float between 0.0-100.0). + /// + [JsonProperty("score")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("score")] +#endif + public decimal Score { get; set; } + } +} 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/SubscriptionSchedules/SubscriptionSchedule.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedule.cs index b67b6f7453..d39a615f54 100644 --- a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedule.cs +++ b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedule.cs @@ -104,6 +104,15 @@ public Application Application #endif public SubscriptionScheduleBillingMode BillingMode { get; set; } + /// + /// Billing schedules for this subscription schedule. + /// + [JsonProperty("billing_schedules")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billing_schedules")] +#endif + public List BillingSchedules { get; set; } + /// /// Time at which the subscription schedule was canceled. Measured in seconds since the Unix /// epoch. @@ -228,6 +237,47 @@ public Customer Customer #endif public SubscriptionScheduleLastPriceMigrationError LastPriceMigrationError { get; set; } + #region Expandable LatestInvoice + + /// + /// (ID of the Invoice) + /// The most recent invoice this subscription schedule has generated. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string LatestInvoiceId + { + get => this.InternalLatestInvoice?.Id; + set => this.InternalLatestInvoice = SetExpandableFieldId(value, this.InternalLatestInvoice); + } + + /// + /// (Expanded) + /// The most recent invoice this subscription schedule has generated. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public Invoice LatestInvoice + { + get => this.InternalLatestInvoice?.ExpandedObject; + set => this.InternalLatestInvoice = SetExpandableFieldObject(value, this.InternalLatestInvoice); + } + + [JsonProperty("latest_invoice")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("latest_invoice")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalLatestInvoice { get; set; } + #endregion + /// /// 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/SubscriptionSchedules/SubscriptionScheduleBillingSchedule.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingSchedule.cs new file mode 100644 index 0000000000..01140a2bab --- /dev/null +++ b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingSchedule.cs @@ -0,0 +1,48 @@ +// 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 SubscriptionScheduleBillingSchedule : StripeEntity + { + /// + /// Specifies which subscription items the billing schedule applies to. + /// + [JsonProperty("applies_to")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("applies_to")] +#endif + public List AppliesTo { get; set; } + + /// + /// Specifies the start of the billing period. + /// + [JsonProperty("bill_from")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bill_from")] +#endif + public SubscriptionScheduleBillingScheduleBillFrom BillFrom { get; set; } + + /// + /// Specifies the end of billing period. + /// + [JsonProperty("bill_until")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bill_until")] +#endif + public SubscriptionScheduleBillingScheduleBillUntil BillUntil { get; set; } + + /// + /// Unique identifier for the billing schedule. + /// + [JsonProperty("key")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("key")] +#endif + public string Key { get; set; } + } +} diff --git a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleAppliesTo.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleAppliesTo.cs new file mode 100644 index 0000000000..7febd8df81 --- /dev/null +++ b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleAppliesTo.cs @@ -0,0 +1,65 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + +#if NET6_0_OR_GREATER + [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] +#endif + public class SubscriptionScheduleBillingScheduleAppliesTo : StripeEntity + { + #region Expandable Price + + /// + /// (ID of the Price) + /// The billing schedule will apply to the subscription item with the given price ID. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string PriceId + { + get => this.InternalPrice?.Id; + set => this.InternalPrice = SetExpandableFieldId(value, this.InternalPrice); + } + + /// + /// (Expanded) + /// The billing schedule will apply to the subscription item with the given price ID. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public Price Price + { + get => this.InternalPrice?.ExpandedObject; + set => this.InternalPrice = SetExpandableFieldObject(value, this.InternalPrice); + } + + [JsonProperty("price")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("price")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalPrice { get; set; } + #endregion + + /// + /// Controls which subscription items the billing schedule applies to. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillFrom.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillFrom.cs new file mode 100644 index 0000000000..6add0adbe4 --- /dev/null +++ b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillFrom.cs @@ -0,0 +1,77 @@ +// 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 SubscriptionScheduleBillingScheduleBillFrom : StripeEntity + { + /// + /// Use an index to specify the position of an amendment to start prebilling with. + /// + [JsonProperty("amendment_start")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amendment_start")] +#endif + public SubscriptionScheduleBillingScheduleBillFromAmendmentStart AmendmentStart { get; set; } + + /// + /// The time the billing schedule applies from. + /// + [JsonProperty("computed_timestamp")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("computed_timestamp")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime? ComputedTimestamp { get; set; } + + /// + /// Lets you bill the period starting from a particular Quote line. + /// + [JsonProperty("line_starts_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line_starts_at")] +#endif + public SubscriptionScheduleBillingScheduleBillFromLineStartsAt LineStartsAt { get; set; } + + /// + /// Timestamp is calculated from the request time. + /// + [JsonProperty("relative")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("relative")] +#endif + public SubscriptionScheduleBillingScheduleBillFromRelative Relative { get; set; } + + /// + /// Use a precise Unix timestamp for prebilling to start. Must be earlier than + /// bill_until. + /// + [JsonProperty("timestamp")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("timestamp")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime? Timestamp { get; set; } + + /// + /// Describes how the billing schedule determines the start date. Possible values are + /// timestamp, relative, amendment_start, now, + /// quote_acceptance_date, line_starts_at, or pause_collection_start. + /// One of: amendment_start, line_starts_at, now, + /// pause_collection_start, quote_acceptance_date, relative, or + /// timestamp. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillFromAmendmentStart.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillFromAmendmentStart.cs new file mode 100644 index 0000000000..e31bbab50c --- /dev/null +++ b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillFromAmendmentStart.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 SubscriptionScheduleBillingScheduleBillFromAmendmentStart : StripeEntity + { + /// + /// Use an index to specify the position of an amendment to start prebilling with. + /// + [JsonProperty("index")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("index")] +#endif + public long Index { get; set; } + } +} diff --git a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillFromLineStartsAt.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillFromLineStartsAt.cs new file mode 100644 index 0000000000..cc96c7e40f --- /dev/null +++ b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillFromLineStartsAt.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 SubscriptionScheduleBillingScheduleBillFromLineStartsAt : StripeEntity, IHasId + { + /// + /// Unique identifier for the object. + /// + [JsonProperty("id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("id")] +#endif + public string Id { get; set; } + } +} diff --git a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillFromRelative.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillFromRelative.cs new file mode 100644 index 0000000000..a9a566f73d --- /dev/null +++ b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillFromRelative.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 SubscriptionScheduleBillingScheduleBillFromRelative : StripeEntity + { + /// + /// Specifies billing duration. Possible values are day, week, month, + /// or year. + /// One of: day, month, week, or year. + /// + [JsonProperty("interval")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("interval")] +#endif + public string Interval { get; set; } + + /// + /// The multiplier applied to the interval. + /// + [JsonProperty("interval_count")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("interval_count")] +#endif + public long? IntervalCount { get; set; } + } +} diff --git a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntil.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntil.cs new file mode 100644 index 0000000000..d37781fb60 --- /dev/null +++ b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntil.cs @@ -0,0 +1,74 @@ +// 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 SubscriptionScheduleBillingScheduleBillUntil : StripeEntity + { + /// + /// Use an index to specify the position of an amendment to end prebilling with. + /// + [JsonProperty("amendment_end")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amendment_end")] +#endif + public SubscriptionScheduleBillingScheduleBillUntilAmendmentEnd AmendmentEnd { get; set; } + + /// + /// The timestamp the billing schedule will apply until. + /// + [JsonProperty("computed_timestamp")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("computed_timestamp")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime ComputedTimestamp { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// Specifies the billing period. + /// + [JsonProperty("duration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("duration")] +#endif + public SubscriptionScheduleBillingScheduleBillUntilDuration Duration { get; set; } + + /// + /// Lets you bill the period ending at a particular Quote line. + /// + [JsonProperty("line_ends_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line_ends_at")] +#endif + public SubscriptionScheduleBillingScheduleBillUntilLineEndsAt LineEndsAt { get; set; } + + /// + /// If specified, the billing schedule will apply until the specified timestamp. + /// + [JsonProperty("timestamp")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("timestamp")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime? Timestamp { get; set; } + + /// + /// Describes how the billing schedule will determine the end date. Either duration + /// or timestamp. + /// One of: amendment_end, duration, line_ends_at, schedule_end, + /// timestamp, or upcoming_invoice. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntilAmendmentEnd.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntilAmendmentEnd.cs new file mode 100644 index 0000000000..25464d816c --- /dev/null +++ b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntilAmendmentEnd.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 SubscriptionScheduleBillingScheduleBillUntilAmendmentEnd : StripeEntity + { + /// + /// Use an index to specify the position of an amendment to end prebilling with. + /// + [JsonProperty("index")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("index")] +#endif + public long Index { get; set; } + } +} diff --git a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntilDuration.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntilDuration.cs new file mode 100644 index 0000000000..f56a662329 --- /dev/null +++ b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntilDuration.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 SubscriptionScheduleBillingScheduleBillUntilDuration : StripeEntity + { + /// + /// Specifies billing duration. Either day, week, month or year. + /// One of: day, month, week, or year. + /// + [JsonProperty("interval")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("interval")] +#endif + public string Interval { get; set; } + + /// + /// The multiplier applied to the interval. + /// + [JsonProperty("interval_count")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("interval_count")] +#endif + public long? IntervalCount { get; set; } + } +} diff --git a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntilLineEndsAt.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntilLineEndsAt.cs new file mode 100644 index 0000000000..01323870cc --- /dev/null +++ b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntilLineEndsAt.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 SubscriptionScheduleBillingScheduleBillUntilLineEndsAt : StripeEntity, IHasId + { + /// + /// Unique identifier for the object. + /// + [JsonProperty("id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("id")] +#endif + public string Id { get; set; } + } +} diff --git a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleDefaultSettings.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleDefaultSettings.cs index 35459e069a..93c4581efa 100644 --- a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleDefaultSettings.cs +++ b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleDefaultSettings.cs @@ -180,5 +180,20 @@ public Account OnBehalfOf [STJS.JsonPropertyName("transfer_data")] #endif public SubscriptionScheduleDefaultSettingsTransferData TransferData { get; set; } + + /// + /// Configures how the subscription schedule handles billing for phase transitions. Possible + /// values are phase_start (default) or billing_period_start. + /// phase_start bills based on the current state of the subscription, ignoring + /// changes scheduled in future phases. billing_period_start bills predictively for + /// upcoming phase transitions within the current billing cycle, including pricing changes + /// and service period adjustments that will occur before the next invoice. + /// One of: billing_period_start, or phase_start. + /// + [JsonProperty("phase_effective_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phase_effective_at")] +#endif + public string PhaseEffectiveAt { get; set; } } } diff --git a/src/Stripe.net/Entities/Subscriptions/SubscriptionBillingSchedule.cs b/src/Stripe.net/Entities/Subscriptions/SubscriptionBillingSchedule.cs index 22377753c2..e60a7bfda9 100644 --- a/src/Stripe.net/Entities/Subscriptions/SubscriptionBillingSchedule.cs +++ b/src/Stripe.net/Entities/Subscriptions/SubscriptionBillingSchedule.cs @@ -19,7 +19,16 @@ public class SubscriptionBillingSchedule : StripeEntity AppliesTo { get; set; } /// - /// Specifies the billing period. + /// Specifies the start of the billing period. + /// + [JsonProperty("bill_from")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bill_from")] +#endif + public SubscriptionBillingScheduleBillFrom BillFrom { get; set; } + + /// + /// Specifies the end of billing period. /// [JsonProperty("bill_until")] #if NET6_0_OR_GREATER @@ -35,14 +44,5 @@ public class SubscriptionBillingSchedule : StripeEntity - /// Specifies the start of the billing period. - /// - [JsonProperty("bill_from")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("bill_from")] -#endif - public SubscriptionBillingScheduleBillFrom BillFrom { get; set; } } } diff --git a/src/Stripe.net/Entities/Subscriptions/SubscriptionBillingScheduleBillUntil.cs b/src/Stripe.net/Entities/Subscriptions/SubscriptionBillingScheduleBillUntil.cs index 994cd8477e..32cdf537e8 100644 --- a/src/Stripe.net/Entities/Subscriptions/SubscriptionBillingScheduleBillUntil.cs +++ b/src/Stripe.net/Entities/Subscriptions/SubscriptionBillingScheduleBillUntil.cs @@ -10,6 +10,15 @@ namespace Stripe public class SubscriptionBillingScheduleBillUntil : StripeEntity { + /// + /// Use an index to specify the position of an amendment to end prebilling with. + /// + [JsonProperty("amendment_end")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amendment_end")] +#endif + public SubscriptionBillingScheduleBillUntilAmendmentEnd AmendmentEnd { get; set; } + /// /// The timestamp the billing schedule will apply until. /// @@ -30,6 +39,15 @@ public class SubscriptionBillingScheduleBillUntil : StripeEntity + /// Lets you bill the period ending at a particular Quote line. + /// + [JsonProperty("line_ends_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line_ends_at")] +#endif + public SubscriptionBillingScheduleBillUntilLineEndsAt LineEndsAt { get; set; } + /// /// If specified, the billing schedule will apply until the specified timestamp. /// @@ -52,23 +70,5 @@ public class SubscriptionBillingScheduleBillUntil : StripeEntity - /// Use an index to specify the position of an amendment to end prebilling with. - /// - [JsonProperty("amendment_end")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amendment_end")] -#endif - public SubscriptionBillingScheduleBillUntilAmendmentEnd AmendmentEnd { get; set; } - - /// - /// Lets you bill the period ending at a particular Quote line. - /// - [JsonProperty("line_ends_at")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("line_ends_at")] -#endif - public SubscriptionBillingScheduleBillUntilLineEndsAt LineEndsAt { get; set; } } } 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 dbf1da3f1a..6d0c243ea2 100644 --- a/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs +++ b/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs @@ -26,6 +26,7 @@ public static class StripeTypeRegistry { "balance", typeof(Balance) }, { "balance_settings", typeof(BalanceSettings) }, { "balance_transaction", typeof(BalanceTransaction) }, + { "balance_transfer", typeof(BalanceTransfer) }, { "bank_account", typeof(BankAccount) }, { "billing.alert", typeof(Billing.Alert) }, { "billing.alert_triggered", typeof(Billing.AlertTriggered) }, @@ -166,6 +167,7 @@ public static class StripeTypeRegistry "quote_preview_subscription_schedule", typeof( QuotePreviewSubscriptionSchedule) }, + { "radar.account_evaluation", typeof(Radar.AccountEvaluation) }, { "radar.early_fraud_warning", typeof(Radar.EarlyFraudWarning) }, { "radar.value_list", typeof(Radar.ValueList) }, { "radar.value_list_item", typeof(Radar.ValueListItem) }, 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/BalanceTransfers/BalanceTransferCreateOptions.cs b/src/Stripe.net/Services/BalanceTransfers/BalanceTransferCreateOptions.cs new file mode 100644 index 0000000000..4c77ae9333 --- /dev/null +++ b/src/Stripe.net/Services/BalanceTransfers/BalanceTransferCreateOptions.cs @@ -0,0 +1,64 @@ +// 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 BalanceTransferCreateOptions : BaseOptions, IHasMetadata + { + /// + /// A positive integer representing how much to transfer in the smallest currency unit. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public long? Amount { get; set; } + + /// + /// Three-letter ISO currency + /// code, in lowercase. Must be a supported + /// currency. + /// One of: eur, gbp, or usd. + /// + [JsonProperty("currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("currency")] +#endif + public string Currency { get; set; } + + /// + /// The balance to which funds are transferred. + /// + [JsonProperty("destination_balance")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("destination_balance")] +#endif + public BalanceTransferDestinationBalanceOptions DestinationBalance { 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. Individual keys can be unset by posting an empty value to + /// them. All keys can be unset by posting an empty value to metadata. + /// + [JsonProperty("metadata")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("metadata")] +#endif + public Dictionary Metadata { get; set; } + + /// + /// The balance from which funds are transferred, including details specific to the balance + /// you choose. + /// + [JsonProperty("source_balance")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("source_balance")] +#endif + public BalanceTransferSourceBalanceOptions SourceBalance { get; set; } + } +} diff --git a/src/Stripe.net/Services/BalanceTransfers/BalanceTransferDestinationBalanceOptions.cs b/src/Stripe.net/Services/BalanceTransfers/BalanceTransferDestinationBalanceOptions.cs new file mode 100644 index 0000000000..b76d7c1f9e --- /dev/null +++ b/src/Stripe.net/Services/BalanceTransfers/BalanceTransferDestinationBalanceOptions.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 BalanceTransferDestinationBalanceOptions : INestedOptions + { + /// + /// Destination balance type to push funds into for the Balance Transfer. + /// One of: issuing, or payments. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/BalanceTransfers/BalanceTransferService.cs b/src/Stripe.net/Services/BalanceTransfers/BalanceTransferService.cs new file mode 100644 index 0000000000..eb9d251678 --- /dev/null +++ b/src/Stripe.net/Services/BalanceTransfers/BalanceTransferService.cs @@ -0,0 +1,52 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using System; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + public class BalanceTransferService : Service, + ICreatable + { + public BalanceTransferService() + { + } + + internal BalanceTransferService(ApiRequestor requestor) + : base(requestor) + { + } + + public BalanceTransferService(IStripeClient client) + : base(client) + { + } + + /// + ///

Creates a balance transfer. For Issuing use cases, funds will be debited immediately + /// from the source balance and credited to the destination balance immediately (if your + /// account is based in the US) or next-business-day (if your account is based in the EU). + /// For Segregated Separate Charges and Transfers use cases, funds will be debited + /// immediately from the source balance and credited immediately to the destination + /// balance.

. + ///
+ public virtual BalanceTransfer Create(BalanceTransferCreateOptions options, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v1/balance_transfers", options, requestOptions); + } + + /// + ///

Creates a balance transfer. For Issuing use cases, funds will be debited immediately + /// from the source balance and credited to the destination balance immediately (if your + /// account is based in the US) or next-business-day (if your account is based in the EU). + /// For Segregated Separate Charges and Transfers use cases, funds will be debited + /// immediately from the source balance and credited immediately to the destination + /// balance.

. + ///
+ public virtual Task CreateAsync(BalanceTransferCreateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v1/balance_transfers", options, requestOptions, cancellationToken); + } + } +} diff --git a/src/Stripe.net/Services/BalanceTransfers/BalanceTransferSourceBalanceAllocatedFundsOptions.cs b/src/Stripe.net/Services/BalanceTransfers/BalanceTransferSourceBalanceAllocatedFundsOptions.cs new file mode 100644 index 0000000000..b3a82e1b20 --- /dev/null +++ b/src/Stripe.net/Services/BalanceTransfers/BalanceTransferSourceBalanceAllocatedFundsOptions.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 BalanceTransferSourceBalanceAllocatedFundsOptions : INestedOptions + { + /// + /// The charge ID that the funds are originally sourced from. Required if type is + /// charge. + /// + [JsonProperty("charge")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("charge")] +#endif + public string Charge { get; set; } + + /// + /// The type of object that the funds are originally sourced from. One of charge. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/BalanceTransfers/BalanceTransferSourceBalanceOptions.cs b/src/Stripe.net/Services/BalanceTransfers/BalanceTransferSourceBalanceOptions.cs new file mode 100644 index 0000000000..6e3c3a41c8 --- /dev/null +++ b/src/Stripe.net/Services/BalanceTransfers/BalanceTransferSourceBalanceOptions.cs @@ -0,0 +1,27 @@ +// 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 BalanceTransferSourceBalanceOptions : INestedOptions + { + [JsonProperty("allocated_funds")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("allocated_funds")] +#endif + public BalanceTransferSourceBalanceAllocatedFundsOptions AllocatedFunds { get; set; } + + /// + /// Source balance type to pull funds from for the Balance Transfer. + /// One of: allocated_funds, issuing, or payments. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { 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 54307b98f0..9df15cc3e4 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,13 +41,14 @@ 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; } /// /// List of high cardinality tenant dimension keys to group by. If specified, usage events 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 08f52421db..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; @@ -18,8 +19,19 @@ public class ChargePaymentDetailsOptions : INestedOptions public ChargePaymentDetailsCarRentalOptions CarRental { get; set; } /// - /// Some customers might be required by their company or organization to provide this - /// information. If so, provide this value. Otherwise you can ignore this field. + /// 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. + /// + /// This field is truncated to 25 alphanumeric characters, excluding spaces, before being + /// sent to card networks. /// [JsonProperty("customer_reference")] #if NET6_0_OR_GREATER @@ -45,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. /// @@ -55,7 +76,25 @@ public class ChargePaymentDetailsOptions : INestedOptions public ChargePaymentDetailsLodgingOptions Lodging { get; set; } /// - /// A unique value assigned by the business to identify the transaction. + /// 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. + /// + /// Required when the Payment Method Types array contains card, including when automatic_payment_methods.enabled + /// is set to true. + /// + /// For Cards, this field is truncated to 25 alphanumeric characters, excluding spaces, + /// before being sent to card networks. For Klarna, this field is truncated to 255 + /// characters and is visible to customers when they view the order in the Klarna app. /// [JsonProperty("order_reference")] #if NET6_0_OR_GREATER 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/Invoices/InvoiceScheduleDetailsBillingScheduleAppliesToOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsBillingScheduleAppliesToOptions.cs new file mode 100644 index 0000000000..28e0a10964 --- /dev/null +++ b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsBillingScheduleAppliesToOptions.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 InvoiceScheduleDetailsBillingScheduleAppliesToOptions : INestedOptions + { + /// + /// The ID of the price object. + /// + [JsonProperty("price")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("price")] +#endif + public string Price { get; set; } + + /// + /// Controls which subscription items the billing schedule applies to. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsBillingScheduleBillUntilDurationOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsBillingScheduleBillUntilDurationOptions.cs new file mode 100644 index 0000000000..251755236e --- /dev/null +++ b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsBillingScheduleBillUntilDurationOptions.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 InvoiceScheduleDetailsBillingScheduleBillUntilDurationOptions : INestedOptions + { + /// + /// Specifies billing duration. Either day, week, month or year. + /// One of: day, month, week, or year. + /// + [JsonProperty("interval")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("interval")] +#endif + public string Interval { get; set; } + + /// + /// The multiplier applied to the interval. + /// + [JsonProperty("interval_count")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("interval_count")] +#endif + public long? IntervalCount { get; set; } + } +} diff --git a/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsBillingScheduleBillUntilOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsBillingScheduleBillUntilOptions.cs new file mode 100644 index 0000000000..058d699e38 --- /dev/null +++ b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsBillingScheduleBillUntilOptions.cs @@ -0,0 +1,45 @@ +// 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 InvoiceScheduleDetailsBillingScheduleBillUntilOptions : INestedOptions + { + /// + /// Specifies the billing period. + /// + [JsonProperty("duration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("duration")] +#endif + public InvoiceScheduleDetailsBillingScheduleBillUntilDurationOptions Duration { get; set; } + + /// + /// The end date of the billing schedule. + /// + [JsonProperty("timestamp")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("timestamp")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime? Timestamp { get; set; } + + /// + /// Describes how the billing schedule will determine the end date. Either duration + /// or timestamp. + /// One of: amendment_end, duration, line_ends_at, schedule_end, + /// timestamp, or upcoming_invoice. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsBillingScheduleOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsBillingScheduleOptions.cs new file mode 100644 index 0000000000..43ecac77c3 --- /dev/null +++ b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsBillingScheduleOptions.cs @@ -0,0 +1,40 @@ +// 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 InvoiceScheduleDetailsBillingScheduleOptions : INestedOptions + { + /// + /// Configure billing schedule differently for individual subscription items. + /// + [JsonProperty("applies_to")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("applies_to")] +#endif + public List AppliesTo { get; set; } + + /// + /// The end date for the billing schedule. + /// + [JsonProperty("bill_until")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bill_until")] +#endif + public InvoiceScheduleDetailsBillingScheduleBillUntilOptions BillUntil { get; set; } + + /// + /// Specify a key for the billing schedule. Must be unique to this field, alphanumeric, and + /// up to 200 characters. If not provided, a unique key will be generated. + /// + [JsonProperty("key")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("key")] +#endif + public string Key { get; set; } + } +} diff --git a/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsOptions.cs index e691b88988..77569185fb 100644 --- a/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsOptions.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsOptions.cs @@ -85,5 +85,14 @@ public class InvoiceScheduleDetailsOptions : INestedOptions [STJS.JsonPropertyName("proration_behavior")] #endif public string ProrationBehavior { get; set; } + + /// + /// Sets the billing schedules for the subscription schedule. + /// + [JsonProperty("billing_schedules")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billing_schedules")] +#endif + public List BillingSchedules { get; set; } } } 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/PaymentIntentAmountDetailsLineItemOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsLineItemOptions.cs index 89857f091f..1612a3f8f4 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsLineItemOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsLineItemOptions.cs @@ -9,7 +9,11 @@ namespace Stripe public class PaymentIntentAmountDetailsLineItemOptions : INestedOptions { /// - /// The amount an item was discounted for. Positive integer. + /// The discount applied on this line item represented in the smallest currency unit. An + /// integer greater than 0. + /// + /// This field is mutually exclusive with the amount_details[discount_amount] field. /// [JsonProperty("discount_amount")] #if NET6_0_OR_GREATER @@ -27,7 +31,8 @@ public class PaymentIntentAmountDetailsLineItemOptions : INestedOptions public PaymentIntentAmountDetailsLineItemPaymentMethodOptionsOptions PaymentMethodOptions { get; set; } /// - /// Unique identifier of the product. At most 12 characters long. + /// The product code of the line item, such as an SKU. Required for L3 rates. At most 12 + /// characters long. /// [JsonProperty("product_code")] #if NET6_0_OR_GREATER @@ -36,7 +41,10 @@ public class PaymentIntentAmountDetailsLineItemOptions : INestedOptions public string ProductCode { get; set; } /// - /// Name of the product. At most 100 characters long. + /// The product name of the line item. Required for L3 rates. At most 1024 characters long. + /// + /// For Cards, this field is truncated to 26 alphanumeric characters before being sent to + /// the card networks. For Paypal, this field is truncated to 127 characters. /// [JsonProperty("product_name")] #if NET6_0_OR_GREATER @@ -45,7 +53,7 @@ public class PaymentIntentAmountDetailsLineItemOptions : INestedOptions public string ProductName { get; set; } /// - /// Number of items of the product. Positive integer. + /// The quantity of items. Required for L3 rates. An integer greater than 0. /// [JsonProperty("quantity")] #if NET6_0_OR_GREATER @@ -63,7 +71,9 @@ public class PaymentIntentAmountDetailsLineItemOptions : INestedOptions public PaymentIntentAmountDetailsLineItemTaxOptions Tax { get; set; } /// - /// Cost of the product. Non-negative integer. + /// The unit cost of the line item represented in the smallest currency unit. + /// Required for L3 rates. An integer greater than or equal to 0. /// [JsonProperty("unit_cost")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsLineItemTaxOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsLineItemTaxOptions.cs index f90e2fa0a6..90a83a67ed 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsLineItemTaxOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsLineItemTaxOptions.cs @@ -9,7 +9,12 @@ namespace Stripe public class PaymentIntentAmountDetailsLineItemTaxOptions : INestedOptions { /// - /// The total tax on an item. Non-negative integer. + /// The total amount of tax on a single line item represented in the smallest currency unit. + /// Required for L3 rates. An integer greater than or equal to 0. + /// + /// This field is mutually exclusive with the amount_details[tax][total_tax_amount] + /// field. /// [JsonProperty("total_tax_amount")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsOptions.cs index 1a8f49ed81..60abaf463f 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsOptions.cs @@ -10,7 +10,12 @@ namespace Stripe public class PaymentIntentAmountDetailsOptions : INestedOptions { /// - /// The total discount applied on the transaction. + /// The total discount applied on the transaction represented in the smallest currency unit. An + /// integer greater than 0. + /// + /// This field is mutually exclusive with the + /// amount_details[line_items][#][discount_amount] field. /// [JsonProperty("discount_amount")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsShippingOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsShippingOptions.cs index 17a2e7ca20..b64e732b13 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsShippingOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsShippingOptions.cs @@ -9,7 +9,9 @@ namespace Stripe public class PaymentIntentAmountDetailsShippingOptions : INestedOptions { /// - /// Portion of the amount that is for shipping. + /// If a physical good is being shipped, the cost of shipping represented in the smallest currency unit. An + /// integer greater than or equal to 0. /// [JsonProperty("amount")] #if NET6_0_OR_GREATER @@ -18,7 +20,8 @@ public class PaymentIntentAmountDetailsShippingOptions : INestedOptions public long? Amount { get; set; } /// - /// The postal code that represents the shipping source. + /// If a physical good is being shipped, the postal code of where it is being shipped from. + /// At most 10 alphanumeric characters long, hyphens are allowed. /// [JsonProperty("from_postal_code")] #if NET6_0_OR_GREATER @@ -27,7 +30,8 @@ public class PaymentIntentAmountDetailsShippingOptions : INestedOptions public string FromPostalCode { get; set; } /// - /// The postal code that represents the shipping destination. + /// If a physical good is being shipped, the postal code of where it is being shipped to. At + /// most 10 alphanumeric characters long, hyphens are allowed. /// [JsonProperty("to_postal_code")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsTaxOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsTaxOptions.cs index 079c5fa582..267eb32b0c 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsTaxOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentAmountDetailsTaxOptions.cs @@ -9,7 +9,12 @@ namespace Stripe public class PaymentIntentAmountDetailsTaxOptions : INestedOptions { /// - /// Total portion of the amount that is for tax. + /// The total amount of tax on the transaction represented in the smallest currency unit. + /// Required for L2 rates. An integer greater than or equal to 0. + /// + /// This field is mutually exclusive with the + /// amount_details[line_items][#][tax][total_tax_amount] field. /// [JsonProperty("total_tax_amount")] #if NET6_0_OR_GREATER 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 1b30caa8e1..8d4bca357c 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; @@ -27,8 +28,19 @@ public class PaymentIntentPaymentDetailsOptions : INestedOptions public PaymentIntentPaymentDetailsCarRentalOptions CarRental { get; set; } /// - /// Some customers might be required by their company or organization to provide this - /// information. If so, provide this value. Otherwise you can ignore this field. + /// 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. + /// + /// This field is truncated to 25 alphanumeric characters, excluding spaces, before being + /// sent to card networks. /// [JsonProperty("customer_reference")] #if NET6_0_OR_GREATER @@ -54,6 +66,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. /// @@ -64,7 +85,25 @@ public class PaymentIntentPaymentDetailsOptions : INestedOptions public PaymentIntentPaymentDetailsLodgingOptions Lodging { get; set; } /// - /// A unique value assigned by the business to identify the transaction. + /// 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. + /// + /// Required when the Payment Method Types array contains card, including when automatic_payment_methods.enabled + /// is set to true. + /// + /// For Cards, this field is truncated to 25 alphanumeric characters, excluding spaces, + /// before being sent to card networks. For Klarna, this field is truncated to 255 + /// characters and is visible to customers when they view the order in the Klarna app. /// [JsonProperty("order_reference")] #if NET6_0_OR_GREATER 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/Radar/AccountEvaluations/AccountEvaluationCreateOptions.cs b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationCreateOptions.cs new file mode 100644 index 0000000000..7ab11629ba --- /dev/null +++ b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationCreateOptions.cs @@ -0,0 +1,39 @@ +// File generated from our OpenAPI spec +namespace Stripe.Radar +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountEvaluationCreateOptions : BaseOptions + { + /// + /// Event payload for login_initiated. + /// + [JsonProperty("login_initiated")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("login_initiated")] +#endif + public AccountEvaluationLoginInitiatedOptions LoginInitiated { get; set; } + + /// + /// Event payload for registration_initiated. + /// + [JsonProperty("registration_initiated")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("registration_initiated")] +#endif + public AccountEvaluationRegistrationInitiatedOptions RegistrationInitiated { get; set; } + + /// + /// The type of evaluation requested. + /// One of: login_initiated, or registration_initiated. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationGetOptions.cs b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationGetOptions.cs new file mode 100644 index 0000000000..c3adfeecb1 --- /dev/null +++ b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationGetOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.Radar +{ + public class AccountEvaluationGetOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationLoginInitiatedClientDeviceMetadataDetailsOptions.cs b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationLoginInitiatedClientDeviceMetadataDetailsOptions.cs new file mode 100644 index 0000000000..b271ec8b2f --- /dev/null +++ b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationLoginInitiatedClientDeviceMetadataDetailsOptions.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.Radar +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountEvaluationLoginInitiatedClientDeviceMetadataDetailsOptions : INestedOptions + { + /// + /// ID for the Radar Session associated with the account evaluation. + /// + [JsonProperty("radar_session")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("radar_session")] +#endif + public string RadarSession { get; set; } + } +} diff --git a/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationLoginInitiatedOptions.cs b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationLoginInitiatedOptions.cs new file mode 100644 index 0000000000..98dab16ae1 --- /dev/null +++ b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationLoginInitiatedOptions.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.Radar +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountEvaluationLoginInitiatedOptions : INestedOptions + { + /// + /// Client device metadata details (e.g., radar_session). + /// + [JsonProperty("client_device_metadata_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("client_device_metadata_details")] +#endif + public AccountEvaluationLoginInitiatedClientDeviceMetadataDetailsOptions ClientDeviceMetadataDetails { get; set; } + + /// + /// Stripe customer ID. + /// + [JsonProperty("customer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("customer")] +#endif + public string Customer { get; set; } + } +} diff --git a/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationRegistrationInitiatedClientDeviceMetadataDetailsOptions.cs b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationRegistrationInitiatedClientDeviceMetadataDetailsOptions.cs new file mode 100644 index 0000000000..ea61e87a79 --- /dev/null +++ b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationRegistrationInitiatedClientDeviceMetadataDetailsOptions.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.Radar +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountEvaluationRegistrationInitiatedClientDeviceMetadataDetailsOptions : INestedOptions + { + /// + /// ID for the Radar Session associated with the account evaluation. + /// + [JsonProperty("radar_session")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("radar_session")] +#endif + public string RadarSession { get; set; } + } +} diff --git a/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationRegistrationInitiatedCustomerDataOptions.cs b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationRegistrationInitiatedCustomerDataOptions.cs new file mode 100644 index 0000000000..fbb5b1f1ac --- /dev/null +++ b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationRegistrationInitiatedCustomerDataOptions.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.Radar +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountEvaluationRegistrationInitiatedCustomerDataOptions : INestedOptions + { + /// + /// Customer email. + /// + [JsonProperty("email")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("email")] +#endif + public string Email { get; set; } + + /// + /// Customer name. + /// + [JsonProperty("name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("name")] +#endif + public string Name { get; set; } + + /// + /// Customer phone. + /// + [JsonProperty("phone")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phone")] +#endif + public string Phone { get; set; } + } +} diff --git a/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationRegistrationInitiatedOptions.cs b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationRegistrationInitiatedOptions.cs new file mode 100644 index 0000000000..e5fc3ff1a3 --- /dev/null +++ b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationRegistrationInitiatedOptions.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.Radar +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountEvaluationRegistrationInitiatedOptions : INestedOptions + { + /// + /// Client device metadata details (e.g., radar_session). + /// + [JsonProperty("client_device_metadata_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("client_device_metadata_details")] +#endif + public AccountEvaluationRegistrationInitiatedClientDeviceMetadataDetailsOptions ClientDeviceMetadataDetails { get; set; } + + /// + /// Stripe customer ID. + /// + [JsonProperty("customer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("customer")] +#endif + public string Customer { get; set; } + + /// + /// Customer data. + /// + [JsonProperty("customer_data")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("customer_data")] +#endif + public AccountEvaluationRegistrationInitiatedCustomerDataOptions CustomerData { get; set; } + } +} diff --git a/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationService.cs b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationService.cs new file mode 100644 index 0000000000..cf464f88cd --- /dev/null +++ b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationService.cs @@ -0,0 +1,77 @@ +// File generated from our OpenAPI spec +namespace Stripe.Radar +{ + using System; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + public class AccountEvaluationService : Service, + ICreatable, + IRetrievable, + IUpdatable + { + public AccountEvaluationService() + { + } + + internal AccountEvaluationService(ApiRequestor requestor) + : base(requestor) + { + } + + public AccountEvaluationService(IStripeClient client) + : base(client) + { + } + + /// + ///

Creates a new AccountEvaluation object.

. + ///
+ public virtual AccountEvaluation Create(AccountEvaluationCreateOptions options, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v1/radar/account_evaluations", options, requestOptions); + } + + /// + ///

Creates a new AccountEvaluation object.

. + ///
+ public virtual Task CreateAsync(AccountEvaluationCreateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v1/radar/account_evaluations", options, requestOptions, cancellationToken); + } + + /// + ///

Retrieves an AccountEvaluation object.

. + ///
+ public virtual AccountEvaluation Get(string id, AccountEvaluationGetOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Get, $"/v1/radar/account_evaluations/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + ///

Retrieves an AccountEvaluation object.

. + ///
+ public virtual Task GetAsync(string id, AccountEvaluationGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Get, $"/v1/radar/account_evaluations/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + + /// + ///

Reports an event on an AccountEvaluation object.

. + ///
+ public virtual AccountEvaluation Update(string id, AccountEvaluationUpdateOptions options, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v1/radar/account_evaluations/{WebUtility.UrlEncode(id)}/report_event", options, requestOptions); + } + + /// + ///

Reports an event on an AccountEvaluation object.

. + ///
+ public virtual Task UpdateAsync(string id, AccountEvaluationUpdateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v1/radar/account_evaluations/{WebUtility.UrlEncode(id)}/report_event", options, requestOptions, cancellationToken); + } + } +} diff --git a/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationUpdateOptions.cs b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationUpdateOptions.cs new file mode 100644 index 0000000000..94344ba2a6 --- /dev/null +++ b/src/Stripe.net/Services/Radar/AccountEvaluations/AccountEvaluationUpdateOptions.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.Radar +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountEvaluationUpdateOptions : BaseOptions + { + /// + /// The type of event to report. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/RadarService.cs b/src/Stripe.net/Services/RadarService.cs index 29137bbf0e..a32e494a11 100644 --- a/src/Stripe.net/Services/RadarService.cs +++ b/src/Stripe.net/Services/RadarService.cs @@ -7,6 +7,7 @@ namespace Stripe public class RadarService : Service { + private Radar.AccountEvaluationService accountEvaluations; private Radar.EarlyFraudWarningService earlyFraudWarnings; private Radar.ValueListService valueLists; private Radar.ValueListItemService valueListItems; @@ -21,6 +22,9 @@ internal RadarService(IStripeClient client) { } + public virtual Radar.AccountEvaluationService AccountEvaluations => this.accountEvaluations ??= new Radar.AccountEvaluationService( + this.Requestor); + public virtual Radar.EarlyFraudWarningService EarlyFraudWarnings => this.earlyFraudWarnings ??= new Radar.EarlyFraudWarningService( this.Requestor); 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 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 SetupIntentPaymentMethodOptionsPaytoMandateOptionsOptions : INested 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 SetupIntentPaymentMethodOptionsPaytoMandateOptionsOptions : INested 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/SubscriptionSchedules/SubscriptionScheduleBillingScheduleAppliesToOptions.cs b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleBillingScheduleAppliesToOptions.cs new file mode 100644 index 0000000000..aa77a25e52 --- /dev/null +++ b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleBillingScheduleAppliesToOptions.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 SubscriptionScheduleBillingScheduleAppliesToOptions : INestedOptions + { + /// + /// The ID of the price object. + /// + [JsonProperty("price")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("price")] +#endif + public string Price { get; set; } + + /// + /// Controls which subscription items the billing schedule applies to. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntilDurationOptions.cs b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntilDurationOptions.cs new file mode 100644 index 0000000000..fd3fea88f7 --- /dev/null +++ b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntilDurationOptions.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 SubscriptionScheduleBillingScheduleBillUntilDurationOptions : INestedOptions + { + /// + /// Specifies billing duration. Either day, week, month or year. + /// One of: day, month, week, or year. + /// + [JsonProperty("interval")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("interval")] +#endif + public string Interval { get; set; } + + /// + /// The multiplier applied to the interval. + /// + [JsonProperty("interval_count")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("interval_count")] +#endif + public long? IntervalCount { get; set; } + } +} diff --git a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntilOptions.cs b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntilOptions.cs new file mode 100644 index 0000000000..e9c83d4b2e --- /dev/null +++ b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleBillingScheduleBillUntilOptions.cs @@ -0,0 +1,45 @@ +// 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 SubscriptionScheduleBillingScheduleBillUntilOptions : INestedOptions + { + /// + /// Specifies the billing period. + /// + [JsonProperty("duration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("duration")] +#endif + public SubscriptionScheduleBillingScheduleBillUntilDurationOptions Duration { get; set; } + + /// + /// The end date of the billing schedule. + /// + [JsonProperty("timestamp")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("timestamp")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime? Timestamp { get; set; } + + /// + /// Describes how the billing schedule will determine the end date. Either duration + /// or timestamp. + /// One of: amendment_end, duration, line_ends_at, schedule_end, + /// timestamp, or upcoming_invoice. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleBillingScheduleOptions.cs b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleBillingScheduleOptions.cs new file mode 100644 index 0000000000..8ba4a374a8 --- /dev/null +++ b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleBillingScheduleOptions.cs @@ -0,0 +1,40 @@ +// 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 SubscriptionScheduleBillingScheduleOptions : INestedOptions + { + /// + /// Configure billing schedule differently for individual subscription items. + /// + [JsonProperty("applies_to")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("applies_to")] +#endif + public List AppliesTo { get; set; } + + /// + /// The end date for the billing schedule. + /// + [JsonProperty("bill_until")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bill_until")] +#endif + public SubscriptionScheduleBillingScheduleBillUntilOptions BillUntil { get; set; } + + /// + /// Specify a key for the billing schedule. Must be unique to this field, alphanumeric, and + /// up to 200 characters. If not provided, a unique key will be generated. + /// + [JsonProperty("key")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("key")] +#endif + public string Key { get; set; } + } +} diff --git a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleCreateOptions.cs b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleCreateOptions.cs index 053011ae68..11506907ca 100644 --- a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleCreateOptions.cs +++ b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleCreateOptions.cs @@ -34,6 +34,15 @@ public class SubscriptionScheduleCreateOptions : BaseOptions, IHasMetadata #endif public SubscriptionScheduleBillingModeOptions BillingMode { get; set; } + /// + /// Sets the billing schedules for the subscription schedule. + /// + [JsonProperty("billing_schedules")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billing_schedules")] +#endif + public List BillingSchedules { get; set; } + /// /// The identifier of the customer to create the subscription schedule for. /// diff --git a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleDefaultSettingsOptions.cs b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleDefaultSettingsOptions.cs index 5f2fb642dc..98c0e16659 100644 --- a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleDefaultSettingsOptions.cs +++ b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleDefaultSettingsOptions.cs @@ -110,6 +110,21 @@ public class SubscriptionScheduleDefaultSettingsOptions : INestedOptions #endif public string OnBehalfOf { get; set; } + /// + /// Configures how the subscription schedule handles billing for phase transitions. Possible + /// values are phase_start (default) or billing_period_start. + /// phase_start bills based on the current state of the subscription, ignoring + /// changes scheduled in future phases. billing_period_start bills predictively for + /// upcoming phase transitions within the current billing cycle, including pricing changes + /// and service period adjustments that will occur before the next invoice. + /// One of: billing_period_start, or phase_start. + /// + [JsonProperty("phase_effective_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phase_effective_at")] +#endif + public string PhaseEffectiveAt { get; set; } + /// /// The data with which to automatically create a Transfer for each of the associated /// subscription's invoices. diff --git a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleUpdateOptions.cs b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleUpdateOptions.cs index e2fdc3b889..c06c8524e5 100644 --- a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleUpdateOptions.cs +++ b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleUpdateOptions.cs @@ -23,6 +23,15 @@ public class SubscriptionScheduleUpdateOptions : BaseOptions, IHasMetadata #endif public string BillingBehavior { get; set; } + /// + /// Sets the billing schedules for the subscription schedule. + /// + [JsonProperty("billing_schedules")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billing_schedules")] +#endif + public List BillingSchedules { get; set; } + /// /// Object representing the subscription schedule's default settings. /// diff --git a/src/Stripe.net/Services/Tax/Registrations/RegistrationCountryOptionsUsLocalAmusementTaxOptions.cs b/src/Stripe.net/Services/Tax/Registrations/RegistrationCountryOptionsUsLocalAmusementTaxOptions.cs index 8c29521f04..7f9f086e23 100644 --- a/src/Stripe.net/Services/Tax/Registrations/RegistrationCountryOptionsUsLocalAmusementTaxOptions.cs +++ b/src/Stripe.net/Services/Tax/Registrations/RegistrationCountryOptionsUsLocalAmusementTaxOptions.cs @@ -11,9 +11,9 @@ public class RegistrationCountryOptionsUsLocalAmusementTaxOptions : INestedOptio /// /// A FIPS code /// representing the local jurisdiction. Supported FIPS codes are: 14000 (Chicago), - /// 06613 (Bloomington), 21696 (East Dundee), 24582 (Evanston), - /// 45421 (Lynwood), 48892 (Midlothian), 64343 (River Grove), and - /// 68081 (Schiller Park). + /// 02154 (Arlington Heights), 06613 (Bloomington), 10906 (Campton + /// Hills), 21696 (East Dundee), 24582 (Evanston), 45421 (Lynwood), + /// 48892 (Midlothian), 64343 (River Grove), and 68081 (Schiller Park). /// [JsonProperty("jurisdiction")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationBbposWisepad3Options.cs b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationBbposWisepad3Options.cs index 20f06c6b68..7160cbe47c 100644 --- a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationBbposWisepad3Options.cs +++ b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationBbposWisepad3Options.cs @@ -9,7 +9,7 @@ namespace Stripe.Terminal public class ConfigurationBbposWisepad3Options : INestedOptions { /// - /// A File ID representing an image you would like displayed on the reader. + /// A File ID representing an image you want to display on the reader. /// [JsonProperty("splashscreen")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationCreateOptions.cs b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationCreateOptions.cs index 4940cc3322..b73ce14e13 100644 --- a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationCreateOptions.cs +++ b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationCreateOptions.cs @@ -54,7 +54,7 @@ public class ConfigurationCreateOptions : BaseOptions public ConfigurationReaderSecurityOptions ReaderSecurity { get; set; } /// - /// Reboot time settings for readers that support customized reboot time configuration. + /// Reboot time settings for readers. that support customized reboot time configuration. /// [JsonProperty("reboot_window")] #if NET6_0_OR_GREATER @@ -72,7 +72,7 @@ public class ConfigurationCreateOptions : BaseOptions public ConfigurationStripeS700Options StripeS700 { get; set; } /// - /// Tipping configurations for readers supporting on-reader tips. + /// Tipping configurations for readers. supporting on-reader tips. /// [JsonProperty("tipping")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationStripeS700Options.cs b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationStripeS700Options.cs index 1435d3c1fd..054f85b924 100644 --- a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationStripeS700Options.cs +++ b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationStripeS700Options.cs @@ -9,7 +9,7 @@ namespace Stripe.Terminal public class ConfigurationStripeS700Options : INestedOptions { /// - /// A File ID representing an image you would like displayed on the reader. + /// A File ID representing an image you want to display on the reader. /// [JsonProperty("splashscreen")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationUpdateOptions.cs b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationUpdateOptions.cs index 5e094d5e55..f24685e0da 100644 --- a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationUpdateOptions.cs +++ b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationUpdateOptions.cs @@ -54,7 +54,7 @@ public class ConfigurationUpdateOptions : BaseOptions public ConfigurationReaderSecurityOptions ReaderSecurity { get; set; } /// - /// Reboot time settings for readers that support customized reboot time configuration. + /// Reboot time settings for readers. that support customized reboot time configuration. /// [JsonProperty("reboot_window")] #if NET6_0_OR_GREATER @@ -72,7 +72,7 @@ public class ConfigurationUpdateOptions : BaseOptions public ConfigurationStripeS700Options StripeS700 { get; set; } /// - /// Tipping configurations for readers supporting on-reader tips. + /// Tipping configurations for readers. supporting on-reader tips. /// [JsonProperty("tipping")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationVerifoneP400Options.cs b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationVerifoneP400Options.cs index 4e9bb22b9f..4048cce8d4 100644 --- a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationVerifoneP400Options.cs +++ b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationVerifoneP400Options.cs @@ -9,7 +9,7 @@ namespace Stripe.Terminal public class ConfigurationVerifoneP400Options : INestedOptions { /// - /// A File ID representing an image you would like displayed on the reader. + /// A File ID representing an image you want to display on the reader. /// [JsonProperty("splashscreen")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataIdealOptions.cs b/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataIdealOptions.cs index b774cf9191..adcccbd3af 100644 --- a/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataIdealOptions.cs +++ b/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataIdealOptions.cs @@ -11,7 +11,7 @@ public class ConfirmationTokenPaymentMethodDataIdealOptions : 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/TestHelpers/Issuing/Authorizations/AuthorizationRiskAssessmentFraudRiskOptions.cs b/src/Stripe.net/Services/TestHelpers/Issuing/Authorizations/AuthorizationRiskAssessmentFraudRiskOptions.cs new file mode 100644 index 0000000000..550360984b --- /dev/null +++ b/src/Stripe.net/Services/TestHelpers/Issuing/Authorizations/AuthorizationRiskAssessmentFraudRiskOptions.cs @@ -0,0 +1,33 @@ +// File generated from our OpenAPI spec +namespace Stripe.TestHelpers.Issuing +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AuthorizationRiskAssessmentFraudRiskOptions : INestedOptions + { + /// + /// Stripe’s assessment of the likelihood of fraud on an authorization. + /// One of: elevated, highest, low, normal, not_assessed, + /// or unknown. + /// + [JsonProperty("level")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("level")] +#endif + public string Level { get; set; } + + /// + /// Stripe’s numerical model score assessing the likelihood of fraudulent activity. A higher + /// score means a higher likelihood of fraudulent activity, and anything above 25 is + /// considered high risk. + /// + [JsonProperty("score")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("score")] +#endif + public decimal? Score { get; set; } + } +} diff --git a/src/Stripe.net/Services/TestHelpers/Issuing/Authorizations/AuthorizationRiskAssessmentOptions.cs b/src/Stripe.net/Services/TestHelpers/Issuing/Authorizations/AuthorizationRiskAssessmentOptions.cs index c8cd01b975..93aa28a8d0 100644 --- a/src/Stripe.net/Services/TestHelpers/Issuing/Authorizations/AuthorizationRiskAssessmentOptions.cs +++ b/src/Stripe.net/Services/TestHelpers/Issuing/Authorizations/AuthorizationRiskAssessmentOptions.cs @@ -17,6 +17,15 @@ public class AuthorizationRiskAssessmentOptions : INestedOptions #endif public AuthorizationRiskAssessmentCardTestingRiskOptions CardTestingRisk { get; set; } + /// + /// Stripe’s assessment of this authorization’s likelihood to be fraudulent. + /// + [JsonProperty("fraud_risk")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fraud_risk")] +#endif + public AuthorizationRiskAssessmentFraudRiskOptions FraudRisk { get; set; } + /// /// The dispute risk of the merchant (the seller on a purchase) on an authorization based on /// all Stripe Issuing activity. diff --git a/src/Stripe.net/Services/Tokens/TokenAccountIndividualOptions.cs b/src/Stripe.net/Services/Tokens/TokenAccountIndividualOptions.cs index 47ee49d36f..98210ceecc 100644 --- a/src/Stripe.net/Services/Tokens/TokenAccountIndividualOptions.cs +++ b/src/Stripe.net/Services/Tokens/TokenAccountIndividualOptions.cs @@ -214,39 +214,39 @@ public class TokenAccountIndividualOptions : INestedOptions, IHasMetadata public TokenAccountIndividualRelationshipOptions Relationship { get; set; } /// - /// The last four digits of the individual's Social Security Number (U.S. only). + /// The credit applicant's self-reported yearly income in minor units. /// - [JsonProperty("ssn_last_4")] + [JsonProperty("self_reported_income")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("ssn_last_4")] + [STJS.JsonPropertyName("self_reported_income")] #endif - public string SsnLast4 { get; set; } + public TokenAccountIndividualSelfReportedIncomeOptions SelfReportedIncome { get; set; } /// - /// The individual's verification document information. + /// The credit applicant's self-reported monthly housing payment in minor units. /// - [JsonProperty("verification")] + [JsonProperty("self_reported_monthly_housing_payment")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("verification")] + [STJS.JsonPropertyName("self_reported_monthly_housing_payment")] #endif - public TokenAccountIndividualVerificationOptions Verification { get; set; } + public TokenAccountIndividualSelfReportedMonthlyHousingPaymentOptions SelfReportedMonthlyHousingPayment { get; set; } /// - /// The credit applicant's self-reported yearly income in minor units. + /// The last four digits of the individual's Social Security Number (U.S. only). /// - [JsonProperty("self_reported_income")] + [JsonProperty("ssn_last_4")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("self_reported_income")] + [STJS.JsonPropertyName("ssn_last_4")] #endif - public TokenAccountIndividualSelfReportedIncomeOptions SelfReportedIncome { get; set; } + public string SsnLast4 { get; set; } /// - /// The credit applicant's self-reported monthly housing payment in minor units. + /// The individual's verification document information. /// - [JsonProperty("self_reported_monthly_housing_payment")] + [JsonProperty("verification")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("self_reported_monthly_housing_payment")] + [STJS.JsonPropertyName("verification")] #endif - public TokenAccountIndividualSelfReportedMonthlyHousingPaymentOptions SelfReportedMonthlyHousingPayment { get; set; } + public TokenAccountIndividualVerificationOptions Verification { get; set; } } } diff --git a/src/Stripe.net/Services/Tokens/TokenPersonOptions.cs b/src/Stripe.net/Services/Tokens/TokenPersonOptions.cs index 5177617214..0c705be05f 100644 --- a/src/Stripe.net/Services/Tokens/TokenPersonOptions.cs +++ b/src/Stripe.net/Services/Tokens/TokenPersonOptions.cs @@ -242,6 +242,24 @@ public class TokenPersonOptions : INestedOptions, IHasMetadata #endif public TokenPersonRelationshipOptions Relationship { get; set; } + /// + /// The credit applicant's self-reported yearly income in minor units. + /// + [JsonProperty("self_reported_income")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("self_reported_income")] +#endif + public TokenPersonSelfReportedIncomeOptions SelfReportedIncome { get; set; } + + /// + /// The credit applicant's self-reported monthly housing payment in minor units. + /// + [JsonProperty("self_reported_monthly_housing_payment")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("self_reported_monthly_housing_payment")] +#endif + public TokenPersonSelfReportedMonthlyHousingPaymentOptions SelfReportedMonthlyHousingPayment { get; set; } + /// /// The last four digits of the person's Social Security number (U.S. only). /// @@ -268,23 +286,5 @@ public class TokenPersonOptions : INestedOptions, IHasMetadata [STJS.JsonPropertyName("verification")] #endif public TokenPersonVerificationOptions Verification { get; set; } - - /// - /// The credit applicant's self-reported yearly income in minor units. - /// - [JsonProperty("self_reported_income")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("self_reported_income")] -#endif - public TokenPersonSelfReportedIncomeOptions SelfReportedIncome { get; set; } - - /// - /// The credit applicant's self-reported monthly housing payment in minor units. - /// - [JsonProperty("self_reported_monthly_housing_payment")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("self_reported_monthly_housing_payment")] -#endif - public TokenPersonSelfReportedMonthlyHousingPaymentOptions SelfReportedMonthlyHousingPayment { get; set; } } } diff --git a/src/Stripe.net/Services/V1Services.cs b/src/Stripe.net/Services/V1Services.cs index b2f813f736..6b32573328 100644 --- a/src/Stripe.net/Services/V1Services.cs +++ b/src/Stripe.net/Services/V1Services.cs @@ -17,6 +17,7 @@ public class V1Services : Service private BalanceService balance; private BalanceSettingsService balanceSettings; private BalanceTransactionService balanceTransactions; + private BalanceTransferService balanceTransfers; private BankAccountService bankAccounts; private BillingService billing; private BillingPortalService billingPortal; @@ -129,6 +130,9 @@ internal V1Services(IStripeClient client) public virtual BalanceTransactionService BalanceTransactions => this.balanceTransactions ??= new BalanceTransactionService( this.Requestor); + public virtual BalanceTransferService BalanceTransfers => this.balanceTransfers ??= new BalanceTransferService( + this.Requestor); + public virtual BankAccountService BankAccounts => this.bankAccounts ??= new BankAccountService( this.Requestor); diff --git a/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointCreateOptions.cs b/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointCreateOptions.cs index c49bbec1e1..47c9bcd321 100644 --- a/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointCreateOptions.cs +++ b/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointCreateOptions.cs @@ -42,7 +42,7 @@ public class WebhookEndpointCreateOptions : BaseOptions, IHasMetadata /// 2025-01-27.acacia, 2025-02-24.acacia, 2025-03-01.dashboard, /// 2025-03-31.basil, 2025-04-30.basil, 2025-05-28.basil, /// 2025-06-30.basil, 2025-07-30.basil, 2025-08-27.basil, - /// 2025-09-30.clover, or 2025-10-29.clover. + /// 2025-09-30.clover, 2025-10-29.clover, or 2025-11-17.clover. /// [JsonProperty("api_version")] #if NET6_0_OR_GREATER @@ -82,6 +82,7 @@ public class WebhookEndpointCreateOptions : BaseOptions, IHasMetadata /// 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, @@ -116,6 +117,7 @@ public class WebhookEndpointCreateOptions : BaseOptions, IHasMetadata /// 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, @@ -124,6 +126,7 @@ public class WebhookEndpointCreateOptions : BaseOptions, IHasMetadata /// 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/Services/WebhookEndpoints/WebhookEndpointUpdateOptions.cs b/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointUpdateOptions.cs index f29aa5e089..62d7335c33 100644 --- a/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointUpdateOptions.cs +++ b/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointUpdateOptions.cs @@ -40,6 +40,7 @@ public class WebhookEndpointUpdateOptions : BaseOptions, IHasMetadata /// 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, @@ -74,6 +75,7 @@ public class WebhookEndpointUpdateOptions : BaseOptions, IHasMetadata /// 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, @@ -82,6 +84,7 @@ public class WebhookEndpointUpdateOptions : BaseOptions, IHasMetadata /// 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/StripeTests/Infrastructure/FormEncoding/ContentEncoderTest.cs b/src/StripeTests/Infrastructure/FormEncoding/ContentEncoderTest.cs index 2953e0eba0..a01697d566 100644 --- a/src/StripeTests/Infrastructure/FormEncoding/ContentEncoderTest.cs +++ b/src/StripeTests/Infrastructure/FormEncoding/ContentEncoderTest.cs @@ -194,7 +194,7 @@ public void CreateQueryString() { Array = new[] { "1", "2", "3" }, }, - Want = "array=1&array=2&array=3", + Want = "array[0]=1&array[1]=2&array[2]=3", Mode = ApiMode.V2, }, diff --git a/src/StripeTests/Services/GeneratedExamplesTest.cs b/src/StripeTests/Services/GeneratedExamplesTest.cs index 5028fd78ea..d9baddb4fb 100644 --- a/src/StripeTests/Services/GeneratedExamplesTest.cs +++ b/src/StripeTests/Services/GeneratedExamplesTest.cs @@ -6846,7 +6846,7 @@ public void TestV2BillingLicenseFeeGet() "/v2/billing/license_fees", (HttpStatusCode)200, "{\"data\":[{\"id\":\"obj_123\",\"object\":\"v2.billing.license_fee\",\"active\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"currency\":\"usd\",\"display_name\":\"display_name\",\"latest_version\":\"latest_version\",\"licensed_item\":{\"id\":\"obj_123\",\"object\":\"v2.billing.licensed_item\",\"created\":\"1970-01-12T21:42:34.472Z\",\"display_name\":\"display_name\",\"livemode\":true},\"live_version\":\"live_version\",\"livemode\":true,\"service_interval\":\"month\",\"service_interval_count\":1375336415,\"tax_behavior\":\"exclusive\",\"tiers\":[{}]}],\"next_page_url\":null,\"previous_page_url\":null}", - "lookup_keys=lookup_keys"); + "lookup_keys[0]=lookup_keys"); var options = new Stripe.V2.Billing.LicenseFeeListOptions { LookupKeys = new List { "lookup_keys" }, @@ -6858,7 +6858,7 @@ public void TestV2BillingLicenseFeeGet() this.AssertRequest( HttpMethod.Get, "/v2/billing/license_fees", - "lookup_keys=lookup_keys"); + "lookup_keys[0]=lookup_keys"); } [Fact] @@ -7481,7 +7481,7 @@ public void TestV2BillingProfileGet() "/v2/billing/profiles", (HttpStatusCode)200, "{\"data\":[{\"id\":\"obj_123\",\"object\":\"v2.billing.profile\",\"created\":\"1970-01-12T21:42:34.472Z\",\"livemode\":true,\"status\":\"active\"}],\"next_page_url\":null,\"previous_page_url\":null}", - "lookup_keys=lookup_keys"); + "lookup_keys[0]=lookup_keys"); var options = new Stripe.V2.Billing.ProfileListOptions { LookupKeys = new List { "lookup_keys" }, @@ -7493,7 +7493,7 @@ public void TestV2BillingProfileGet() this.AssertRequest( HttpMethod.Get, "/v2/billing/profiles", - "lookup_keys=lookup_keys"); + "lookup_keys[0]=lookup_keys"); } [Fact]