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.

Fulfillment webhook

Order Fulfillment webhooks are used to send order-specific data to a customer after a checkout is completed. These work differently to other Paddle webhooks. For information about usage and setup, see: Order Fulfillment Overview.

Information sent in the payload for all Product Purchased fulfillment webhooks is summarized in the table below.

Property Type Description Example
event_time string<date-time> The date and time the event was triggered in UTC (Coordinated Universal Time).
p_country string The two-letter ISO country code of the customer. For a full list of supported countries, see our Supported Countries page. US GB DE
p_coupon string The coupon code that was used on this order.
Min Length: >=5 characters
Max Length: <=300 characters
p_coupon_savings string The amount of savings given by the applied coupon.
p_currency string The three-letter ISO currency code. For a full list of supported currencies, see our Supported Currencies page.
p_earnings string The amount credited to your balance. It is returned as a JSON string in the format: {vendor_id: earnings_amount}. The string will contain multiple entries if there is more than one account involved in the purchase (for example a split checkout).
p_order_id string The Paddle Order ID for this payment. This can be used to look up the order within your Vendor Dashboard.
p_paddle_fee string The amount of this order that was paid to Paddle as a fee.
p_price string The price the user paid for this order.
p_product_id string The dashboard ID of the product purchased in this order.
p_quantity string The number of products or subscription seats sold in the transaction.
p_sale_gross string The total value of the sale (including tax) in the sale currency.
p_tax_amount string The amount of this order that was paid in tax.
p_used_price_override string Whether the dashboard price was overridden.
Allowed values: 1 0
passthrough string This field contains any values that you passed into the checkout using the passthrough parameter. Max Length: <=1000 characters. For more information see our Pass Parameters page.
quantity string This field is deprecated and will be removed in a future update. Please refer to the p_quantity field instead.
p_signature string This field contains an encrypted token that you can use to verify the request authenticity. See Verifying Webhooks.
p_custom_data string A JSON encoded string of custom data that was passed into the checkout for this order. {"external_id": 42}

You may specify additional custom webhook data fields for each product, either attaching order-specific information or static values. Available fields are summarized in the table below.

Property Type Description Example
Email string<email> The email address of the customer.
message string The custom message displayed in the checkout. Max length: <=255 characters
customer_name string The name of the customer. For card payments, this will return the cardholder name entered by the buyer during the checkout. For PayPal payments, this will return the name from the PayPal account used during the checkout. For all other payment methods where the name is not collected (including Apple Pay and Wire Transfer), we will return the email prefix from the customer’s email address.
transaction_id string A unique hash representing the transaction.
checkout_id string The checkout id of the order created. 27835673-chre93c81118fc7-b3092639c1
static_value string Any fixed string value you wish to include in webhooks for this product.
marketing_consent string This field is only included if the customer email is included. 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