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](docs.stripe.com/api#scheduled_queries)).

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

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

#==, #[], #[]=, #_get_inner_class_type, 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.



22
23
24
# File 'lib/stripe/resources/file.rb', line 22

def created
  @created
end

#expires_atObject (readonly)

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



24
25
26
# File 'lib/stripe/resources/file.rb', line 24

def expires_at
  @expires_at
end

#filenameObject (readonly)

The suitable name for saving the file to a filesystem.



26
27
28
# File 'lib/stripe/resources/file.rb', line 26

def filename
  @filename
end

#idObject (readonly)

Unique identifier for the object.



28
29
30
# File 'lib/stripe/resources/file.rb', line 28

def id
  @id
end

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



30
31
32
# File 'lib/stripe/resources/file.rb', line 30

def links
  @links
end

#objectObject (readonly)

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



32
33
34
# File 'lib/stripe/resources/file.rb', line 32

def object
  @object
end

#purposeObject (readonly)

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



34
35
36
# File 'lib/stripe/resources/file.rb', line 34

def purpose
  @purpose
end

#sizeObject (readonly)

The size of the file object in bytes.



36
37
38
# File 'lib/stripe/resources/file.rb', line 36

def size
  @size
end

#titleObject (readonly)

A suitable title for the document.



38
39
40
# File 'lib/stripe/resources/file.rb', line 38

def title
  @title
end

#typeObject (readonly)

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



40
41
42
# File 'lib/stripe/resources/file.rb', line 40

def type
  @type
end

#urlObject (readonly)

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



42
43
44
# File 'lib/stripe/resources/file.rb', line 42

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.



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/stripe/resources/file.rb', line 47

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

.field_remappingsObject



85
86
87
# File 'lib/stripe/resources/file.rb', line 85

def self.field_remappings
  @field_remappings = {}
end

.inner_class_typesObject



81
82
83
# File 'lib/stripe/resources/file.rb', line 81

def self.inner_class_types
  @inner_class_types = {}
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.



64
65
66
# File 'lib/stripe/resources/file.rb', line 64

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



73
74
75
# File 'lib/stripe/resources/file.rb', line 73

def self.object_name_alt
  "file_upload"
end

.resource_urlObject



77
78
79
# File 'lib/stripe/resources/file.rb', line 77

def self.resource_url
  "/v1/files"
end