---
title: "Receive a BillingServ webhook event"
method: POST
path: "billingServEvent"
tags: ["Webhooks"]
---

# Receive a BillingServ webhook event

`POST billingServEvent` (webhook)

BillingServ sends this request to the HTTPS endpoint configured on the API Information page. When a Webhook Signing Secret is configured, verify the BillingServ-Signature header against the exact raw request body before parsing it. Persist or enqueue the event and respond within 10 seconds. Deliveries may be retried and should be deduplicated using the event ID.

## Headers

- `Webhook-Id` string, uuid, required
- `Webhook-Event` 'webhook.test' | 'payment.succeeded' | 'payment.failed' | 'customer.created' | 'customer.updated' | 'customer.deleted' | 'customer.restored' | 'order.created' | 'order.updated' | 'order.deleted' | 'order.restored' | 'subscription.cancelled' | 'subscription.renewed' | 'invoice.created' | 'invoice.updated' | 'invoice.paid' | 'invoice.deleted' | 'invoice.restored' | 'credit_note.created' | 'credit_note.updated' | 'credit_note.deleted' | 'support_ticket.created' | 'support_ticket.updated' | 'support_ticket.deleted' | 'support_ticket.message_created', required
- `BillingServ-Signature` string

## Payload

- WebhookEnvelope — Common envelope used for every outbound BillingServ webhook.
  - `id` string, uuid, required — Unique event ID.
  - `type` 'webhook.test' | 'payment.succeeded' | 'payment.failed' | 'customer.created' | 'customer.updated' | 'customer.deleted' | 'customer.restored' | 'order.created' | 'order.updated' | 'order.deleted' | 'order.restored' | 'subscription.cancelled' | 'subscription.renewed' | 'invoice.created' | 'invoice.updated' | 'invoice.paid' | 'invoice.deleted' | 'invoice.restored' | 'credit_note.created' | 'credit_note.updated' | 'credit_note.deleted' | 'support_ticket.created' | 'support_ticket.updated' | 'support_ticket.deleted' | 'support_ticket.message_created', required
  - `version` '1', required — Webhook envelope version. The current version is `1`.
  - `created_at` string, date-time, required
  - `data` union, required
    - WebhookTestData
      - `message` string, required
    - PaymentWebhookData
      - `id` integer
      - `transaction_id` string, nullable
      - `invoice_id` integer, nullable
      - `customer_id` integer
      - `gateway` string, nullable
      - `amount` string — Decimal money value serialized as a string.
      - `currency_id` integer
      - `status` 'succeeded' | 'failed'
      - `created_at` string, date-time, nullable
    - CustomerWebhookData
      - `id` integer
      - `name` string, nullable
      - `email` string, email, nullable
      - `username` string, nullable
      - `vat_number` string, nullable
      - `email_verified_at` string, date-time, nullable
      - `created_at` string, date-time, nullable
      - `updated_at` string, date-time, nullable
      - `deleted_at` string, date-time, nullable
    - InvoiceWebhookData
      - `id` integer
      - `invoice_number` union
        - integer
        - string
      - `customer_id` integer
      - `order_id` integer, nullable
      - `tax` string — Decimal money value serialized as a string.
      - `total` string — Decimal money value serialized as a string.
      - `currency_id` integer
      - `status` 'unpaid' | 'paid' | 'overdue' | 'refunded' | 'cancelled' | 'pending' | 'unknown'
      - `due_at` string, date-time, nullable
      - `comments` string, nullable
      - `estimate` boolean
      - `created_at` string, date-time, nullable
      - `updated_at` string, date-time, nullable
      - `deleted_at` string, date-time, nullable
    - OrderWebhookData
      - `id` integer
      - `customer_id` integer
      - `package_id` integer, nullable
      - `cycle_id` integer, nullable
      - `price` string — Decimal money value serialized as a string.
      - `currency_id` integer, nullable
      - `status` string
      - `domain_name` string, nullable
      - `cancellation_type` string, nullable
      - `reason` string, nullable
      - `last_invoice` string, date-time, nullable
      - `next_invoice` string, date-time, nullable
      - `cancelled_at` string, date-time, nullable
      - `created_at` string, date-time, nullable
      - `updated_at` string, date-time, nullable
      - `deleted_at` string, date-time, nullable
    - CreditNoteWebhookData
      - `id` integer
      - `credit_note_number` union
        - integer
        - string
      - `invoice_id` integer
      - `customer_id` integer
      - `amount` string — Decimal money value serialized as a string.
      - `tax_amount` string — Decimal money value serialized as a string.
      - `currency_id` integer
      - `reason` string, nullable
      - `added_to_account_credit` boolean
      - `issued_at` string, date-time, nullable
      - `created_at` string, date-time, nullable
      - `updated_at` string, date-time, nullable
    - SupportTicketWebhookData
      - `id` integer
      - `customer_id` integer, nullable
      - `order_id` integer, nullable
      - `subject` string
      - `status` string
      - `priority` string, nullable
      - `department` string, nullable
      - `assignee_id` integer, nullable
      - `contact_name` string, nullable
      - `email_address` string, email, nullable
      - `last_action` string, nullable
      - `sla_due_at` string, date-time, nullable
      - `first_response_at` string, date-time, nullable
      - `created_at` string, date-time, nullable
      - `updated_at` string, date-time, nullable
    - SupportTicketMessageWebhookData
      - `id` integer
      - `ticket_id` integer
      - `author_id` integer, nullable
      - `message` string — Sanitized HTML may be present.
      - `created_at` string, date-time, nullable

## Acknowledgement `200`

Event accepted

## Other responses

- `204` — Event accepted with no response body

---

[API](https://skmtc.net/b-cdn/apis/billingserv-api-v2.md) · [All operations](https://skmtc.net/b-cdn/apis/billingserv-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/b-cdn/billingserv-api-v2/revisions/76cfbed5eb40/schema)
