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