# Types of events

| **EVENT TYPE**                           | **DATA OBJECT**                 | **DESCRIPTION**                                              |
| :--------------------------------------- | :------------------------------ | :----------------------------------------------------------- |
| charge.captured                          | data.object is a charge         | Occurs whenever a previously uncaptured charge is captured.  |
| charge.dispute.closed                    | data.object is a dispute        | Occurs when a dispute is closed and the dispute status changes to lost, warning_closed, or won. |
| charge.dispute.created                   | data.object is a dispute        | Occurs whenever a customer disputes a charge with their bank. |
| charge.dispute.funds_reinstated          | data.object is a dispute        | Occurs when funds are reinstated to your account after a dispute is closed. This includes partially refunded payments. |
| charge.dispute.funds_withdrawn           | data.object is a dispute        | Occurs when funds are removed from your account due to a dispute. |
| charge.dispute.updated                   | data.object is a dispute        | Occurs when the dispute is updated (usually with evidence).  |
| charge.refund.updated                    | data.object is a refund         | Occurs whenever a refund is updated, on selected payment methods. |
| checkout.session.expired                    | data.object is a checkout session         | Occurs when a Checkout Session is expired. |
| payment_intent.amount_capturable_updated | data.object is a payment intent | Occurs when a PaymentIntent has funds to be captured. Check the `amount_capturable` property on the PaymentIntent to determine the amount that can be captured. You may capture the PaymentIntent with an `amount_to_capture` value up to the specified amount. |
| payment_intent.canceled                  | data.object is a payment intent | Occurs when a PaymentIntent is canceled.                     |
| payment_intent.created                   | data.object is a payment intent | Occurs when a new PaymentIntent is created.                  |
| payment_intent.payment_failed            | data.object is a payment intent | Occurs when a PaymentIntent has failed the attempt to create a payment method or a payment. |
| payment_intent.processing                | data.object is a payment intent | Occurs when a PaymentIntent has started processing.          |
| payment_intent.requires_action           | data.object is a payment intent | Occurs when a PaymentIntent transitions to requires_action state |
| payment_intent.succeeded                 | data.object is a payment intent | Occurs when a PaymentIntent has successfully completed payment. |
| payment_intent.requires_confirmation     | data.object is a payment intent | Occurs when a Paymentintent requires further confirmation    |
| payment_intent.updated                   | data.object is a payment intent | Occurs when a PaymentIntent is updated                       |
| invoice.created                          | data.object is an invoice       | Occurs whenever a new invoice is created. To learn how webhooks can be used with this event, and how they can affect it, see Using Webhooks with Subscriptions. |
| invoice.deleted                          | data.object is an invoice       | Occurs whenever a draft invoice is deleted.                  |
| invoice.finalization_failed              | data.object is an invoice       | Occurs whenever a draft invoice cannot be finalized. See the invoice’s last finalization error for details. |
| invoice.finalized                        | data.object is an invoice       | Occurs whenever a draft invoice is finalized and updated to be an open invoice. |
| invoice.marked_uncollectible             | data.object is an invoice       | Occurs whenever an invoice is marked uncollectible.          |
| invoice.paid                             | data.object is an invoice       | Occurs whenever an invoice payment attempt succeeds or an invoice is marked as paid out-of-band. |
| invoice.payment_failed                   | data.object is an invoice       | Occurs whenever an invoice payment attempt fails, due either to a declined payment or to the lack of a stored payment method. |
| invoice.payment_succeeded                | data.object is an invoice       | Occurs whenever an invoice payment attempt succeeds.         |
| invoice.updated                          | data.object is an invoice       | Occurs whenever an invoice changes (e.g., the invoice amount). |
| invoice.voided                           | data.object is an invoice       | Occurs whenever an invoice is voided.                        |
| payout.canceled                          | data.object is a payout         | Occurs whenever a payout is canceled.                        |
| payout.created                           | data.object is a payout         | Occurs whenever a payout is created.                         |
| payout.failed                            | data.object is a payout         | Occurs whenever a payout attempt fails.                      |
| payout.paid                              | data.object is a payout         | Occurs whenever a payout is expected to be available in the destination account. If the payout fails, a payout.failed notification is also sent, at a later time. |
| payout.updated                           | data.object is a payout         | Occurs whenever a payout is updated.                         |
| payment_method.detached                  | data.object is a payment method | Occurs whenever a payment method is detached from a customer. |
| payment_method.attached                  | data.object is a payment method | Occurs whenever a new payment method is attached to a customer. |
| setup_intent.canceled                    | data.object is a setup intent   | Occurs when a SetupIntent is canceled.                       |
| setup_intent.created                     | data.object is a setup intent   | Occurs when a new SetupIntent is created.                    |
| setup_intent.requires_action             | data.object is a setup intent   | Occurs when a SetupIntent is in requires_action state.       |
| setup_intent.setup_failed                | data.object is a setup intent   | Occurs when a SetupIntent has failed the attempt to setup a payment method. |
| setup_intent.succeeded                   | data.object is a setup intent   | Occurs when a SetupIntent has successfully setup a payment method. |
| issuing_authorization.created  | data.object is an issuing authorization   | Occurs whenever an authorization is created. |
| issuing_authorization.updated| data.object is an issuing authorization   | Occurs whenever an authorization is updated. |
| issuing_transaction.created  | data.object is an issuing transaction   | Occurs whenever an issuing transaction is created. |
| issuing_transaction.updated | data.object is an issuing transaction   | Occurs whenever an issuing transaction is updated. |
| issuing_card.created  | data.object is an issuing card   | Occurs whenever a card is created. |
| issuing_card.updated | data.object is an issuing card   | Occurs whenever a card is updated. |
| issuing_cardholder.created  | data.object is an issuing cardholder   | Occurs whenever a cardholder is created. |
| issuing_cardholder.updated | data.object is an issuing cardholder   | Occurs whenever a cardholder is updated. |
