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



65
66
67
# File 'lib/stripe/resources/event.rb', line 65

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.



67
68
69
# File 'lib/stripe/resources/event.rb', line 67

def api_version
  @api_version
end

#createdObject (readonly)

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



69
70
71
# File 'lib/stripe/resources/event.rb', line 69

def created
  @created
end

#dataObject (readonly)

Attribute for field data



71
72
73
# File 'lib/stripe/resources/event.rb', line 71

def data
  @data
end

#idObject (readonly)

Unique identifier for the object.



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

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.



75
76
77
# File 'lib/stripe/resources/event.rb', line 75

def livemode
  @livemode
end

#objectObject (readonly)

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



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

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.



79
80
81
# File 'lib/stripe/resources/event.rb', line 79

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.



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

def reason
  @reason
end

#requestObject (readonly)

Information on the API request that triggers the event.



83
84
85
# File 'lib/stripe/resources/event.rb', line 83

def request
  @request
end

#typeObject (readonly)

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



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

def type
  @type
end

Class Method Details

.list(filters = {}, 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).



88
89
90
# File 'lib/stripe/resources/event.rb', line 88

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

.object_nameObject



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

def self.object_name
  "event"
end