Skip to content
You're viewing guides for Paddle Classic, which is no longer available for new signups. Head to developer.paddle.com for Paddle Billing guides.

Subscription updated

A subscription_updated event is fired when there is a change to the plan, price, quantity or status for a customer’s existing subscription - or if the payment date is rescheduled manually.

Information sent in the payload for a subscription_updated webhook is summarised in the table below.

Property Type Description Example
alert_id string The unique identifier for this Paddle webhook alert. Integer value sent as a string.
alert_name string The alert name.
subscription_updated
cancel_url string<uri> A URL for the ‘Cancel Subscription’ page. See this documentation on cancelation URLs. Store this URL together with the subscribed customer in your database.
Max Length: <=200 characters
checkout_id string The unique checkout id for the order created. 27835673-chre93c81118fc7-b3092639c1
currency string The three-letter ISO currency code. For a full list of supported currencies, see our Supported Currencies page. USD GBP
custom_data string A JSON encoded string of custom data that was passed into the checkout for this subscription {"external_id": 42}
email string<email> The email address of the customer.
event_time string<date-time> The date and time the event was triggered in UTC (Coordinated Universal Time).
marketing_consent string The value of this field 0 or 1 indicates whether the user has agreed to receive marketing messages from the vendor.
Allowed values: 0 1
new_price string The new total recurring price of the subscription. Decimal sent as a string.
new_quantity string The new quantity applied to a quantity enabled subscription.
new_unit_price string The new price per unit of the subscription. Decimal sent as a string.
next_bill_date string<date> The date the next payment is due on this subscription.
Note: this will be empty if the subscription is in past due and all payment retry attempts have failed.
old_next_bill_date string<date> The next bill date before the subscription was updated.
Note: this will be empty if the subscription was in past due and all payment retry attempts previously failed.
old_price string The previous total recurring price of the subscription. Decimal sent as a string.
old_quantity string The previous quantity applied to the subscription.
old_status string The subscription status before the subscription was updated. A list of possible values and their meanings can be found under Event Statuses.
Allowed values: active trialing past_due paused deleted
old_subscription_plan_id string The ID of the subscription plan before the subscription was updated.
old_unit_price string The previous price per unit of the subscription. Decimal sent as a string.
p_signature string This field contains an encrypted token that you can use to verify the request authenticity. See Verifying Webhooks.
passthrough string This field contains any values that you passed into the checkout using the passthrough parameter. See the Pass Parameters documentation for more information.
Max Length: <=1000 characters
status string This is the current status of the subscription. A list of possible values and their meanings can be found under Event Statuses.
Allowed values: active trialing past_due paused deleted
subscription_id string This is the unique Subscription ID for this customer’s subscription. Store this with the customer in your database, as it is needed for making API calls.
subscription_plan_id string The ID of the Subscription Plan the customer is subscribed to. (This is the value that will change upon plan change).
update_url string<url> A URL of the ‘Update Payment Details’ page. See this documentation on update URLs. Store this URL along with the subscribed customer in your database.
Max Length: <=200 characters
user_id string The customer user ID.
paused_at string<date-time> The date and time when the subscription was requested to be paused. The subscription will be paused on the paused_from date.
paused_from string<date-time> The date when the subscription payment is paused. The customer should be able to use the service they’ve subscribed to up until this date.
paused_reason string The reason why the subscription was paused. For example, delinquent if the payment failed and the rule specified in the recover settings was to pause the subscription.
Allowed values: delinquent voluntary