Class Event

All Implemented Interfaces:
HasId, StripeObjectInterface

public class Event extends ApiResource implements HasId
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.

  • Constructor Details

    • Event

      public Event()
  • Method Details

    • list

      public static EventCollection list(Map<String,Object> params) throws StripeException
      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).
      Throws:
      StripeException
    • list

      public static EventCollection list(Map<String,Object> params, RequestOptions options) throws StripeException
      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).
      Throws:
      StripeException
    • list

      public static EventCollection list(EventListParams params) throws StripeException
      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).
      Throws:
      StripeException
    • list

      public static EventCollection list(EventListParams params, RequestOptions options) throws StripeException
      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).
      Throws:
      StripeException
    • retrieve

      public static Event retrieve(String id) throws StripeException
      Retrieves the details of an event. Supply the unique identifier of the event, which you might have received in a webhook.
      Throws:
      StripeException
    • retrieve

      public static Event retrieve(String id, RequestOptions options) throws StripeException
      Retrieves the details of an event. Supply the unique identifier of the event, which you might have received in a webhook.
      Throws:
      StripeException
    • retrieve

      public static Event retrieve(String id, Map<String,Object> params, RequestOptions options) throws StripeException
      Retrieves the details of an event. Supply the unique identifier of the event, which you might have received in a webhook.
      Throws:
      StripeException
    • retrieve

      public static Event retrieve(String id, EventRetrieveParams params, RequestOptions options) throws StripeException
      Retrieves the details of an event. Supply the unique identifier of the event, which you might have received in a webhook.
      Throws:
      StripeException
    • getDataObjectDeserializer

      public EventDataObjectDeserializer getDataObjectDeserializer()
      Get deserialization helper to handle failure due to schema incompatibility. When event API version matches that of the library's pinned version, the following integration pattern is safe.
         Event event = getEvent(); // either from webhook or event endpoint
         EventDataObjectDeserializer deserializer = event.getDataObjectDeserializer();
         Optional<StripeObject> stripeObject = deserializer.getObject();
       
      You can ensure that webhook events has the same API version by creating webhook endpoint specifying api version](https://stripe.com/docs/api/webhook_endpoints/create) as Stripe.API_VERSION. For reading from old webhook endpoints or old events with potential schema incompatibility, see EventDataObjectDeserializer.deserialize() and EventDataObjectDeserializer.deserializeUnsafe().
    • getAccount

      public String getAccount()
      The connected account that originated the event.
    • getApiVersion

      public String getApiVersion()
      The Stripe API version used to render data. Note: This property is populated only for events on or after October 31, 2014.
    • getCreated

      public Long getCreated()
      Time at which the object was created. Measured in seconds since the Unix epoch.
    • getData

      public EventData getData()
    • getLivemode

      public Boolean getLivemode()
      Has the value true if the object exists in live mode or the value false if the object exists in test mode.
    • getObject

      public String getObject()
      String representing the object's type. Objects of the same type share the same value.

      Equal to event.

    • getPendingWebhooks

      public Long getPendingWebhooks()
      Number of webhooks that have yet to be successfully delivered (i.e., to return a 20x response) to the URLs you've specified.
    • getRequest

      public EventRequest getRequest()
      Information on the API request that instigated the event.
    • getType

      public String getType()
      Description of the event (e.g., invoice.created or charge.refunded).
    • setAccount

      public void setAccount(String account)
      The connected account that originated the event.
    • setApiVersion

      public void setApiVersion(String apiVersion)
      The Stripe API version used to render data. Note: This property is populated only for events on or after October 31, 2014.
    • setCreated

      public void setCreated(Long created)
      Time at which the object was created. Measured in seconds since the Unix epoch.
    • setData

      public void setData(EventData data)
    • setId

      public void setId(String id)
      Unique identifier for the object.
    • setLivemode

      public void setLivemode(Boolean livemode)
      Has the value true if the object exists in live mode or the value false if the object exists in test mode.
    • setObject

      public void setObject(String object)
      String representing the object's type. Objects of the same type share the same value.

      Equal to event.

    • setPendingWebhooks

      public void setPendingWebhooks(Long pendingWebhooks)
      Number of webhooks that have yet to be successfully delivered (i.e., to return a 20x response) to the URLs you've specified.
    • setRequest

      public void setRequest(EventRequest request)
      Information on the API request that instigated the event.
    • setType

      public void setType(String type)
      Description of the event (e.g., invoice.created or charge.refunded).
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getId

      public String getId()
      Unique identifier for the object.
      Specified by:
      getId in interface HasId