diff --git a/src/Stripe.net/Constants/Events.cs b/src/Stripe.net/Constants/Events.cs index 3f78fb455e..deca4450c6 100644 --- a/src/Stripe.net/Constants/Events.cs +++ b/src/Stripe.net/Constants/Events.cs @@ -502,21 +502,6 @@ public static class Events /// public const string OrderPaymentFailed = "order.payment_failed"; - /// - /// Occurs whenever payment is attempted on an order, and the payment succeeds. - /// - public const string OrderPaymentSucceeded = "order.payment_succeeded"; - - /// - /// Occurs whenever an order is updated. - /// - public const string OrderUpdated = "order.updated"; - - /// - /// Occurs whenever an order return is created. - /// - public const string OrderReturnCreated = "order_return.created"; - /// /// Occurs whenever a payment is created. /// diff --git a/src/Stripe.net/Constants/FilePurpose.cs b/src/Stripe.net/Constants/FilePurpose.cs index 1de903f705..6f0b0c6d47 100644 --- a/src/Stripe.net/Constants/FilePurpose.cs +++ b/src/Stripe.net/Constants/FilePurpose.cs @@ -23,16 +23,8 @@ public static class FilePurpose public const string IdentityDocumentDownloadable = "identity_document_downloadable"; - public const string IncorporationArticle = "incorporation_article"; - - public const string IncorporationDocument = "incorporation_document"; - - public const string PaymentProviderTransfer = "payment_provider_transfer"; - public const string PciDocument = "pci_document"; - public const string ProductFeed = "product_feed"; - public const string Selfie = "selfie"; public const string SigmaScheduledQuery = "sigma_scheduled_query"; diff --git a/src/Stripe.net/Entities/Balance/Balance.cs b/src/Stripe.net/Entities/Balance/Balance.cs index 72e971374a..0fa9adde0a 100644 --- a/src/Stripe.net/Entities/Balance/Balance.cs +++ b/src/Stripe.net/Entities/Balance/Balance.cs @@ -50,7 +50,7 @@ public class Balance : StripeEntity, IHasObject public List InstantAvailable { get; set; } [JsonProperty("issuing")] - public BalanceDetails Issuing { get; set; } + public BalanceIssuing Issuing { get; set; } /// /// Has the value true if the object exists in live mode or the value false if diff --git a/src/Stripe.net/Entities/Balance/BalanceDetails.cs b/src/Stripe.net/Entities/Balance/BalanceIssuing.cs similarity index 50% rename from src/Stripe.net/Entities/Balance/BalanceDetails.cs rename to src/Stripe.net/Entities/Balance/BalanceIssuing.cs index d4f5ca3128..2a7c2413cf 100644 --- a/src/Stripe.net/Entities/Balance/BalanceDetails.cs +++ b/src/Stripe.net/Entities/Balance/BalanceIssuing.cs @@ -1,10 +1,14 @@ +// File generated from our OpenAPI spec namespace Stripe { using System.Collections.Generic; using Newtonsoft.Json; - public class BalanceDetails : StripeEntity + public class BalanceIssuing : StripeEntity { + /// + /// Funds that are available for use. + /// [JsonProperty("available")] public List Available { get; set; } } diff --git a/src/Stripe.net/Entities/BillingPortal/Configurations/Configuration.cs b/src/Stripe.net/Entities/BillingPortal/Configurations/Configuration.cs index 2d61f59265..42232071ef 100644 --- a/src/Stripe.net/Entities/BillingPortal/Configurations/Configuration.cs +++ b/src/Stripe.net/Entities/BillingPortal/Configurations/Configuration.cs @@ -29,11 +29,36 @@ public class Configuration : StripeEntity, IHasId, IHasMetadata, [JsonProperty("active")] public bool Active { get; set; } + #region Expandable Application + + /// + /// (ID of the Application) + /// ID of the Connect Application that created the configuration. + /// + [JsonIgnore] + public string ApplicationId + { + get => this.InternalApplication?.Id; + set => this.InternalApplication = SetExpandableFieldId(value, this.InternalApplication); + } + /// + /// (Expanded) /// ID of the Connect Application that created the configuration. + /// + /// For more information, see the expand documentation. /// + [JsonIgnore] + public Application Application + { + get => this.InternalApplication?.ExpandedObject; + set => this.InternalApplication = SetExpandableFieldObject(value, this.InternalApplication); + } + [JsonProperty("application")] - public string Application { get; set; } + [JsonConverter(typeof(ExpandableFieldConverter))] + internal ExpandableField InternalApplication { get; set; } + #endregion [JsonProperty("business_profile")] public ConfigurationBusinessProfile BusinessProfile { get; set; } diff --git a/src/Stripe.net/Entities/Charges/Charge.cs b/src/Stripe.net/Entities/Charges/Charge.cs index e8238b9604..fef8937e34 100644 --- a/src/Stripe.net/Entities/Charges/Charge.cs +++ b/src/Stripe.net/Entities/Charges/Charge.cs @@ -444,27 +444,6 @@ public Account OnBehalfOf internal ExpandableField InternalOnBehalfOf { get; set; } #endregion - #region Expandable Order - - [JsonIgnore] - public string OrderId - { - get => this.InternalOrder?.Id; - set => this.InternalOrder = SetExpandableFieldId(value, this.InternalOrder); - } - - [JsonIgnore] - public Order Order - { - get => this.InternalOrder?.ExpandedObject; - set => this.InternalOrder = SetExpandableFieldObject(value, this.InternalOrder); - } - - [JsonProperty("order")] - [JsonConverter(typeof(ExpandableFieldConverter))] - internal ExpandableField InternalOrder { get; set; } - #endregion - /// /// Details about whether the payment was accepted, and why. See understanding declines for details. diff --git a/src/Stripe.net/Entities/Customers/Customer.cs b/src/Stripe.net/Entities/Customers/Customer.cs index 0dda9df213..f186ecd2b6 100644 --- a/src/Stripe.net/Entities/Customers/Customer.cs +++ b/src/Stripe.net/Entities/Customers/Customer.cs @@ -112,12 +112,6 @@ public IPaymentSource DefaultSource internal ExpandableField InternalDefaultSource { get; set; } #endregion - /// - /// Warning: this is not in the documentation. - /// - [JsonProperty("default_source_type")] - public string DefaultSourceType { get; set; } - /// /// Whether this object is deleted or not. /// @@ -135,7 +129,7 @@ public IPaymentSource DefaultSource /// delinquent doesn't get reset to false. /// [JsonProperty("delinquent")] - public bool Delinquent { get; set; } + public bool? Delinquent { get; set; } /// /// An arbitrary string attached to the object. Often useful for displaying to users. diff --git a/src/Stripe.net/Entities/Disputes/Dispute.cs b/src/Stripe.net/Entities/Disputes/Dispute.cs index ef8062ceca..4a3ce651a2 100644 --- a/src/Stripe.net/Entities/Disputes/Dispute.cs +++ b/src/Stripe.net/Entities/Disputes/Dispute.cs @@ -33,7 +33,7 @@ public class Dispute : StripeEntity, IHasId, IHasMetadata, IHasObject, /// currency fluctuation or because only part of the order is disputed). /// [JsonProperty("amount")] - public long? Amount { get; set; } + public long Amount { get; set; } /// /// List of zero, one, or two balance transactions that show funds withdrawn and reinstated diff --git a/src/Stripe.net/Entities/EphemeralKeys/EphemeralKey.cs b/src/Stripe.net/Entities/EphemeralKeys/EphemeralKey.cs index 54e005345f..0b85412b1f 100644 --- a/src/Stripe.net/Entities/EphemeralKeys/EphemeralKey.cs +++ b/src/Stripe.net/Entities/EphemeralKeys/EphemeralKey.cs @@ -2,7 +2,6 @@ namespace Stripe { using System; - using System.Collections.Generic; using Newtonsoft.Json; using Stripe.Infrastructure; @@ -20,9 +19,6 @@ public class EphemeralKey : StripeEntity, IHasId, IHasObject [JsonProperty("object")] public string Object { get; set; } - [JsonProperty("associated_objects")] - public List AssociatedObjects { get; set; } - /// /// Time at which the object was created. Measured in seconds since the Unix epoch. /// diff --git a/src/Stripe.net/Entities/EphemeralKeys/EphemeralkeyAssociatedObject.cs b/src/Stripe.net/Entities/EphemeralKeys/EphemeralkeyAssociatedObject.cs deleted file mode 100644 index 29873b4e5c..0000000000 --- a/src/Stripe.net/Entities/EphemeralKeys/EphemeralkeyAssociatedObject.cs +++ /dev/null @@ -1,14 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class EphemeralKeyAssociatedObject : StripeEntity, IHasId - { - [JsonProperty("id")] - public string Id { get; set; } - - [JsonProperty("type")] - public string Type { get; set; } - } -} diff --git a/src/Stripe.net/Entities/InvoiceItems/InvoiceItemPeriod.cs b/src/Stripe.net/Entities/InvoiceItems/InvoiceItemPeriod.cs index 7d1d3fa552..8bedd811a8 100644 --- a/src/Stripe.net/Entities/InvoiceItems/InvoiceItemPeriod.cs +++ b/src/Stripe.net/Entities/InvoiceItems/InvoiceItemPeriod.cs @@ -1,7 +1,9 @@ // File generated from our OpenAPI spec namespace Stripe { + using System; using Newtonsoft.Json; + using Stripe.Infrastructure; public class InvoiceItemPeriod : StripeEntity { @@ -9,12 +11,14 @@ public class InvoiceItemPeriod : StripeEntity /// The end of the period, which must be greater than or equal to the start. /// [JsonProperty("end")] - public long End { get; set; } + [JsonConverter(typeof(UnixDateTimeConverter))] + public DateTime End { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; /// /// The start of the period. /// [JsonProperty("start")] - public long Start { get; set; } + [JsonConverter(typeof(UnixDateTimeConverter))] + public DateTime Start { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; } } diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemPeriod.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemPeriod.cs index e7c4dd25f6..baec3e68d9 100644 --- a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemPeriod.cs +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemPeriod.cs @@ -1,7 +1,9 @@ // File generated from our OpenAPI spec namespace Stripe { + using System; using Newtonsoft.Json; + using Stripe.Infrastructure; public class InvoiceLineItemPeriod : StripeEntity { @@ -9,12 +11,14 @@ public class InvoiceLineItemPeriod : StripeEntity /// The end of the period, which must be greater than or equal to the start. /// [JsonProperty("end")] - public long End { get; set; } + [JsonConverter(typeof(UnixDateTimeConverter))] + public DateTime End { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; /// /// The start of the period. /// [JsonProperty("start")] - public long Start { get; set; } + [JsonConverter(typeof(UnixDateTimeConverter))] + public DateTime Start { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; } } diff --git a/src/Stripe.net/Entities/LineItems/LineItem.cs b/src/Stripe.net/Entities/LineItems/LineItem.cs index 7e6a3deffe..ba33c3dd94 100644 --- a/src/Stripe.net/Entities/LineItems/LineItem.cs +++ b/src/Stripe.net/Entities/LineItems/LineItem.cs @@ -32,7 +32,7 @@ public class LineItem : StripeEntity, IHasId, IHasObject /// Total before any discounts or taxes are applied. /// [JsonProperty("amount_subtotal")] - public long? AmountSubtotal { get; set; } + public long AmountSubtotal { get; set; } /// /// Total tax amount applied. If no tax was applied, defaults to 0. @@ -44,7 +44,7 @@ public class LineItem : StripeEntity, IHasId, IHasObject /// Total after discounts and taxes. /// [JsonProperty("amount_total")] - public long? AmountTotal { get; set; } + public long AmountTotal { get; set; } /// /// Three-letter ISO currency diff --git a/src/Stripe.net/Entities/OrderReturns/OrderReturn.cs b/src/Stripe.net/Entities/OrderReturns/OrderReturn.cs deleted file mode 100644 index 82f14a8fdb..0000000000 --- a/src/Stripe.net/Entities/OrderReturns/OrderReturn.cs +++ /dev/null @@ -1,129 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System; - using System.Collections.Generic; - using Newtonsoft.Json; - using Stripe.Infrastructure; - - /// - /// A return represents the full or partial return of a number of order items. Returns always belong to - /// an order, and may optionally contain a refund. - /// - /// Related guide: Handling - /// Returns. - /// - public class OrderReturn : StripeEntity, IHasId, IHasObject - { - /// - /// Unique identifier for the object. - /// - [JsonProperty("id")] - public string Id { get; set; } - - /// - /// String representing the object's type. Objects of the same type share the same value. - /// - [JsonProperty("object")] - public string Object { get; set; } - - /// - /// A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for - /// ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the - /// returned line item. - /// - [JsonProperty("amount")] - public long Amount { get; set; } - - /// - /// Time at which the object was created. Measured in seconds since the Unix epoch. - /// - [JsonProperty("created")] - [JsonConverter(typeof(UnixDateTimeConverter))] - public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; - - /// - /// Three-letter ISO currency - /// code, in lowercase. Must be a supported - /// currency. - /// - [JsonProperty("currency")] - public string Currency { get; set; } - - /// - /// The items included in this order return. - /// - [JsonProperty("items")] - public List Items { 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")] - public bool Livemode { get; set; } - - #region Expandable Order - - /// - /// (ID of the Order) - /// The order that this return includes items from. - /// - [JsonIgnore] - public string OrderId - { - get => this.InternalOrder?.Id; - set => this.InternalOrder = SetExpandableFieldId(value, this.InternalOrder); - } - - /// - /// (Expanded) - /// The order that this return includes items from. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] - public Order Order - { - get => this.InternalOrder?.ExpandedObject; - set => this.InternalOrder = SetExpandableFieldObject(value, this.InternalOrder); - } - - [JsonProperty("order")] - [JsonConverter(typeof(ExpandableFieldConverter))] - internal ExpandableField InternalOrder { get; set; } - #endregion - - #region Expandable Refund - - /// - /// (ID of the Refund) - /// The ID of the refund issued for this return. - /// - [JsonIgnore] - public string RefundId - { - get => this.InternalRefund?.Id; - set => this.InternalRefund = SetExpandableFieldId(value, this.InternalRefund); - } - - /// - /// (Expanded) - /// The ID of the refund issued for this return. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] - public Refund Refund - { - get => this.InternalRefund?.ExpandedObject; - set => this.InternalRefund = SetExpandableFieldObject(value, this.InternalRefund); - } - - [JsonProperty("refund")] - [JsonConverter(typeof(ExpandableFieldConverter))] - internal ExpandableField InternalRefund { get; set; } - #endregion - } -} diff --git a/src/Stripe.net/Entities/Orders/Order.cs b/src/Stripe.net/Entities/Orders/Order.cs deleted file mode 100644 index 874a82d380..0000000000 --- a/src/Stripe.net/Entities/Orders/Order.cs +++ /dev/null @@ -1,229 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System; - using System.Collections.Generic; - using Newtonsoft.Json; - using Stripe.Infrastructure; - - /// - /// Order objects are created to handle end customers' purchases of previously defined products. You can create, retrieve, and - /// pay individual orders, as well as list all orders. Orders are identified by a unique, - /// random ID. - /// - /// Related guide: Tax, Shipping, and - /// Inventory. - /// - public class Order : StripeEntity, IHasId, IHasMetadata, IHasObject - { - /// - /// Unique identifier for the object. - /// - [JsonProperty("id")] - public string Id { get; set; } - - /// - /// String representing the object's type. Objects of the same type share the same value. - /// - [JsonProperty("object")] - public string Object { get; set; } - - /// - /// A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for - /// ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the - /// order. - /// - [JsonProperty("amount")] - public long Amount { get; set; } - - /// - /// The total amount that was returned to the customer. - /// - [JsonProperty("amount_returned")] - public long? AmountReturned { get; set; } - - /// - /// ID of the Connect Application that created the order. - /// - [JsonProperty("application")] - public string Application { get; set; } - - /// - /// A fee in cents that will be applied to the order and transferred to the application - /// owner’s Stripe account. The request must be made with an OAuth key or the Stripe-Account - /// header in order to take an application fee. For more information, see the application - /// fees documentation. - /// - [JsonProperty("application_fee")] - public long? ApplicationFee { get; set; } - - #region Expandable Charge - - /// - /// (ID of the Charge) - /// The ID of the payment used to pay for the order. Present if the order status is - /// paid, fulfilled, or refunded. - /// - [JsonIgnore] - public string ChargeId - { - get => this.InternalCharge?.Id; - set => this.InternalCharge = SetExpandableFieldId(value, this.InternalCharge); - } - - /// - /// (Expanded) - /// The ID of the payment used to pay for the order. Present if the order status is - /// paid, fulfilled, or refunded. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] - public Charge Charge - { - get => this.InternalCharge?.ExpandedObject; - set => this.InternalCharge = SetExpandableFieldObject(value, this.InternalCharge); - } - - [JsonProperty("charge")] - [JsonConverter(typeof(ExpandableFieldConverter))] - internal ExpandableField InternalCharge { get; set; } - #endregion - - /// - /// Time at which the object was created. Measured in seconds since the Unix epoch. - /// - [JsonProperty("created")] - [JsonConverter(typeof(UnixDateTimeConverter))] - public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; - - /// - /// Three-letter ISO currency - /// code, in lowercase. Must be a supported - /// currency. - /// - [JsonProperty("currency")] - public string Currency { get; set; } - - #region Expandable Customer - - /// - /// (ID of the Customer) - /// The customer used for the order. - /// - [JsonIgnore] - public string CustomerId - { - get => this.InternalCustomer?.Id; - set => this.InternalCustomer = SetExpandableFieldId(value, this.InternalCustomer); - } - - /// - /// (Expanded) - /// The customer used for the order. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] - public Customer Customer - { - get => this.InternalCustomer?.ExpandedObject; - set => this.InternalCustomer = SetExpandableFieldObject(value, this.InternalCustomer); - } - - [JsonProperty("customer")] - [JsonConverter(typeof(ExpandableFieldConverter))] - internal ExpandableField InternalCustomer { get; set; } - #endregion - - /// - /// The email address of the customer placing the order. - /// - [JsonProperty("email")] - public string Email { get; set; } - - /// - /// External coupon code to load for this order. - /// - [JsonProperty("external_coupon_code")] - public string ExternalCouponCode { get; set; } - - /// - /// List of items constituting the order. An order can have up to 25 items. - /// - [JsonProperty("items")] - public List Items { 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")] - 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")] - public Dictionary Metadata { get; set; } - - /// - /// A list of returns that have taken place for this order. - /// - [JsonProperty("returns")] - public StripeList Returns { get; set; } - - /// - /// The shipping method that is currently selected for this order, if any. If present, it is - /// equal to one of the ids of shipping methods in the shipping_methods array. - /// At order creation time, if there are multiple shipping methods, Stripe will - /// automatically selected the first method. - /// - [JsonProperty("selected_shipping_method")] - public string SelectedShippingMethod { get; set; } - - /// - /// The shipping address for the order. Present if the order is for goods to be shipped. - /// - [JsonProperty("shipping")] - public Shipping Shipping { get; set; } - - /// - /// A list of supported shipping methods for this order. The desired shipping method can be - /// specified either by updating the order, or when paying it. - /// - [JsonProperty("shipping_methods")] - public List ShippingMethods { get; set; } - - /// - /// Current order status. One of created, paid, canceled, - /// fulfilled, or returned. More details in the Orders - /// Guide. - /// - [JsonProperty("status")] - public string Status { get; set; } - - /// - /// The timestamps at which the order status was updated. - /// - [JsonProperty("status_transitions")] - public OrderStatusTransitions StatusTransitions { get; set; } - - /// - /// Time at which the object was last updated. Measured in seconds since the Unix epoch. - /// - [JsonProperty("updated")] - [JsonConverter(typeof(UnixDateTimeConverter))] - public DateTime Updated { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; - - /// - /// The user's order ID if it is different from the Stripe order ID. - /// - [JsonProperty("upstream_id")] - public string UpstreamId { get; set; } - } -} diff --git a/src/Stripe.net/Entities/Orders/OrderItem.cs b/src/Stripe.net/Entities/Orders/OrderItem.cs deleted file mode 100644 index dee52e4edb..0000000000 --- a/src/Stripe.net/Entities/Orders/OrderItem.cs +++ /dev/null @@ -1,47 +0,0 @@ -namespace Stripe -{ - using Newtonsoft.Json; - using Stripe.Infrastructure; - - public class OrderItem : StripeEntity, IHasObject - { - [JsonProperty("object")] - public string Object { get; set; } - - [JsonProperty("amount")] - public long Amount { get; set; } - - [JsonProperty("currency")] - public string Currency { get; set; } - - [JsonProperty("description")] - public string Description { get; set; } - - #region Expandable Parent - - [JsonIgnore] - public string ParentId - { - get => this.InternalParent?.Id; - set => this.InternalParent = SetExpandableFieldId(value, this.InternalParent); - } - - [JsonIgnore] - public Sku Parent - { - get => this.InternalParent?.ExpandedObject; - set => this.InternalParent = SetExpandableFieldObject(value, this.InternalParent); - } - - [JsonProperty("parent")] - [JsonConverter(typeof(ExpandableFieldConverter))] - internal ExpandableField InternalParent { get; set; } - #endregion - - [JsonProperty("quantity")] - public long? Quantity { get; set; } - - [JsonProperty("type")] - public string Type { get; set; } - } -} diff --git a/src/Stripe.net/Entities/Orders/OrderShippingMethod.cs b/src/Stripe.net/Entities/Orders/OrderShippingMethod.cs deleted file mode 100644 index e5bc58fa34..0000000000 --- a/src/Stripe.net/Entities/Orders/OrderShippingMethod.cs +++ /dev/null @@ -1,43 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class OrderShippingMethod : StripeEntity, IHasId - { - /// - /// A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for - /// ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the - /// line item. - /// - [JsonProperty("amount")] - public long Amount { get; set; } - - /// - /// Three-letter ISO currency - /// code, in lowercase. Must be a supported - /// currency. - /// - [JsonProperty("currency")] - public string Currency { get; set; } - - /// - /// The estimated delivery date for the given shipping method. Can be either a specific date - /// or a range. - /// - [JsonProperty("delivery_estimate")] - public OrderShippingMethodDeliveryEstimate DeliveryEstimate { get; set; } - - /// - /// An arbitrary string attached to the object. Often useful for displaying to users. - /// - [JsonProperty("description")] - public string Description { get; set; } - - /// - /// Unique identifier for the object. - /// - [JsonProperty("id")] - public string Id { get; set; } - } -} diff --git a/src/Stripe.net/Entities/Orders/OrderShippingMethodDeliveryEstimate.cs b/src/Stripe.net/Entities/Orders/OrderShippingMethodDeliveryEstimate.cs deleted file mode 100644 index 9b6385b933..0000000000 --- a/src/Stripe.net/Entities/Orders/OrderShippingMethodDeliveryEstimate.cs +++ /dev/null @@ -1,35 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class OrderShippingMethodDeliveryEstimate : StripeEntity - { - /// - /// If type is "exact", date will be the expected delivery date in the - /// format YYYY-MM-DD. - /// - [JsonProperty("date")] - public string Date { get; set; } - - /// - /// If type is "range", earliest will be be the earliest delivery date - /// in the format YYYY-MM-DD. - /// - [JsonProperty("earliest")] - public string Earliest { get; set; } - - /// - /// If type is "range", latest will be the latest delivery date in the - /// format YYYY-MM-DD. - /// - [JsonProperty("latest")] - public string Latest { get; set; } - - /// - /// The type of estimate. Must be either "range" or "exact". - /// - [JsonProperty("type")] - public string Type { get; set; } - } -} diff --git a/src/Stripe.net/Entities/Orders/OrderStatusTransitions.cs b/src/Stripe.net/Entities/Orders/OrderStatusTransitions.cs deleted file mode 100644 index c77f05b752..0000000000 --- a/src/Stripe.net/Entities/Orders/OrderStatusTransitions.cs +++ /dev/null @@ -1,38 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System; - using Newtonsoft.Json; - using Stripe.Infrastructure; - - public class OrderStatusTransitions : StripeEntity - { - /// - /// The time that the order was canceled. - /// - [JsonProperty("canceled")] - [JsonConverter(typeof(UnixDateTimeConverter))] - public DateTime? Canceled { get; set; } - - /// - /// The time that the order was fulfilled. - /// - [JsonProperty("fulfiled")] - [JsonConverter(typeof(UnixDateTimeConverter))] - public DateTime? Fulfiled { get; set; } - - /// - /// The time that the order was paid. - /// - [JsonProperty("paid")] - [JsonConverter(typeof(UnixDateTimeConverter))] - public DateTime? Paid { get; set; } - - /// - /// The time that the order was returned. - /// - [JsonProperty("returned")] - [JsonConverter(typeof(UnixDateTimeConverter))] - public DateTime? Returned { get; set; } - } -} diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentAmountDetailsTip.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentAmountDetailsTip.cs index b5c3724fec..42ea7831c1 100644 --- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentAmountDetailsTip.cs +++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentAmountDetailsTip.cs @@ -9,6 +9,6 @@ public class PaymentIntentAmountDetailsTip : StripeEntity [JsonProperty("amount")] - public long? Amount { get; set; } + public long Amount { get; set; } } } diff --git a/src/Stripe.net/Entities/Persons/PersonRelationship.cs b/src/Stripe.net/Entities/Persons/PersonRelationship.cs index 1639b1fc23..64632f21bf 100644 --- a/src/Stripe.net/Entities/Persons/PersonRelationship.cs +++ b/src/Stripe.net/Entities/Persons/PersonRelationship.cs @@ -11,20 +11,20 @@ public class PersonRelationship : StripeEntity /// meets its regulatory obligations. /// [JsonProperty("director")] - public bool Director { get; set; } + public bool? Director { get; set; } /// /// Whether the person has significant responsibility to control, manage, or direct the /// organization. /// [JsonProperty("executive")] - public bool Executive { get; set; } + public bool? Executive { get; set; } /// /// Whether the person is an owner of the account’s legal entity. /// [JsonProperty("owner")] - public bool Owner { get; set; } + public bool? Owner { get; set; } /// /// The percent owned by the person of the account's legal entity. @@ -40,7 +40,7 @@ public class PersonRelationship : StripeEntity /// responsible for opening the account. /// [JsonProperty("representative")] - public bool Representative { get; set; } + public bool? Representative { get; set; } /// /// The person's title (e.g., CEO, Support Engineer). diff --git a/src/Stripe.net/Entities/Sources/SourceAchCreditTransfer.cs b/src/Stripe.net/Entities/Sources/SourceAchCreditTransfer.cs index 645eb79c1f..e7ad400418 100644 --- a/src/Stripe.net/Entities/Sources/SourceAchCreditTransfer.cs +++ b/src/Stripe.net/Entities/Sources/SourceAchCreditTransfer.cs @@ -14,6 +14,15 @@ public class SourceAchCreditTransfer : StripeEntity [JsonProperty("fingerprint")] public string Fingerprint { get; set; } + [JsonProperty("refund_account_holder_name")] + public string RefundAccountHolderName { get; set; } + + [JsonProperty("refund_account_holder_type")] + public string RefundAccountHolderType { get; set; } + + [JsonProperty("refund_routing_number")] + public string RefundRoutingNumber { get; set; } + [JsonProperty("routing_number")] public string RoutingNumber { get; set; } diff --git a/src/Stripe.net/Entities/Sources/SourceAlipay.cs b/src/Stripe.net/Entities/Sources/SourceAlipay.cs index 9c29cb0ba9..9180ba6794 100644 --- a/src/Stripe.net/Entities/Sources/SourceAlipay.cs +++ b/src/Stripe.net/Entities/Sources/SourceAlipay.cs @@ -1,7 +1,17 @@ // File generated from our OpenAPI spec namespace Stripe { + using Newtonsoft.Json; + public class SourceAlipay : StripeEntity { + [JsonProperty("data_string")] + public string DataString { get; set; } + + [JsonProperty("native_url")] + public string NativeUrl { get; set; } + + [JsonProperty("statement_descriptor")] + public string StatementDescriptor { get; set; } } } diff --git a/src/Stripe.net/Entities/Sources/SourceBancontact.cs b/src/Stripe.net/Entities/Sources/SourceBancontact.cs index 7833d26a68..c7196b1d75 100644 --- a/src/Stripe.net/Entities/Sources/SourceBancontact.cs +++ b/src/Stripe.net/Entities/Sources/SourceBancontact.cs @@ -19,5 +19,8 @@ public class SourceBancontact : StripeEntity [JsonProperty("preferred_language")] public string PreferredLanguage { get; set; } + + [JsonProperty("statement_descriptor")] + public string StatementDescriptor { get; set; } } } diff --git a/src/Stripe.net/Entities/Sources/SourceCard.cs b/src/Stripe.net/Entities/Sources/SourceCard.cs index 64333a478e..fef6d88e02 100644 --- a/src/Stripe.net/Entities/Sources/SourceCard.cs +++ b/src/Stripe.net/Entities/Sources/SourceCard.cs @@ -20,6 +20,9 @@ public class SourceCard : StripeEntity [JsonProperty("cvc_check")] public string CvcCheck { get; set; } + [JsonProperty("description")] + public string Description { get; set; } + [JsonProperty("dynamic_last4")] public string DynamicLast4 { get; set; } @@ -35,6 +38,12 @@ public class SourceCard : StripeEntity [JsonProperty("funding")] public string Funding { get; set; } + [JsonProperty("iin")] + public string Iin { get; set; } + + [JsonProperty("issuer")] + public string Issuer { get; set; } + [JsonProperty("last4")] public string Last4 { get; set; } diff --git a/src/Stripe.net/Entities/Sources/SourceCardPresent.cs b/src/Stripe.net/Entities/Sources/SourceCardPresent.cs index 0e17d00f64..4ddadefe12 100644 --- a/src/Stripe.net/Entities/Sources/SourceCardPresent.cs +++ b/src/Stripe.net/Entities/Sources/SourceCardPresent.cs @@ -32,6 +32,9 @@ public class SourceCardPresent : StripeEntity [JsonProperty("dedicated_file_name")] public string DedicatedFileName { get; set; } + [JsonProperty("description")] + public string Description { get; set; } + [JsonProperty("emv_auth_data")] public string EmvAuthData { get; set; } @@ -53,6 +56,12 @@ public class SourceCardPresent : StripeEntity [JsonProperty("funding")] public string Funding { get; set; } + [JsonProperty("iin")] + public string Iin { get; set; } + + [JsonProperty("issuer")] + public string Issuer { get; set; } + [JsonProperty("last4")] public string Last4 { get; set; } diff --git a/src/Stripe.net/Entities/Sources/SourceEps.cs b/src/Stripe.net/Entities/Sources/SourceEps.cs index cbb408e218..9a5207595d 100644 --- a/src/Stripe.net/Entities/Sources/SourceEps.cs +++ b/src/Stripe.net/Entities/Sources/SourceEps.cs @@ -1,7 +1,14 @@ // File generated from our OpenAPI spec namespace Stripe { + using Newtonsoft.Json; + public class SourceEps : StripeEntity { + [JsonProperty("reference")] + public string Reference { get; set; } + + [JsonProperty("statement_descriptor")] + public string StatementDescriptor { get; set; } } } diff --git a/src/Stripe.net/Entities/Sources/SourceGiropay.cs b/src/Stripe.net/Entities/Sources/SourceGiropay.cs index c77dd000b1..a407d90d49 100644 --- a/src/Stripe.net/Entities/Sources/SourceGiropay.cs +++ b/src/Stripe.net/Entities/Sources/SourceGiropay.cs @@ -13,5 +13,8 @@ public class SourceGiropay : StripeEntity [JsonProperty("bic")] public string Bic { get; set; } + + [JsonProperty("statement_descriptor")] + public string StatementDescriptor { get; set; } } } diff --git a/src/Stripe.net/Entities/Sources/SourceIdeal.cs b/src/Stripe.net/Entities/Sources/SourceIdeal.cs index 22f43bc3d1..693d0f2c5e 100644 --- a/src/Stripe.net/Entities/Sources/SourceIdeal.cs +++ b/src/Stripe.net/Entities/Sources/SourceIdeal.cs @@ -13,5 +13,8 @@ public class SourceIdeal : StripeEntity [JsonProperty("iban_last4")] public string IbanLast4 { get; set; } + + [JsonProperty("statement_descriptor")] + public string StatementDescriptor { get; set; } } } diff --git a/src/Stripe.net/Entities/Sources/SourceMultibanco.cs b/src/Stripe.net/Entities/Sources/SourceMultibanco.cs index 80e4e98010..899cfbb2e2 100644 --- a/src/Stripe.net/Entities/Sources/SourceMultibanco.cs +++ b/src/Stripe.net/Entities/Sources/SourceMultibanco.cs @@ -10,5 +10,29 @@ public class SourceMultibanco : StripeEntity [JsonProperty("reference")] public string Reference { get; set; } + + [JsonProperty("refund_account_holder_address_city")] + public string RefundAccountHolderAddressCity { get; set; } + + [JsonProperty("refund_account_holder_address_country")] + public string RefundAccountHolderAddressCountry { get; set; } + + [JsonProperty("refund_account_holder_address_line1")] + public string RefundAccountHolderAddressLine1 { get; set; } + + [JsonProperty("refund_account_holder_address_line2")] + public string RefundAccountHolderAddressLine2 { get; set; } + + [JsonProperty("refund_account_holder_address_postal_code")] + public string RefundAccountHolderAddressPostalCode { get; set; } + + [JsonProperty("refund_account_holder_address_state")] + public string RefundAccountHolderAddressState { get; set; } + + [JsonProperty("refund_account_holder_name")] + public string RefundAccountHolderName { get; set; } + + [JsonProperty("refund_iban")] + public string RefundIban { get; set; } } } diff --git a/src/Stripe.net/Entities/Sources/SourceSepaCreditTransfer.cs b/src/Stripe.net/Entities/Sources/SourceSepaCreditTransfer.cs index ebc029e6bd..5eb9fb85bb 100644 --- a/src/Stripe.net/Entities/Sources/SourceSepaCreditTransfer.cs +++ b/src/Stripe.net/Entities/Sources/SourceSepaCreditTransfer.cs @@ -13,5 +13,29 @@ public class SourceSepaCreditTransfer : StripeEntity [JsonProperty("iban")] public string Iban { get; set; } + + [JsonProperty("refund_account_holder_address_city")] + public string RefundAccountHolderAddressCity { get; set; } + + [JsonProperty("refund_account_holder_address_country")] + public string RefundAccountHolderAddressCountry { get; set; } + + [JsonProperty("refund_account_holder_address_line1")] + public string RefundAccountHolderAddressLine1 { get; set; } + + [JsonProperty("refund_account_holder_address_line2")] + public string RefundAccountHolderAddressLine2 { get; set; } + + [JsonProperty("refund_account_holder_address_postal_code")] + public string RefundAccountHolderAddressPostalCode { get; set; } + + [JsonProperty("refund_account_holder_address_state")] + public string RefundAccountHolderAddressState { get; set; } + + [JsonProperty("refund_account_holder_name")] + public string RefundAccountHolderName { get; set; } + + [JsonProperty("refund_iban")] + public string RefundIban { get; set; } } } diff --git a/src/Stripe.net/Entities/Sources/SourceSofort.cs b/src/Stripe.net/Entities/Sources/SourceSofort.cs index 782f43eb2f..94d5c7bdc9 100644 --- a/src/Stripe.net/Entities/Sources/SourceSofort.cs +++ b/src/Stripe.net/Entities/Sources/SourceSofort.cs @@ -22,5 +22,8 @@ public class SourceSofort : StripeEntity [JsonProperty("preferred_language")] public string PreferredLanguage { get; set; } + + [JsonProperty("statement_descriptor")] + public string StatementDescriptor { get; set; } } } diff --git a/src/Stripe.net/Entities/Sources/SourceThreeDSecure.cs b/src/Stripe.net/Entities/Sources/SourceThreeDSecure.cs index c02ba5b434..20ea8347ca 100644 --- a/src/Stripe.net/Entities/Sources/SourceThreeDSecure.cs +++ b/src/Stripe.net/Entities/Sources/SourceThreeDSecure.cs @@ -56,6 +56,9 @@ public class SourceThreeDSecure : StripeEntity [JsonProperty("last4")] public string Last4 { get; set; } + [JsonProperty("name")] + public string Name { get; set; } + [JsonProperty("three_d_secure")] public string ThreeDSecure { get; set; } diff --git a/src/Stripe.net/Entities/Terminal/Readers/Reader.cs b/src/Stripe.net/Entities/Terminal/Readers/Reader.cs index a6143840b8..32efed3497 100644 --- a/src/Stripe.net/Entities/Terminal/Readers/Reader.cs +++ b/src/Stripe.net/Entities/Terminal/Readers/Reader.cs @@ -3,6 +3,7 @@ namespace Stripe.Terminal { using System.Collections.Generic; using Newtonsoft.Json; + using Stripe.Infrastructure; /// /// A Reader represents a physical device for accepting payment details. @@ -71,11 +72,36 @@ public class Reader : StripeEntity, IHasId, IHasMetadata, IHasObject [JsonProperty("livemode")] public bool Livemode { get; set; } + #region Expandable Location + + /// + /// (ID of the Location) + /// The location identifier of the reader. + /// + [JsonIgnore] + public string LocationId + { + get => this.InternalLocation?.Id; + set => this.InternalLocation = SetExpandableFieldId(value, this.InternalLocation); + } + /// + /// (Expanded) /// The location identifier of the reader. + /// + /// For more information, see the expand documentation. /// + [JsonIgnore] + public Location Location + { + get => this.InternalLocation?.ExpandedObject; + set => this.InternalLocation = SetExpandableFieldObject(value, this.InternalLocation); + } + [JsonProperty("location")] - public string Location { get; set; } + [JsonConverter(typeof(ExpandableFieldConverter))] + internal ExpandableField InternalLocation { get; set; } + #endregion /// /// Set of key-value pairs that you can diff --git a/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs b/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs index ace66a4dfd..7f3c899047 100644 --- a/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs +++ b/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs @@ -86,9 +86,6 @@ public static class StripeTypeRegistry { "line_item", typeof(InvoiceLineItem) }, { "login_link", typeof(LoginLink) }, { "mandate", typeof(Mandate) }, - { "order", typeof(Order) }, - { "order_item", typeof(OrderItem) }, - { "order_return", typeof(OrderReturn) }, { "payment_intent", typeof(PaymentIntent) }, { "payment_link", typeof(PaymentLink) }, { "payment_method", typeof(PaymentMethod) }, diff --git a/src/Stripe.net/Services/Customers/CustomerCreateOptions.cs b/src/Stripe.net/Services/Customers/CustomerCreateOptions.cs index 47db1112c8..ecd3c2fd32 100644 --- a/src/Stripe.net/Services/Customers/CustomerCreateOptions.cs +++ b/src/Stripe.net/Services/Customers/CustomerCreateOptions.cs @@ -1,7 +1,6 @@ // File generated from our OpenAPI spec namespace Stripe { - using System; using System.Collections.Generic; using Newtonsoft.Json; using Stripe.Infrastructure; @@ -106,9 +105,6 @@ public class CustomerCreateOptions : BaseOptions, IHasMetadata [JsonProperty("promotion_code")] public string PromotionCode { get; set; } - [JsonProperty("quantity")] - public long? Quantity { get; set; } - /// /// The customer's shipping information. Appears on invoices emailed to this customer. /// @@ -143,10 +139,6 @@ public class CustomerCreateOptions : BaseOptions, IHasMetadata [JsonProperty("test_clock")] public string TestClock { get; set; } - [JsonProperty("trial_end")] - [JsonConverter(typeof(AnyOfConverter))] - public AnyOf TrialEnd { get; set; } - [JsonProperty("validate")] public bool? Validate { get; set; } } diff --git a/src/Stripe.net/Services/Customers/CustomerPaymentSettingsOptions.cs b/src/Stripe.net/Services/Customers/CustomerPaymentSettingsOptions.cs deleted file mode 100644 index bcdee13472..0000000000 --- a/src/Stripe.net/Services/Customers/CustomerPaymentSettingsOptions.cs +++ /dev/null @@ -1,27 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using Newtonsoft.Json; - - public class CustomerPaymentSettingsOptions : INestedOptions - { - /// - /// Payment-method-specific configuration to provide to invoices created by the - /// subscription. - /// - [JsonProperty("payment_method_options")] - public CustomerPaymentSettingsPaymentMethodOptionsOptions PaymentMethodOptions { get; set; } - - /// - /// The list of payment method types (e.g. card) to provide to the invoice’s PaymentIntent. - /// If not set, Stripe attempts to automatically determine the types to use by looking at - /// the invoice’s default payment method, the subscription’s default payment method, the - /// customer’s default payment method, and your invoice template - /// settings. - /// - [JsonProperty("payment_method_types")] - public List PaymentMethodTypes { get; set; } - } -} diff --git a/src/Stripe.net/Services/Customers/CustomerPaymentSettingsPaymentMethodOptionsBancontactOptions.cs b/src/Stripe.net/Services/Customers/CustomerPaymentSettingsPaymentMethodOptionsBancontactOptions.cs deleted file mode 100644 index 21061fa71e..0000000000 --- a/src/Stripe.net/Services/Customers/CustomerPaymentSettingsPaymentMethodOptionsBancontactOptions.cs +++ /dev/null @@ -1,16 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class CustomerPaymentSettingsPaymentMethodOptionsBancontactOptions : INestedOptions - { - /// - /// Preferred language of the Bancontact authorization page that the customer is redirected - /// to. - /// One of: de, en, fr, or nl. - /// - [JsonProperty("preferred_language")] - public string PreferredLanguage { get; set; } - } -} diff --git a/src/Stripe.net/Services/Customers/CustomerPaymentSettingsPaymentMethodOptionsCardOptions.cs b/src/Stripe.net/Services/Customers/CustomerPaymentSettingsPaymentMethodOptionsCardOptions.cs deleted file mode 100644 index 46df67bccf..0000000000 --- a/src/Stripe.net/Services/Customers/CustomerPaymentSettingsPaymentMethodOptionsCardOptions.cs +++ /dev/null @@ -1,22 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class CustomerPaymentSettingsPaymentMethodOptionsCardOptions : INestedOptions - { - /// - /// We strongly recommend that you rely on our SCA Engine to automatically prompt your - /// customers for authentication based on risk level and other requirements. - /// However, if you wish to request 3D Secure based on logic from your own fraud engine, - /// provide this option. Read our guide on manually requesting 3D - /// Secure for more information on how this configuration interacts with Radar and our - /// SCA Engine. - /// One of: any, or automatic. - /// - [JsonProperty("request_three_d_secure")] - public string RequestThreeDSecure { get; set; } - } -} diff --git a/src/Stripe.net/Services/Customers/CustomerPaymentSettingsPaymentMethodOptionsOptions.cs b/src/Stripe.net/Services/Customers/CustomerPaymentSettingsPaymentMethodOptionsOptions.cs deleted file mode 100644 index 2e3ca01a82..0000000000 --- a/src/Stripe.net/Services/Customers/CustomerPaymentSettingsPaymentMethodOptionsOptions.cs +++ /dev/null @@ -1,22 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class CustomerPaymentSettingsPaymentMethodOptionsOptions : INestedOptions - { - /// - /// This sub-hash contains details about the Bancontact payment method options to pass to - /// the invoice’s PaymentIntent. - /// - [JsonProperty("bancontact")] - public CustomerPaymentSettingsPaymentMethodOptionsBancontactOptions Bancontact { get; set; } - - /// - /// This sub-hash contains details about the Card payment method options to pass to the - /// invoice’s PaymentIntent. - /// - [JsonProperty("card")] - public CustomerPaymentSettingsPaymentMethodOptionsCardOptions Card { get; set; } - } -} diff --git a/src/Stripe.net/Services/ExternalAccounts/ExternalAccountUpdateOptions.cs b/src/Stripe.net/Services/ExternalAccounts/ExternalAccountUpdateOptions.cs index a9eaa14f0d..5bc6140880 100644 --- a/src/Stripe.net/Services/ExternalAccounts/ExternalAccountUpdateOptions.cs +++ b/src/Stripe.net/Services/ExternalAccounts/ExternalAccountUpdateOptions.cs @@ -69,11 +69,17 @@ public class ExternalAccountUpdateOptions : BaseOptions, IHasMetadata [JsonProperty("default_for_currency")] public bool? DefaultForCurrency { get; set; } + /// + /// Two digit number representing the card’s expiration month. + /// [JsonProperty("exp_month")] - public long? ExpMonth { get; set; } + public string ExpMonth { get; set; } + /// + /// Four digit number representing the card’s expiration year. + /// [JsonProperty("exp_year")] - public long? ExpYear { get; set; } + public string ExpYear { get; set; } /// /// Set of key-value pairs that you can diff --git a/src/Stripe.net/Services/LoginLinks/LoginLinkCreateOptions.cs b/src/Stripe.net/Services/LoginLinks/LoginLinkCreateOptions.cs index a481546d0a..0ca3f1f568 100644 --- a/src/Stripe.net/Services/LoginLinks/LoginLinkCreateOptions.cs +++ b/src/Stripe.net/Services/LoginLinks/LoginLinkCreateOptions.cs @@ -1,14 +1,7 @@ // File generated from our OpenAPI spec namespace Stripe { - using Newtonsoft.Json; - public class LoginLinkCreateOptions : BaseOptions { - /// - /// Where to redirect the user after they log out of their dashboard. - /// - [JsonProperty("redirect_url")] - public string RedirectUrl { get; set; } } } diff --git a/src/Stripe.net/Services/Orders/OrderCreateOptions.cs b/src/Stripe.net/Services/Orders/OrderCreateOptions.cs deleted file mode 100644 index bec67849e7..0000000000 --- a/src/Stripe.net/Services/Orders/OrderCreateOptions.cs +++ /dev/null @@ -1,61 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using Newtonsoft.Json; - - public class OrderCreateOptions : BaseOptions, IHasMetadata - { - /// - /// A coupon code that represents a discount to be applied to this order. Must be one-time - /// duration and in same currency as the order. An order can have multiple coupons. - /// - [JsonProperty("coupon")] - public string Coupon { get; set; } - - /// - /// Three-letter ISO currency - /// code, in lowercase. Must be a supported - /// currency. - /// - [JsonProperty("currency")] - public string Currency { get; set; } - - /// - /// The ID of an existing customer to use for this order. If provided, the customer email - /// and shipping address will be used to create the order. Subsequently, the customer will - /// also be charged to pay the order. If email or shipping are also provided, - /// they will override the values retrieved from the customer object. - /// - [JsonProperty("customer")] - public string Customer { get; set; } - - /// - /// The email address of the customer placing the order. - /// - [JsonProperty("email")] - public string Email { get; set; } - - /// - /// List of items constituting the order. An order can have up to 25 items. - /// - [JsonProperty("items")] - public List Items { 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")] - public Dictionary Metadata { get; set; } - - /// - /// Shipping address for the order. Required if any of the SKUs are for products that have - /// shippable set to true. - /// - [JsonProperty("shipping")] - public ShippingOptions Shipping { get; set; } - } -} diff --git a/src/Stripe.net/Services/Orders/OrderGetOptions.cs b/src/Stripe.net/Services/Orders/OrderGetOptions.cs deleted file mode 100644 index a1a7d63ff1..0000000000 --- a/src/Stripe.net/Services/Orders/OrderGetOptions.cs +++ /dev/null @@ -1,7 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - public class OrderGetOptions : BaseOptions - { - } -} diff --git a/src/Stripe.net/Services/Orders/OrderItemOptions.cs b/src/Stripe.net/Services/Orders/OrderItemOptions.cs deleted file mode 100644 index 29a88db66c..0000000000 --- a/src/Stripe.net/Services/Orders/OrderItemOptions.cs +++ /dev/null @@ -1,33 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class OrderItemOptions : INestedOptions - { - [JsonProperty("amount")] - public long? Amount { get; set; } - - [JsonProperty("currency")] - public string Currency { get; set; } - - [JsonProperty("description")] - public string Description { get; set; } - - /// - /// The ID of the SKU being ordered. - /// - [JsonProperty("parent")] - public string Parent { get; set; } - - /// - /// The quantity of this order item. When type is sku, this is the number of - /// instances of the SKU to be ordered. - /// - [JsonProperty("quantity")] - public long? Quantity { get; set; } - - [JsonProperty("type")] - public string Type { get; set; } - } -} diff --git a/src/Stripe.net/Services/Orders/OrderListOptions.cs b/src/Stripe.net/Services/Orders/OrderListOptions.cs deleted file mode 100644 index ed677913ab..0000000000 --- a/src/Stripe.net/Services/Orders/OrderListOptions.cs +++ /dev/null @@ -1,24 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using Newtonsoft.Json; - - public class OrderListOptions : ListOptionsWithCreated - { - [JsonProperty("customer")] - public string Customer { get; set; } - - [JsonProperty("ids")] - public List Ids { get; set; } - - [JsonProperty("status")] - public string Status { get; set; } - - [JsonProperty("status_transitions")] - public OrderStatusTransitionsOptions StatusTransitions { get; set; } - - [JsonProperty("upstream_ids")] - public List UpstreamIds { get; set; } - } -} diff --git a/src/Stripe.net/Services/Orders/OrderPayOptions.cs b/src/Stripe.net/Services/Orders/OrderPayOptions.cs deleted file mode 100644 index 870e9a2992..0000000000 --- a/src/Stripe.net/Services/Orders/OrderPayOptions.cs +++ /dev/null @@ -1,54 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using Newtonsoft.Json; - - public class OrderPayOptions : BaseOptions, IHasMetadata - { - /// - /// A fee in %s that will be applied to the order and transferred to the application owner's - /// Stripe account. The request must be made with an OAuth key or the Stripe-Account - /// header in order to take an application fee. For more information, see the application - /// fees documentation. - /// - [JsonProperty("application_fee")] - public long? ApplicationFee { get; set; } - - /// - /// The ID of an existing customer that will be charged for this order. If no customer was - /// attached to the order at creation, either source or customer is required. - /// Otherwise, the specified customer will be charged instead of the one attached to the - /// order. - /// - [JsonProperty("customer")] - public string Customer { get; set; } - - /// - /// The email address of the customer placing the order. Required if not previously - /// specified for the order. - /// - [JsonProperty("email")] - public string Email { 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")] - public Dictionary Metadata { get; set; } - - /// - /// A Token's or a Source's ID, as returned by Elements. If no customer was attached to the - /// order at creation, either source or customer is required. Otherwise, the - /// specified source will be charged intead of the customer attached to the order. - /// - [JsonProperty("source")] - public string Source { get; set; } - } -} diff --git a/src/Stripe.net/Services/Orders/OrderReturnItemOptions.cs b/src/Stripe.net/Services/Orders/OrderReturnItemOptions.cs deleted file mode 100644 index ace7fbfa40..0000000000 --- a/src/Stripe.net/Services/Orders/OrderReturnItemOptions.cs +++ /dev/null @@ -1,22 +0,0 @@ -namespace Stripe -{ - using Newtonsoft.Json; - - public class OrderReturnItemOptions : INestedOptions - { - [JsonProperty("amount")] - public long? Amount { get; set; } - - [JsonProperty("description")] - public string Description { get; set; } - - [JsonProperty("parent")] - public string Parent { get; set; } - - [JsonProperty("quantity")] - public long? Quantity { get; set; } - - [JsonProperty("type")] - public string Type { get; set; } - } -} diff --git a/src/Stripe.net/Services/Orders/OrderReturnOptions.cs b/src/Stripe.net/Services/Orders/OrderReturnOptions.cs deleted file mode 100644 index d5289ea6fb..0000000000 --- a/src/Stripe.net/Services/Orders/OrderReturnOptions.cs +++ /dev/null @@ -1,15 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using Newtonsoft.Json; - - public class OrderReturnOptions : BaseOptions - { - /// - /// List of items to return. - /// - [JsonProperty("items")] - public List Items { get; set; } - } -} diff --git a/src/Stripe.net/Services/Orders/OrderService.cs b/src/Stripe.net/Services/Orders/OrderService.cs deleted file mode 100644 index 7b853abd04..0000000000 --- a/src/Stripe.net/Services/Orders/OrderService.cs +++ /dev/null @@ -1,97 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using System.Net.Http; - using System.Threading; - using System.Threading.Tasks; - - public class OrderService : Service, - ICreatable, - IListable, - IRetrievable, - IUpdatable - { - public OrderService() - : base(null) - { - } - - public OrderService(IStripeClient client) - : base(client) - { - } - - public override string BasePath => "/v1/orders"; - - public virtual Order Create(OrderCreateOptions options, RequestOptions requestOptions = null) - { - return this.CreateEntity(options, requestOptions); - } - - public virtual Task CreateAsync(OrderCreateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) - { - return this.CreateEntityAsync(options, requestOptions, cancellationToken); - } - - public virtual Order Get(string id, OrderGetOptions options = null, RequestOptions requestOptions = null) - { - return this.GetEntity(id, options, requestOptions); - } - - public virtual Task GetAsync(string id, OrderGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) - { - return this.GetEntityAsync(id, options, requestOptions, cancellationToken); - } - - public virtual StripeList List(OrderListOptions options = null, RequestOptions requestOptions = null) - { - return this.ListEntities(options, requestOptions); - } - - public virtual Task> ListAsync(OrderListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) - { - return this.ListEntitiesAsync(options, requestOptions, cancellationToken); - } - - public virtual IEnumerable ListAutoPaging(OrderListOptions options = null, RequestOptions requestOptions = null) - { - return this.ListEntitiesAutoPaging(options, requestOptions); - } - - public virtual IAsyncEnumerable ListAutoPagingAsync(OrderListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) - { - return this.ListEntitiesAutoPagingAsync(options, requestOptions, cancellationToken); - } - - public virtual Order Pay(string id, OrderPayOptions options = null, RequestOptions requestOptions = null) - { - return this.Request(HttpMethod.Post, $"{this.InstanceUrl(id)}/pay", options, requestOptions); - } - - public virtual Task PayAsync(string id, OrderPayOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) - { - return this.RequestAsync(HttpMethod.Post, $"{this.InstanceUrl(id)}/pay", options, requestOptions, cancellationToken); - } - - public virtual OrderReturn Return(string id, OrderReturnOptions options = null, RequestOptions requestOptions = null) - { - return this.Request(HttpMethod.Post, $"{this.InstanceUrl(id)}/returns", options, requestOptions); - } - - public virtual Task ReturnAsync(string id, OrderReturnOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) - { - return this.RequestAsync(HttpMethod.Post, $"{this.InstanceUrl(id)}/returns", options, requestOptions, cancellationToken); - } - - public virtual Order Update(string id, OrderUpdateOptions options, RequestOptions requestOptions = null) - { - return this.UpdateEntity(id, options, requestOptions); - } - - public virtual Task UpdateAsync(string id, OrderUpdateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) - { - return this.UpdateEntityAsync(id, options, requestOptions, cancellationToken); - } - } -} diff --git a/src/Stripe.net/Services/Orders/OrderStatusTransitionsOptions.cs b/src/Stripe.net/Services/Orders/OrderStatusTransitionsOptions.cs deleted file mode 100644 index 948b3c815f..0000000000 --- a/src/Stripe.net/Services/Orders/OrderStatusTransitionsOptions.cs +++ /dev/null @@ -1,38 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System; - using Newtonsoft.Json; - using Stripe.Infrastructure; - - public class OrderStatusTransitionsOptions : INestedOptions - { - /// - /// Date this order was canceled. - /// - [JsonProperty("canceled")] - [JsonConverter(typeof(AnyOfConverter))] - public AnyOf Canceled { get; set; } - - /// - /// Date this order was fulfilled. - /// - [JsonProperty("fulfilled")] - [JsonConverter(typeof(AnyOfConverter))] - public AnyOf Fulfilled { get; set; } - - /// - /// Date this order was paid. - /// - [JsonProperty("paid")] - [JsonConverter(typeof(AnyOfConverter))] - public AnyOf Paid { get; set; } - - /// - /// Date this order was returned. - /// - [JsonProperty("returned")] - [JsonConverter(typeof(AnyOfConverter))] - public AnyOf Returned { get; set; } - } -} diff --git a/src/Stripe.net/Services/Orders/OrderUpdateOptions.cs b/src/Stripe.net/Services/Orders/OrderUpdateOptions.cs deleted file mode 100644 index 383126d87f..0000000000 --- a/src/Stripe.net/Services/Orders/OrderUpdateOptions.cs +++ /dev/null @@ -1,51 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using Newtonsoft.Json; - - public class OrderUpdateOptions : BaseOptions, IHasMetadata - { - /// - /// A coupon code that represents a discount to be applied to this order. Must be one-time - /// duration and in same currency as the order. An order can have multiple coupons. - /// - [JsonProperty("coupon")] - public string Coupon { 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")] - public Dictionary Metadata { get; set; } - - /// - /// The shipping method to select for fulfilling this order. If specified, must be one of - /// the ids of a shipping method in the shipping_methods array. If specified, - /// will overwrite the existing selected shipping method, updating items as - /// necessary. - /// - [JsonProperty("selected_shipping_method")] - public string SelectedShippingMethod { get; set; } - - /// - /// Tracking information once the order has been fulfilled. - /// - [JsonProperty("shipping")] - public OrderUpdateShippingOptions Shipping { get; set; } - - /// - /// Current order status. One of created, paid, canceled, - /// fulfilled, or returned. More detail in the Orders - /// Guide. - /// One of: canceled, created, fulfilled, paid, or - /// returned. - /// - [JsonProperty("status")] - public string Status { get; set; } - } -} diff --git a/src/Stripe.net/Services/Orders/OrderUpdateShippingOptions.cs b/src/Stripe.net/Services/Orders/OrderUpdateShippingOptions.cs deleted file mode 100644 index 841db4246c..0000000000 --- a/src/Stripe.net/Services/Orders/OrderUpdateShippingOptions.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace Stripe -{ - using Newtonsoft.Json; - - public class OrderUpdateShippingOptions : INestedOptions - { - [JsonProperty("carrier")] - public string Carrier { get; set; } - - [JsonProperty("tracking_number")] - public string TrackingNumber { get; set; } - } -} diff --git a/src/Stripe.net/Services/Quotes/QuoteFinalizeQuoteOptions.cs b/src/Stripe.net/Services/Quotes/QuoteFinalizeQuoteOptions.cs deleted file mode 100644 index dfee43907f..0000000000 --- a/src/Stripe.net/Services/Quotes/QuoteFinalizeQuoteOptions.cs +++ /dev/null @@ -1,18 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System; - using Newtonsoft.Json; - using Stripe.Infrastructure; - - public class QuoteFinalizeQuoteOptions : BaseOptions - { - /// - /// A future timestamp on which the quote will be canceled if in open or draft - /// status. Measured in seconds since the Unix epoch. - /// - [JsonProperty("expires_at")] - [JsonConverter(typeof(UnixDateTimeConverter))] - public DateTime? ExpiresAt { get; set; } - } -} diff --git a/src/Stripe.net/Services/Tokens/TokenCardOptions.cs b/src/Stripe.net/Services/Tokens/TokenCardOptions.cs index 8221301693..462ad17655 100644 --- a/src/Stripe.net/Services/Tokens/TokenCardOptions.cs +++ b/src/Stripe.net/Services/Tokens/TokenCardOptions.cs @@ -30,10 +30,10 @@ public class TokenCardOptions : INestedOptions public string Cvc { get; set; } [JsonProperty("exp_month")] - public long? ExpMonth { get; set; } + public string ExpMonth { get; set; } [JsonProperty("exp_year")] - public long? ExpYear { get; set; } + public string ExpYear { get; set; } [JsonProperty("name")] public string Name { get; set; } diff --git a/src/Stripe.net/Services/UsageRecords/UsageRecordCreateOptions.cs b/src/Stripe.net/Services/UsageRecords/UsageRecordCreateOptions.cs index d42f0fe177..f58cdd643a 100644 --- a/src/Stripe.net/Services/UsageRecords/UsageRecordCreateOptions.cs +++ b/src/Stripe.net/Services/UsageRecords/UsageRecordCreateOptions.cs @@ -28,10 +28,11 @@ public class UsageRecordCreateOptions : BaseOptions /// /// The timestamp for the usage event. This timestamp must be within the current billing /// period of the subscription of the provided subscription_item, and must not be in - /// the future. + /// the future. When passing "now", Stripe records usage for the current time. + /// Default is "now" if a value is not provided. /// [JsonProperty("timestamp")] - [JsonConverter(typeof(UnixDateTimeConverter))] - public DateTime? Timestamp { get; set; } + [JsonConverter(typeof(AnyOfConverter))] + public AnyOf Timestamp { get; set; } } } diff --git a/src/Stripe.net/Services/UsageRecords/UsageRecordTimestamp.cs b/src/Stripe.net/Services/UsageRecords/UsageRecordTimestamp.cs new file mode 100644 index 0000000000..a2f9dc54c7 --- /dev/null +++ b/src/Stripe.net/Services/UsageRecords/UsageRecordTimestamp.cs @@ -0,0 +1,13 @@ +namespace Stripe +{ + public class UsageRecordTimestamp : StringEnum + { + /// Special value used to record usage for the current time. + public static readonly UsageRecordTimestamp Now = new UsageRecordTimestamp("now"); + + private UsageRecordTimestamp(string value) + : base(value) + { + } + } +} diff --git a/src/StripeTests/Services/Customers/CustomerCreateOptionsTest.cs b/src/StripeTests/Services/Customers/CustomerCreateOptionsTest.cs deleted file mode 100644 index ca68df26e4..0000000000 --- a/src/StripeTests/Services/Customers/CustomerCreateOptionsTest.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace StripeTests -{ - using System; - using Stripe; - using Stripe.Infrastructure.FormEncoding; - using Xunit; - - public class CustomerCreateOptionsTest : BaseStripeTest - { - [Fact] - public void SerializeTrialEnd() - { - var testCases = new[] - { - new - { - options = new CustomerCreateOptions - { - TrialEnd = DateTime.Parse("Fri, 13 Feb 2009 23:31:30Z"), - }, - want = "trial_end=1234567890", - }, - new - { - options = new CustomerCreateOptions - { - TrialEnd = SubscriptionTrialEnd.Now, - }, - want = "trial_end=now", - }, - }; - - foreach (var testCase in testCases) - { - Assert.Equal(testCase.want, FormEncoder.CreateQueryString(testCase.options)); - } - } - } -} diff --git a/src/StripeTests/Services/GeneratedExamplesTest.cs b/src/StripeTests/Services/GeneratedExamplesTest.cs index 3519008c58..dee81a4330 100644 --- a/src/StripeTests/Services/GeneratedExamplesTest.cs +++ b/src/StripeTests/Services/GeneratedExamplesTest.cs @@ -497,6 +497,13 @@ public void TestCheckoutSessionServiceList() options); } + [Fact] + public void TestCheckoutSessionServiceListLineItems() + { + var service = new Stripe.Checkout.SessionService(this.StripeClient); + service.ListLineItems("sess_xyz"); + } + [Fact] public void TestCheckoutSessionServiceRetrieve() { diff --git a/src/StripeTests/Services/Tokens/TokenServiceTest.cs b/src/StripeTests/Services/Tokens/TokenServiceTest.cs index dad0c03eb5..6800e4ef9a 100644 --- a/src/StripeTests/Services/Tokens/TokenServiceTest.cs +++ b/src/StripeTests/Services/Tokens/TokenServiceTest.cs @@ -34,8 +34,8 @@ public class TokenServiceTest : BaseStripeTest AddressState = "CA", AddressZip = "90210", Cvc = "123", - ExpMonth = 10, - ExpYear = DateTime.Now.Year + 1, + ExpMonth = "10", + ExpYear = (DateTime.Now.Year + 1).ToString(), Name = "Name", Number = "4242424242424242", },