diff --git a/src/Stripe.net/Services/ExternalAccounts/ExternalAccountCardOptions.cs b/src/Stripe.net/Services/ExternalAccounts/ExternalAccountCardOptions.cs new file mode 100644 index 0000000000..b82c6fd9b7 --- /dev/null +++ b/src/Stripe.net/Services/ExternalAccounts/ExternalAccountCardOptions.cs @@ -0,0 +1,101 @@ +// 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 ExternalAccountCardOptions : INestedOptions, IHasMetadata, IHasObject + { + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } = "card"; + + [JsonProperty("address_city")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address_city")] +#endif + public string AddressCity { get; set; } + + [JsonProperty("address_country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address_country")] +#endif + public string AddressCountry { get; set; } + + [JsonProperty("address_line1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address_line1")] +#endif + public string AddressLine1 { get; set; } + + [JsonProperty("address_line2")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address_line2")] +#endif + public string AddressLine2 { get; set; } + + [JsonProperty("address_state")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address_state")] +#endif + public string AddressState { get; set; } + + [JsonProperty("address_zip")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address_zip")] +#endif + public string AddressZip { get; set; } + + [JsonProperty("currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("currency")] +#endif + public string Currency { get; set; } + + [JsonProperty("cvc")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cvc")] +#endif + public string Cvc { get; set; } + + [JsonProperty("exp_month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_month")] +#endif + public long? ExpMonth { get; set; } + + [JsonProperty("exp_year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_year")] +#endif + public long? ExpYear { get; set; } + + [JsonProperty("name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("name")] +#endif + public string Name { get; set; } + + [JsonProperty("number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("number")] +#endif + public string Number { 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; } + } +} diff --git a/src/Stripe.net/Services/ExternalAccounts/ExternalAccountCardTokenOptions.cs b/src/Stripe.net/Services/ExternalAccounts/ExternalAccountCardTokenOptions.cs new file mode 100644 index 0000000000..dd13f17a14 --- /dev/null +++ b/src/Stripe.net/Services/ExternalAccounts/ExternalAccountCardTokenOptions.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 ExternalAccountCardTokenOptions : INestedOptions, IHasObject + { + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } = "card"; + + [JsonProperty("currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("currency")] +#endif + public string Currency { get; set; } + + [JsonProperty("token")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("token")] +#endif + public string Token { get; set; } + } +} diff --git a/src/Stripe.net/Services/ExternalAccounts/ExternalAccountCreateOptions.cs b/src/Stripe.net/Services/ExternalAccounts/ExternalAccountCreateOptions.cs index e3a14a0f1e..81c34a6691 100644 --- a/src/Stripe.net/Services/ExternalAccounts/ExternalAccountCreateOptions.cs +++ b/src/Stripe.net/Services/ExternalAccounts/ExternalAccountCreateOptions.cs @@ -3,6 +3,7 @@ namespace Stripe { using System.Collections.Generic; using Newtonsoft.Json; + using Stripe.Infrastructure; #if NET6_0_OR_GREATER using STJS = System.Text.Json.Serialization; #endif @@ -25,10 +26,12 @@ public class ExternalAccountCreateOptions : BaseOptions, IHasMetadata /// external account details (with the options shown below). /// [JsonProperty("external_account")] + [JsonConverter(typeof(AnyOfConverter))] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("external_account")] + [STJS.JsonConverter(typeof(STJAnyOfConverter))] #endif - public string ExternalAccount { get; set; } + public AnyOf ExternalAccount { get; set; } /// /// Set of key-value pairs that you can