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, Reason, 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.



142
143
144
# File 'lib/stripe/resources/event.rb', line 142

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.



144
145
146
# File 'lib/stripe/resources/event.rb', line 144

def api_version
  @api_version
end

#contextObject (readonly)

Authentication context needed to fetch the event or related object.



146
147
148
# File 'lib/stripe/resources/event.rb', line 146

def context
  @context
end

#createdObject (readonly)

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



148
149
150
# File 'lib/stripe/resources/event.rb', line 148

def created
  @created
end

#dataObject (readonly)

Attribute for field data



150
151
152
# File 'lib/stripe/resources/event.rb', line 150

def data
  @data
end

#idObject (readonly)

Unique identifier for the object.



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

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.



154
155
156
# File 'lib/stripe/resources/event.rb', line 154

def livemode
  @livemode
end

#objectObject (readonly)

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



156
157
158
# File 'lib/stripe/resources/event.rb', line 156

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.



158
159
160
# File 'lib/stripe/resources/event.rb', line 158

def pending_webhooks
  @pending_webhooks
end

#reasonObject (readonly)

Information about the action that causes the event. Only present when the event is triggered by an API request or an [Automation](docs.stripe.com/billing/automations) action.



160
161
162
# File 'lib/stripe/resources/event.rb', line 160

def reason
  @reason
end

#requestObject (readonly)

Information on the API request that triggers the event.



162
163
164
# File 'lib/stripe/resources/event.rb', line 162

def request
  @request
end

#typeObject (readonly)

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



164
165
166
# File 'lib/stripe/resources/event.rb', line 164

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).



167
168
169
# File 'lib/stripe/resources/event.rb', line 167

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