diff --git a/src/Stripe.net/Services/Files/FileCreateOptions.cs b/src/Stripe.net/Services/Files/FileCreateOptions.cs index b1d0b98a7a..f614c927f2 100644 --- a/src/Stripe.net/Services/Files/FileCreateOptions.cs +++ b/src/Stripe.net/Services/Files/FileCreateOptions.cs @@ -12,6 +12,13 @@ public class FileCreateOptions : BaseOptions [JsonProperty("file")] public Stream File { get; set; } + /// + /// Optional parameters to automatically create a for the newly + /// created file. + /// + [JsonProperty("file_link_data")] + public FileLinkDataOptions FileLinkData { get; set; } + /// /// REQUIRED. The purpose of the uploaded file. Possible values are business_logo, /// customer_signature, dispute_evidence, identity_document, diff --git a/src/Stripe.net/Services/Files/FileLinkDataOptions.cs b/src/Stripe.net/Services/Files/FileLinkDataOptions.cs new file mode 100644 index 0000000000..680ec90205 --- /dev/null +++ b/src/Stripe.net/Services/Files/FileLinkDataOptions.cs @@ -0,0 +1,31 @@ +namespace Stripe +{ + using System; + using System.Collections.Generic; + using Newtonsoft.Json; + + public class FileLinkDataOptions : BaseOptions + { + /// + /// Set this to true to create a file link for the newly created file. Creating a + /// link is only possible when the file’s purpose is one of the following: + /// business_icon, business_logo, customer_signature, + /// dispute_evidence, pci_document, or tax_document_user_upload. + /// + [JsonProperty("create")] + public bool? Create { get; set; } + + /// + /// A future timestamp after which the link will no longer be usable. + /// + [JsonProperty("expires_at")] + public DateTime? ExpiresAt { 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; } + } +} diff --git a/src/StripeTests/Services/Files/FileServiceTest.cs b/src/StripeTests/Services/Files/FileServiceTest.cs index 7132e55d65..21c5a0f4ba 100644 --- a/src/StripeTests/Services/Files/FileServiceTest.cs +++ b/src/StripeTests/Services/Files/FileServiceTest.cs @@ -1,5 +1,6 @@ namespace StripeTests { + using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Reflection; @@ -25,6 +26,14 @@ public FileServiceTest(MockHttpClientFixture mockHttpClientFixture) this.createOptions = new FileCreateOptions { File = typeof(FileServiceTest).GetTypeInfo().Assembly.GetManifestResourceStream(FileName), + FileLinkData = new FileLinkDataOptions + { + Create = true, + Metadata = new Dictionary + { + { "key", "value" }, + }, + }, Purpose = FilePurpose.BusinessLogo, };