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`. This property is populated only for events 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)

Attribute for field context



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