Skip to main content

Webhooks

Swirepay can notify your backend over HTTPS when important lifecycle events occur—for example when a payment succeeds, fails, is refunded, when a dispute opens, when transfers move between states, or when inventory records change. Configure endpoints and which events you care about in the dashboard.

Technical details for HTTP headers, verifying signatures, and sample JSON payloads are in Webhook delivery & payloads.

Configure webhooks in the dashboard

  1. Sign in to the Swirepay dashboard.
  2. Open DeveloperWebhooks.
  3. You will see webhooks already configured for your account (if any).

Create a webhook

  1. Click Add Webhook.
  2. In the modal, fill in:
FieldPurpose
Webhook URLHTTPS endpoint where Swirepay POSTs JSON payloads for subscribed events. Must be reachable from our servers.
Alert emailIf delivery fails (timeouts, non-2xx responses, etc.), we can notify this address so you can investigate.
SecretShared secret used to sign each payload; your listener verifies authenticity using HMAC (see API docs). Store this securely.
Active eventsCheckboxes for each event type you want on this endpoint—for example successful payments, declines, refunds, transfers, contacts, inventory, and more.
ModeToggle whether this webhook receives test or live events (aligned with test vs live API keys).
EnableToggle to activate or pause delivery without deleting the webhook.
  1. Select Create to save.

You can maintain multiple webhooks—for example separate URLs or event sets for sandbox vs production workloads.

Webhook event types

Each event name appears in the dashboard when you subscribe to webhooks and is echoed in the x-swirepay-event HTTP header on deliveries (see Webhook delivery).

Payment Center

Subscriptions, invoices, payouts, payments (authorize / capture / fail / refund / dispute), payment links, payment success aggregate, and customers.

  • SUBSCRIPTION_INCOMPLETE
  • SUBSCRIPTION_PAID
  • SUBSCRIPTION_ACTIVE
  • SUBSCRIPTION_FAILED
  • SUBSCRIPTION_UPDATED
  • INVOICE_PAID
  • PAYOUT_PROCESSED
  • PAYMENT_AUTHORIZED
  • PAYMENT_FAILED
  • PAYMENT_CAPTURED
  • PAYMENT_REFUND
  • PAYMENT_DISPUTE_CREATED
  • PAYMENT_DISPUTE_WON
  • PAYMENT_DISPUTE_LOST
  • PAYMENT_DISPUTE_CLOSED
  • INVOICE_CREATE
  • CUSTOMER_CREATE
  • CUSTOMER_UPDATE
  • PAYMENT_LINK_PAID
  • PAYMENT_SUCCEEDED

Inventory

  • INVENTORY_ITEM_ADD
  • INVENTORY_ITEM_UPDATE
  • INVENTORY_ITEM_DELETE
  • INVENTORY_ORDER_PAID
  • INVENTORY_ORDER_REFUND

Transfer Center

Contacts, funding sources, transfers, and vendor invoices.

  • CONTACT_CREATE
  • CONTACT_UPDATE — see sample payload (marketplace contact verification)
  • CONTACT_DELETE
  • FUNDING_SOURCE_CREATE
  • FUNDING_SOURCE_UPDATE
  • FUNDING_SOURCE_DELETE
  • TRANSFER_SCHEDULED
  • TRANSFER_PROCESSING
  • TRANSFER_SUCCEEDED
  • TRANSFER_CANCELLED
  • TRANSFER_DECLINED
  • VENDOR_INVOICE_PAID

Payload shapes vary by event

The JSON body always relates to the underlying resource (for example a payment session, transfer state, or contact). Exact fields depend on the product surface and API version—use x-swirepay-event to branch your handler and refer to sample payloads for Payment Center examples and CONTACT_UPDATE for marketplace contact verification.

See also