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 payment failed

A subscription_payment_failed event is fired when a payment for an existing subscription fails.

Information sent in the payload for a subscription_payment_failed 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.
Default: subscription_payment_failed
amount string The amount that we tried to charge for this payment. Decimal value sent as a string.
attempt_number string Number of failed payment attempts made so far for this instalment. This number will reset back to 1 if the “Reset Attempts” button in the subscription management page is clicked.
cancel_url string<uri> A URL for the ‘Cancel Subscription’ page. See this documentation on cancelation URLs. Store this URL along 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).
instalments string Number of payments made to date, starting from 1 for the customer’s first payment. Integer sent as string.
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
next_retry_date string<date> The date that we will next try to process this failed payment.
Note: this will be empty if the subscription is in past due and all payment retry attempts have failed.
order_id string The Paddle Order ID for this payment. This can be used to look up the order within your Seller Dashboard.
user_id string The customer user ID.
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
quantity string The number of products or subscription seats sold in the transaction.
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_payment_id string The unique ID of the subscription payment.
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).
unit_price string The price per unit of the subscription.
update_url string<uri> 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