Create a Webhook Endpoints

Creates a webhook endpoint. A webhook endpoint must have a url and a list of enabled_events.

You can also create, test, and manage webhook endpoints in the Merchant Dashboard. The dashboard provides a user interface for registering endpoints and choosing events.

Related guide: Notifications (Webhooks)

Body·
required
application/json
  • Type: object
    • enabled_events
      Type: array string[] · enum
      required

      The event types this endpoint receives.

      values
      • checkout_session.completed
      • payment_intent.authorized
      • payment_intent.captured
      • account.updated
      • account.external_account.created
      • account.external_account.updated
      • invoice.paid
      • invoice.payment_failed
    • url
      Type: string
      max length:  
      5000
      required

      The URL of the webhook endpoint.

    • name
      Type: string
      max length:  
      5000
      required

      Name to help identify the webhook.

Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for post/v1/webhooks
curl https://api.paypercut.io/v1/webhooks \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "name": "Production payment events",
  "url": "https://example.com/webhooks/paypercut",
  "enabled_events": [
    "checkout_session.completed",
    "payment_intent.authorized",
    "payment_intent.captured",
    "invoice.paid",
    "invoice.payment_failed"
  ]
}'
{
  "id": "string",
  "name": "string",
  "enabled_events": [
    "checkout_session.completed",
    "payment_intent.authorized",
    "payment_intent.captured",
    "invoice.paid",
    "invoice.payment_failed"
  ],
  "status": "string",
  "secret": "string",
  "url": "https://example.com/webhooks/paypercut",
  "created": "2026-05-19T12:09:30.267Z"
}