Represents a file uploaded to Stripe.
Files are created via multipart upload to files.stripe.com and used for
dispute evidence, identity verification, and other purposes. Files are
immutable after creation -- there is no update or delete operation.
Upload
binary = File.read!("evidence.pdf")
{:ok, file} = LatticeStripe.File.create(client, %{
"purpose" => "dispute_evidence",
"file" => binary,
"filename" => "evidence.pdf"
})Retrieve
{:ok, file} = LatticeStripe.File.retrieve(client, "file_abc123")List with Auto-Pagination
LatticeStripe.File.stream!(client, %{"purpose" => "dispute_evidence"})
|> Enum.take(50)Stripe API Reference
See the Stripe File API for the full object reference and available parameters.
Summary
Functions
Uploads a file to Stripe via multipart/form-data.
Same as create/3 but raises on error.
Lists files with optional filters.
Same as list/3 but raises on error.
Retrieves a file by ID.
Same as retrieve/3 but raises on error.
Returns a lazy stream of all files, auto-paginating as needed.
Types
@type t() :: %LatticeStripe.File{ created: integer() | nil, expires_at: integer() | nil, extra: map(), filename: String.t() | nil, id: String.t() | nil, links: LatticeStripe.List.t() | nil, object: String.t(), purpose: String.t() | nil, size: integer() | nil, title: String.t() | nil, type: String.t() | nil, url: String.t() | nil }
Functions
@spec create(LatticeStripe.Client.t(), map(), keyword()) :: {:ok, t()} | {:error, LatticeStripe.Error.t()}
Uploads a file to Stripe via multipart/form-data.
The params map must include "purpose" (string) and "file" (raw binary).
Optionally include "filename" (defaults to "upload") and "file_link_data".
Examples
binary = File.read!("evidence.pdf")
LatticeStripe.File.create(client, %{
"purpose" => "dispute_evidence",
"file" => binary,
"filename" => "evidence.pdf"
})
@spec create!(LatticeStripe.Client.t(), map(), keyword()) :: t()
Same as create/3 but raises on error.
@spec list(LatticeStripe.Client.t(), map(), keyword()) :: {:ok, LatticeStripe.Response.t()} | {:error, LatticeStripe.Error.t()}
Lists files with optional filters.
@spec list!(LatticeStripe.Client.t(), map(), keyword()) :: LatticeStripe.Response.t()
Same as list/3 but raises on error.
@spec retrieve(LatticeStripe.Client.t(), String.t(), keyword()) :: {:ok, t()} | {:error, LatticeStripe.Error.t()}
Retrieves a file by ID.
@spec retrieve!(LatticeStripe.Client.t(), String.t(), keyword()) :: t()
Same as retrieve/3 but raises on error.
@spec stream!(LatticeStripe.Client.t(), map(), keyword()) :: Enumerable.t()
Returns a lazy stream of all files, auto-paginating as needed.