View Source Stripe.Event (Striped v0.4.0)

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. Note that many API requests may cause multiple events to be created. For example, if you create a new subscription for a customer, you will receive both a customer.subscription.created event and a charge.succeeded event.

Events occur when the state of another API resource changes. The state of that resource at the time of the change is embedded in the event's data field. For example, a charge.succeeded event will contain a charge, and an invoice.payment_failed event will contain an invoice.

As with other API resources, you can use endpoints to retrieve an individual event or a list of events from the API. We also have a separate webhooks system for sending the Event objects directly to an endpoint on your server. Webhooks are managed in your account settings, and our Using Webhooks guide will help you get set up.

When using Connect, you can also receive notifications of events that occur in connected accounts. For these events, there will be an additional account attribute in the received Event object.

NOTE: Right now, access to events through the Retrieve Event API is guaranteed only for 30 days.

Link to this section Summary

Types

t()

The event type.

Functions

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 api_version attribute (not according to your current Stripe API version or Stripe-Version header).

Retrieves the details of an event. Supply the unique identifier of the event, which you might have received in a webhook.

Link to this section Types

@type created() :: %{
  optional(:gt) => integer(),
  optional(:gte) => integer(),
  optional(:lt) => integer(),
  optional(:lte) => integer()
}
@type t() :: %Stripe.Event{
  account: binary(),
  api_version: binary() | nil,
  created: integer(),
  data: term(),
  id: binary(),
  livemode: boolean(),
  object: binary(),
  pending_webhooks: integer(),
  request: term() | nil,
  type: binary()
}

The event type.

  • account The connected account that originated the event.
  • api_version The Stripe API version used to render data. Note: This property is populated only for events on or after October 31, 2014.
  • created Time at which the object was created. Measured in seconds since the Unix epoch.
  • data
  • id Unique identifier for the object.
  • livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode.
  • object String representing the object's type. Objects of the same type share the same value.
  • pending_webhooks Number of webhooks that have yet to be successfully delivered (i.e., to return a 20x response) to the URLs you've specified.
  • request Information on the API request that instigated the event.
  • type Description of the event (e.g., invoice.created or charge.refunded).

Link to this section Functions

Link to this function

list(client, params \\ %{}, opts \\ [])

View Source
@spec list(
  client :: Stripe.t(),
  params :: %{
    optional(:created) => created() | integer(),
    optional(:delivery_success) => boolean(),
    optional(:ending_before) => binary(),
    optional(:expand) => [binary()],
    optional(:limit) => integer(),
    optional(:starting_after) => binary(),
    optional(:type) => binary(),
    optional(:types) => [binary()]
  },
  opts :: Keyword.t()
) ::
  {:ok, Stripe.List.t(t())} | {:error, Stripe.ApiErrors.t()} | {:error, term()}

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 api_version attribute (not according to your current Stripe API version or Stripe-Version header).

Details

  • Method: get
  • Path: /v1/events
Link to this function

retrieve(client, id, params \\ %{}, opts \\ [])

View Source
@spec retrieve(
  client :: Stripe.t(),
  id :: binary(),
  params :: %{optional(:expand) => [binary()]},
  opts :: Keyword.t()
) :: {:ok, t()} | {:error, Stripe.ApiErrors.t()} | {:error, term()}

Retrieves the details of an event. Supply the unique identifier of the event, which you might have received in a webhook.

Details

  • Method: get
  • Path: /v1/events/{id}