Packages
stripity_stripe
3.1.1
3.3.2
3.3.1
3.2.0
3.1.1
3.1.0
3.0.0
2.17.3
2.17.2
2.17.1
2.17.0
2.16.0
2.15.1
2.15.0
2.14.1
2.14.0
2.13.0
2.12.1
2.12.0
2.11.0
2.10.0
2.9.0
2.8.0
2.7.2
2.7.1
2.7.0
2.6.0
2.5.0
2.4.0
2.3.0
2.2.3
2.2.2
2.2.1
2.2.0
2.1.0
2.0.1
2.0.0
2.0.0-alpha.11
2.0.0-alpha.10
2.0.0-alpha.9
2.0.0-alpha.8
2.0.0-alpha.7
2.0.0-alpha.6
2.0.0-alpha.5
2.0.0-alpha.4
2.0.0-alpha.3
2.0.0-alpha.2
2.0.0-alpha.1
1.6.2
1.6.1
1.6.0
1.4.0
1.3.0
1.2.0
1.1.0
0.5.0
0.4.0
0.3.0
0.2.0
A Stripe client for Elixir.
Current section
Files
Jump to
Current section
Files
lib/generated/file.ex
defmodule Stripe.File do
use Stripe.Entity
@moduledoc "This object represents files hosted on Stripe's servers. You can upload\nfiles with the [create file](https://stripe.com/docs/api#create_file) request\n(for example, when uploading dispute evidence). Stripe also\ncreates files independetly (for example, the results of a [Sigma scheduled\nquery](#scheduled_queries)).\n\nRelated guide: [File upload guide](https://stripe.com/docs/file-upload)"
(
defstruct [
:created,
:expires_at,
:filename,
:id,
:links,
:object,
:purpose,
:size,
:title,
:type,
:url
]
@typedoc "The `file` type.\n\n * `created` Time at which the object was created. Measured in seconds since the Unix epoch.\n * `expires_at` The file expires and isn't available at this time in epoch seconds.\n * `filename` The suitable name for saving the file to a filesystem.\n * `id` Unique identifier for the object.\n * `links` A list of [file links](https://stripe.com/docs/api#file_links) that point at this file.\n * `object` String representing the object's type. Objects of the same type share the same value.\n * `purpose` The [purpose](https://stripe.com/docs/file-upload#uploading-a-file) of the uploaded file.\n * `size` The size of the file object in bytes.\n * `title` A suitable title for the document.\n * `type` The returned file type (for example, `csv`, `pdf`, `jpg`, or `png`).\n * `url` Use your live secret API key to download the file from this URL.\n"
@type t :: %__MODULE__{
created: integer,
expires_at: integer | nil,
filename: binary | nil,
id: binary,
links: term | nil,
object: binary,
purpose: binary,
size: integer,
title: binary | nil,
type: binary | nil,
url: binary | nil
}
)
(
@typedoc nil
@type created :: %{
optional(:gt) => integer,
optional(:gte) => integer,
optional(:lt) => integer,
optional(:lte) => integer
}
)
(
nil
@doc "<p>Returns a list of the files that your account has access to. Stripe sorts and returns the files by their creation dates, placing the most recently created files at the top.</p>\n\n#### Details\n\n * Method: `get`\n * Path: `/v1/files`\n"
(
@spec list(
params :: %{
optional(:created) => created | integer,
optional(:ending_before) => binary,
optional(:expand) => list(binary),
optional(:limit) => integer,
optional(:purpose) =>
:account_requirement
| :additional_verification
| :business_icon
| :business_logo
| :customer_signature
| :dispute_evidence
| :document_provider_identity_document
| :finance_report_run
| :identity_document
| :identity_document_downloadable
| :pci_document
| :selfie
| :sigma_scheduled_query
| :tax_document_user_upload
| :terminal_reader_splashscreen,
optional(:starting_after) => binary
},
opts :: Keyword.t()
) ::
{:ok, Stripe.List.t(Stripe.File.t())}
| {:error, Stripe.ApiErrors.t()}
| {:error, term()}
def list(params \\ %{}, opts \\ []) do
path = Stripe.OpenApi.Path.replace_path_params("/v1/files", [], [])
Stripe.Request.new_request(opts)
|> Stripe.Request.put_endpoint(path)
|> Stripe.Request.put_params(params)
|> Stripe.Request.put_method(:get)
|> Stripe.Request.make_request()
end
)
)
(
nil
@doc "<p>Retrieves the details of an existing file object. After you supply a unique file ID, Stripe returns the corresponding file object. Learn how to <a href=\"/docs/file-upload#download-file-contents\">access file contents</a>.</p>\n\n#### Details\n\n * Method: `get`\n * Path: `/v1/files/{file}`\n"
(
@spec retrieve(
file :: binary(),
params :: %{optional(:expand) => list(binary)},
opts :: Keyword.t()
) :: {:ok, Stripe.File.t()} | {:error, Stripe.ApiErrors.t()} | {:error, term()}
def retrieve(file, params \\ %{}, opts \\ []) do
path =
Stripe.OpenApi.Path.replace_path_params(
"/v1/files/{file}",
[
%OpenApiGen.Blueprint.Parameter{
in: "path",
name: "file",
required: true,
schema: %OpenApiGen.Blueprint.Parameter.Schema{
name: "file",
title: nil,
type: "string",
items: [],
properties: [],
any_of: []
}
}
],
[file]
)
Stripe.Request.new_request(opts)
|> Stripe.Request.put_endpoint(path)
|> Stripe.Request.put_params(params)
|> Stripe.Request.put_method(:get)
|> Stripe.Request.make_request()
end
)
)
(
nil
@doc "<p>To upload a file to Stripe, you need to send a request of type <code>multipart/form-data</code>. Include the file you want to upload in the request, and the parameters for creating a file.</p>\n\n<p>All of Stripe’s officially supported Client libraries support sending <code>multipart/form-data</code>.</p>\n\n#### Details\n\n * Method: `post`\n * Path: `/v1/files`\n"
(
@spec create(opts :: Keyword.t()) ::
{:ok, Stripe.File.t()} | {:error, Stripe.ApiErrors.t()} | {:error, term()}
def create(params \\ %{}, opts \\ []) do
Stripe.Request.new_request(opts)
|> Stripe.Request.put_endpoint("/v1/files")
|> Stripe.Request.put_params(params)
|> Stripe.Request.put_method(:post)
|> Stripe.Request.make_file_upload_request()
end
)
)
end