Skip to main content

Event types

Shoppex supports order, subscription, product, query, feedback, affiliate, and reseller webhooks. Event names use colons as separators, like order:paid.
When creating webhooks through the Dev API, send the exact event name, for example order:paid. Wildcard patterns like invoice.* do not work. Fetch the full allowlist from GET /dev/v1/webhooks/events.
These event payloads are not the same as the dynamic_webhook callback used by DYNAMIC products. For that contract, see Dynamic product delivery.

Supported event names

For paid product purchases, subscribe to order:paid or order:paid:product. If that purchase reduces available stock, Shoppex does not send a separate product:stock event for the same checkout.
order:item.delivered and order:item.delivery_failed report per-line-item fulfillment after payment. See Asynchronous and Manual Fulfillment for their payloads and recovery flow.

Payload families

Invoice payload

These events use the same base invoice payload shape as order:paid:
  • order:created
  • order:updated
  • order:partial
  • order:paid
  • order:cancelled
  • order:disputed
  • order:manual_payment_pending

Invoice payload with products

These events use the same invoice payload plus the products array, like order:paid:product:
  • order:created:product
  • order:updated:product
  • order:partial:product
  • order:paid:product
  • order:cancelled:product
  • order:disputed:product

Example payloads

order:paid

Triggered when an order/invoice is successfully paid.
Dashboard simulation for order:paid uses this same envelope shape and the same core fields, just with synthetic values.

order:cancelled

Triggered when an order is cancelled or expires.

order:paid:product

Same as order:paid but includes full product details in the payload.

order:cancelled:product

Same as order:cancelled but includes full product details.

order:manual_payment_pending

Triggered when Shoppex is waiting for an offline or manual payment review.

Common fields

All webhook payloads include these top-level fields:
Top-level webhook created_at is a Unix timestamp. Nested timestamps inside data, like invoice created_at / updated_at or subscription period fields, are ISO 8601 strings when present.

Webhooks

Setup, verification, and response handling

Dynamic delivery

Deliver products in real time through the webhook response