> ## Documentation Index
> Fetch the complete documentation index at: https://docs.subotiz.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Event Types

| **Event Name**                        | **Event Type**                       | **Trigger Condition**                                                                                                                   | **Data Structure**                         | Description                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ------------------------------------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Trial period expiring soon            | subscription.trial\_period\_expiring | When the trial expires in 3 days (single reminder)                                                                                      | [Subscription](/en/webhook/subscription-1) | It's triggered when a customer's subscription trial period is due to expire in 3 days.<br />**Use Case**<br />Expiry reminder: Send a trial expiry reminder to the customer.                                                                                                                                                                                                                                                                       |
| First subscription activated          | subscription.first                   | When a subscription is activated for the first time                                                                                     | [Subscription](/en/webhook/subscription-1) | It is triggered when a subscription enters the **trial** or **active** state for the first time. It is sent only once per subscription.<br />**Use Case**<br />Subscription confirmation: To notify the customer of their successful initial subscription (e.g., via push notification or email).<br />Features granting: To unlock the service permissions associated with the customer's subscription (e.g., premium features, resource quotas). |
| Subscription canceled                 | subscription.canceled                | When a subscription is actively canceled                                                                                                | [Subscription](/en/webhook/subscription-1) | It is triggered when a subscription is effectively terminated.<br />**Use Case**<br />Service termination notice: To inform the customer that their subscription has ended, specifying the exact time when service will cease.<br />Features revocation: To revoke the user's paid access and features.                                                                                                                                            |
| Subscription changed                  | subscription.price\_changed          | when a subscription is upgraded or downgraded.                                                                                          | [Subscription](/en/webhook/subscription-1) | It is triggered when a subscription's price changes, providing the specific details of the change.                                                                                                                                                                                                                                                                                                                                                 |
| Invoice paid successfully             | invoice.paid                         | When an invoice is paid successfully                                                                                                    | [Invoice](/en/webhook/invoice)             | It is sent upon successful payment for a one-time purchase or a subscription-related charge. It is used to synchronize invoice status and manage subscriptions.<br />**Use Case**<br />Invoice status synchronization: To update the invoice status to "completed".<br />Subscription management: For renewal invoices, this event contains subscription cycle details, such as the current cycle number and cycle timeframe.                      |
| Invoice payment failed                | invoice.payment\_failed              | When an attempt to pay an invoice fails                                                                                                 | [Invoice](/en/webhook/invoice)             | It is sent when a payment for a one-time purchase or a subscription-related charge ultimately fails. It is not sent for every retry attempt, only upon the final payment failure.<br />**Use Case**<br />Failure notification and payment retry guidance: To alert the customer of the payment failure and provide a means to re-attempt payment.                                                                                                  |
| Invoice Refunded                      | invoice.refunded                     | Notify when the transaction order generated by the subscription is successfully refunded, for obtaining subscription refund information | [Invoice](/en/webhook/invoice)             | This event is sent when a refund occurs for one-time products and subscription-related payments. It is used to synchronize the refund status.                                                                                                                                                                                                                                                                                                      |
| Trade order payment succeeded         | trades.succeeded                     | When a trade order is paid successfully                                                                                                 | [Trade](/en/webhook/trade-1)               | It is sent for any successful payment type and is suitable for closed-loop scenarios involving simple monetary transactions.                                                                                                                                                                                                                                                                                                                       |
| The transaction order payment failed. | trades.payment\_failed               | When a trade order is paid fails                                                                                                        | [Trade](/en/webhook/trade-1)               | This notification will be sent when all types of payments fail, and it is applicable to closed-loop transactions of pure amounts.                                                                                                                                                                                                                                                                                                                  |
| Refund succeeded                      | refunds.succeeded                    | When a refund is processed successfully                                                                                                 | [Refund](/en/webhook/refund-1)             | This event is triggered when a refund has been successfully processed and finalized<br />**Use Case**<br />Refund notification and status synchronization: To inform the user of the refunded amount and update the refund status to "completed".                                                                                                                                                                                                  |
| Refund failed                         | refunds.failed                       | When an attempt to process a refund fails                                                                                               | [Refund](/en/webhook/refund-1)             | This event is triggered when a refund attempt fails.<br />**Use Case**<br />Status synchronization: To update the refund status to "failed".<br />Retry mechanism and manual intervention: To trigger an automatic retry process or alert customer support for manual investigation, enabling a timely re-initiation of the refund to prevent customer complaints and financial disputes.                                                          |
