Class: Stripe::File

Inherits:
APIResource show all
Extended by:
APIOperations::Create, APIOperations::List
Defined in:
lib/stripe/resources/file.rb

Overview

This object represents files hosted on Stripe’s servers. You can upload files with the [create file](stripe.com/docs/api#create_file) request (for example, when uploading dispute evidence). Stripe also creates files independently (for example, the results of a [Sigma scheduled query](stripe.com/docs/api#scheduled_queries)).

Related guide: [File upload guide](stripe.com/docs/file-upload)

Defined Under Namespace

Classes: CreateParams, ListParams, RetrieveParams

Constant Summary collapse

OBJECT_NAME =
"file"
OBJECT_NAME_ALT =

This resource can have two different object names. In latter API versions, only ‘file` is used, but since stripe-ruby may be used with any API version, we need to support deserializing the older `file_upload` object into the same class.

"file_upload"

Constants inherited from StripeObject

StripeObject::RESERVED_FIELD_NAMES

Instance Attribute Summary collapse

Attributes inherited from APIResource

#save_with_parent

Attributes inherited from StripeObject

#last_response

Class Method Summary collapse

Methods included from APIOperations::Create

create

Methods included from APIOperations::List

list

Methods inherited from APIResource

class_name, custom_method, #refresh, #request_stripe_object, #resource_url, retrieve, save_nested_resource

Methods included from APIOperations::Request

included

Methods inherited from StripeObject

#==, #[], #[]=, additive_object_param, additive_object_param?, #as_json, construct_from, #deleted?, #dirty!, #each, #eql?, #hash, #initialize, #inspect, #keys, #marshal_dump, #marshal_load, protected_fields, #serialize_params, #to_hash, #to_json, #to_s, #update_attributes, #values

Constructor Details

This class inherits a constructor from Stripe::StripeObject

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Stripe::StripeObject

Instance Attribute Details

#createdObject (readonly)

Time at which the object was created. Measured in seconds since the Unix epoch.



110
111
112
# File 'lib/stripe/resources/file.rb', line 110

def created
  @created
end

#expires_atObject (readonly)

The file expires and isn’t available at this time in epoch seconds.



112
113
114
# File 'lib/stripe/resources/file.rb', line 112

def expires_at
  @expires_at
end

#filenameObject (readonly)

The suitable name for saving the file to a filesystem.



114
115
116
# File 'lib/stripe/resources/file.rb', line 114

def filename
  @filename
end

#idObject (readonly)

Unique identifier for the object.



116
117
118
# File 'lib/stripe/resources/file.rb', line 116

def id
  @id
end

A list of [file links](stripe.com/docs/api#file_links) that point at this file.



118
119
120
# File 'lib/stripe/resources/file.rb', line 118

def links
  @links
end

#objectObject (readonly)

String representing the object’s type. Objects of the same type share the same value.



120
121
122
# File 'lib/stripe/resources/file.rb', line 120

def object
  @object
end

#purposeObject (readonly)

The [purpose](stripe.com/docs/file-upload#uploading-a-file) of the uploaded file.



122
123
124
# File 'lib/stripe/resources/file.rb', line 122

def purpose
  @purpose
end

#sizeObject (readonly)

The size of the file object in bytes.



124
125
126
# File 'lib/stripe/resources/file.rb', line 124

def size
  @size
end

#titleObject (readonly)

A suitable title for the document.



126
127
128
# File 'lib/stripe/resources/file.rb', line 126

def title
  @title
end

#typeObject (readonly)

The returned file type (for example, ‘csv`, `pdf`, `jpg`, or `png`).



128
129
130
# File 'lib/stripe/resources/file.rb', line 128

def type
  @type
end

#urlObject (readonly)

Use your live secret API key to download the file from this URL.



130
131
132
# File 'lib/stripe/resources/file.rb', line 130

def url
  @url
end

Class Method Details

.create(params = {}, opts = {}) ⇒ Object

To upload a file to Stripe, you need to send a request of type multipart/form-data. Include the file you want to upload in the request, and the parameters for creating a file.

All of Stripe’s officially supported Client libraries support sending multipart/form-data.



135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'lib/stripe/resources/file.rb', line 135

def self.create(params = {}, opts = {})
  if params[:file] && !params[:file].is_a?(String) && !params[:file].respond_to?(:read)
    raise ArgumentError, "file must respond to `#read`"
  end

  opts = { content_type: MultipartEncoder::MULTIPART_FORM_DATA }.merge(Util.normalize_opts(opts))

  request_stripe_object(
    method: :post,
    path: "/v1/files",
    params: params,
    opts: opts,
    base_address: :files
  )
end

.list(params = {}, opts = {}) ⇒ Object

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.



152
153
154
# File 'lib/stripe/resources/file.rb', line 152

def self.list(params = {}, opts = {})
  request_stripe_object(method: :get, path: "/v1/files", params: params, opts: opts)
end

.object_nameObject



17
18
19
# File 'lib/stripe/resources/file.rb', line 17

def self.object_name
  "file"
end

.object_name_altObject



161
162
163
# File 'lib/stripe/resources/file.rb', line 161

def self.object_name_alt
  "file_upload"
end

.resource_urlObject



165
166
167
# File 'lib/stripe/resources/file.rb', line 165

def self.resource_url
  "/v1/files"
end