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


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.