Class: Stripe::Event

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

Overview

Events are our way of letting you know when something interesting happens in your account. When an interesting event occurs, we create a new ‘Event` object. For example, when a charge succeeds, we create a `charge.succeeded` event, and when an invoice payment attempt fails, we create an `invoice.payment_failed` event. Certain API requests might create multiple events. For example, if you create a new subscription for a customer, you receive both a `customer.subscription.created` event and a `charge.succeeded` event.

Events occur when the state of another API resource changes. The event’s data field embeds the resource’s state at the time of the change. For example, a ‘charge.succeeded` event contains a charge, and an `invoice.payment_failed` event contains an invoice.

As with other API resources, you can use endpoints to retrieve an [individual event](stripe.com/docs/api#retrieve_event) or a [list of events](stripe.com/docs/api#list_events) from the API. We also have a separate [webhooks](en.wikipedia.org/wiki/Webhook) system for sending the ‘Event` objects directly to an endpoint on your server. You can manage webhooks in your [account settings](dashboard.stripe.com/account/webhooks). Learn how to [listen for events](docs.stripe.com/webhooks) so that your integration can automatically trigger reactions.

When using [Connect](docs.stripe.com/connect), you can also receive event notifications that occur in connected accounts. For these events, there’s an additional ‘account` attribute in the received `Event` object.

We only guarantee access to events through the [Retrieve Event API](stripe.com/docs/api#retrieve_event) for 30 days.

Defined Under Namespace

Classes: Data, ListParams, Request

Constant Summary collapse

OBJECT_NAME =
"event"

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::List

list

Methods inherited from APIResource

class_name, custom_method, #refresh, #request_stripe_object, resource_url, #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

#accountObject (readonly)

The connected account that originates the event.



113
114
115
# File 'lib/stripe/resources/event.rb', line 113

def 
  @account
end

#api_versionObject (readonly)

The Stripe API version used to render ‘data` when the event was created. The contents of `data` never change, so this value remains static regardless of the API version currently in use. This property is populated only for events created on or after October 31, 2014.



115
116
117
# File 'lib/stripe/resources/event.rb', line 115

def api_version
  @api_version
end

#contextObject (readonly)

Authentication context needed to fetch the event or related object.



117
118
119
# File 'lib/stripe/resources/event.rb', line 117

def context
  @context
end

#createdObject (readonly)

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



119
120
121
# File 'lib/stripe/resources/event.rb', line 119

def created
  @created
end

#dataObject (readonly)

Attribute for field data



121
122
123
# File 'lib/stripe/resources/event.rb', line 121

def data
  @data
end

#idObject (readonly)

Unique identifier for the object.



123
124
125
# File 'lib/stripe/resources/event.rb', line 123

def id
  @id
end

#livemodeObject (readonly)

Has the value ‘true` if the object exists in live mode or the value `false` if the object exists in test mode.



125
126
127
# File 'lib/stripe/resources/event.rb', line 125

def livemode
  @livemode
end

#objectObject (readonly)

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



127
128
129
# File 'lib/stripe/resources/event.rb', line 127

def object
  @object
end

#pending_webhooksObject (readonly)

Number of webhooks that haven’t been successfully delivered (for example, to return a 20x response) to the URLs you specify.



129
130
131
# File 'lib/stripe/resources/event.rb', line 129

def pending_webhooks
  @pending_webhooks
end

#requestObject (readonly)

Information on the API request that triggers the event.



131
132
133
# File 'lib/stripe/resources/event.rb', line 131

def request
  @request
end

#typeObject (readonly)

Description of the event (for example, ‘invoice.created` or `charge.refunded`).



133
134
135
# File 'lib/stripe/resources/event.rb', line 133

def type
  @type
end

Class Method Details

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

List events, going back up to 30 days. Each event data is rendered according to Stripe API version at its creation time, specified in [event object](docs.stripe.com/api/events/object) api_version attribute (not according to your current Stripe API version or Stripe-Version header).



136
137
138
# File 'lib/stripe/resources/event.rb', line 136

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

.object_nameObject



39
40
41
# File 'lib/stripe/resources/event.rb', line 39

def self.object_name
  "event"
end