---
title: "Paddle webhook"
method: POST
path: "/payments/paddle/webhook"
tags: ["Payments"]
---

# Paddle webhook

`POST /payments/paddle/webhook`

## Request

- Base URL: `https://api.foudroyer.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.foudroyer.com/payments/paddle/webhook`
- Auth: none declared

Receives Paddle webhook events (subscription_created, subscription_cancelled, subscription_payment_succeeded). Called by Paddle, not by clients.

## Request body

- PaymentWebhookBodyDto
  - `alert_name` 'subscription_created' | 'subscription_payment_succeeded' | 'subscription_cancelled', required: Webhook event type
  - `subscription_id` string
  - `subscription_plan_id` string
  - `cancel_url` string
  - `update_url` string
  - `user_id` string
  - `custom_data` string
  - `next_bill_date` string, date-time
  - `cancellation_effective_date` string, date-time

## Response `200`

Webhook processed successfully

---

[API](https://skmtc.dev/foudroyer/apis/foudroyer-api.md) - [All operations](https://skmtc.dev/foudroyer/apis/foudroyer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/foudroyer/apis/foudroyer-api/revisions/5b917c67e013?raw)
