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.

PropertyTypeDescriptionExample
alert_idstringThe unique identifier for this Paddle webhook alert. Integer value sent as a string.
alert_namestringThe alert name.
Default: subscription_payment_failed
amountstringThe amount that we tried to charge for this payment. Decimal value sent as a string.
attempt_numberstringNumber 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_urlstring<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_idstringThe unique checkout id for the order created.27835673-chre93c81118fc7-b3092639c1
currencystringThe three-letter ISO currency code. For a full list of supported currencies, see our Supported Currencies page.USD GBP
custom_datastringA JSON encoded string of custom data that was passed into the checkout for this subscription{"external_id": 42}
emailstring<email>The email address of the customer.
event_timestring<date-time>The date and time the event was triggered in UTC (Coordinated Universal Time).
instalmentsstringNumber of payments made to date, starting from 1 for the customer's first payment. Integer sent as string.
marketing_consentstringThe 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_datestring<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_idstringThe Paddle Order ID for this payment. This can be used to look up the order within your Seller Dashboard.
user_idstringThe customer user ID.
p_signaturestringThis field contains an encrypted token that you can use to verify the request authenticity. See Verifying Webhooks.
passthroughstringThis 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
quantitystringThe number of products or subscription seats sold in the transaction.
statusstringThis 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_idstringThis 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_idstringThe unique ID of the subscription payment.
subscription_plan_idstringThe ID of the Subscription Plan the customer is subscribed to. (This is the value that will change upon plan change).
unit_pricestringThe price per unit of the subscription.
update_urlstring<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