Fulfillment Webhook

All fulfillment webhooks include the following data fields:

Product Purchased
event_time
string<date-time>

The date and time the event was triggered in UTC (Coordinated Universal Time).

Match pattern:
[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]
p_country
string

The two-letter ISO country code of the customer. Eg: US, GB. See Supported Countries.

Match pattern:
[A-Z]{2}
p_coupon
string

The coupon code that was used on this order

>= 5 characters<= 300 characters
p_coupon_savings
string

The amount of savings given by the applied coupon.

Match pattern:
^\d+(\.\d{1,2})?$
p_currency
string

The three-letter ISO currency code. Eg: USD, GBP. See Supported Currencies.

Match pattern:
[A-Z]{3}
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 Seller Dashboard.

Match pattern:
^\d+(-\d+)?
p_paddle_fee
string

The amount of this order that was paid to Paddle as a fee.

Match pattern:
^\d+(\.\d{1,2})?$
p_price
string

The price the user paid for this order.

Match pattern:
^\d+(\.\d{1,2})?$
p_product_id
string

The dashboard ID of the product purchased in this order.

Match pattern:
\d+
p_quantity
string

The number of products or subscription seats sold in the transaction.

Match pattern:
\d+
p_sale_gross
string

The total value of the sale (including tax) in the sale currency.

Match pattern:
^\d+(\.\d{1,2})?$
p_tax_amount
string

The amount of this order that was paid in tax.

Match pattern:
^\d+(\.\d{1,2})?$
p_used_price_override
string

Whether the dashboard price was overridden.

Allowed values:
10
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.

<= 1000 characters
quantity
string

This field is deprecated and will be removed in a future update. Please refer to the p_quantity field instead.

Match pattern:
\d+
p_signature
string

This field contains an encrypted token that you can use to verify the request authenticity. See Verifying Webhooks.

You may specify additional custom webhook data fields for each product, either attaching order-specific information or static values.

The marketing_consent field is only included if the customer email has been included.

Product Purchased Addons
{email}
string<email>

The email address of the customer.

{message}
string

The custom message displayed in the checkout.

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

Example:
27835673-chre93c81118fc7-b3092639c1
{static_value}
string

Any fixed string value you wish to include in webhooks for this product.

marketing_consent
integer

The value of this field 0 or 1 indicates whether the user has agreed to receive marketing messages from the vendor.

Allowed values:
01