Skip to content
Merchant guide
HTTPS · Signed events

Troubleshooting

Something broke? These are the repair maps: the error code from a management operation, the attempt outcome from the delivery history, or the symptom and its cause.

Reviewed against implementation
YOUR INTEGRATION, AT A GLANCE
Webhook delivery · Headers
POST /your-webhook-endpoint
Content-Type: application/json
webhook-event-type: order.created
webhook-id: <endpoint_id>
webhook-event-id: <event_id>
webhook-delivery-id: <delivery_id>
webhook-timestamp: <unix_seconds>
webhook-signature: v1=<hmac_sha256_hex>
See the implementation
On this page

01Endpoint management error codes

CodeHTTPMeaning
Forbidden403The session does not own this store, or the store is inactive/paused.
invalid_request400Invalid input: the name (1–100 chars), the URL shape (HTTPS on 443/8443, max 2048 chars), an unknown event type, an empty subscription, or an attempt to subscribe to ping.
endpoint_limit409The store reached its 10-endpoint limit — pause or delete one.
name_taken409The name is already used within the same store — pick another.
rate_limited429The replay budget (1000/hour) or the test-event budget (10/hour) is exhausted — wait and continue.
—401No dashboard session or it expired — sign in again.

02Attempt outcomes and fixes

OutcomeMeaningFix
SUCCESSYour server responded 2xx — the delivery settled.Nothing to do.
NON_2XXYour server responded with a non-2xx status (3xx after the redirect chain counts too).Make the receiver respond 2xx as soon as it accepts the request.
TIMEOUTNo complete response within 10 seconds.Respond fast; do the heavy work in the background.
TRANSPORT_ERRORThe connection itself failed: DNS, TLS handshake, connection refused or reset.Check the host is up, its certificate valid, and it is publicly reachable.
BLOCKED_URLThe endpoint URL breaks the rules: not HTTPS, a disallowed port, or user:pass@.Fix the URL in the endpoint settings.
BLOCKED_HOSTThe hostname resolved to an internal or reserved address.Use a real public host.
REDIRECT_BLOCKEDMore than 3 redirect hops, or a hop failed validation.Point the endpoint at the final URL directly.
OVERSIZED_RESPONSEYour response body exceeded the 64 KB drain cap.Respond with a short body — the platform never reads it anyway.
ABANDONEDA delivery worker abandoned the attempt before reporting its result.Informational in the attempt history — check the delivery for its current state.

03Common symptoms and quick fixes

  • No deliveries at all? Check the endpoint is active and subscribed to the event type that actually fired, that the event happened after the subscription, and that it appears in the events screen. Events are delivered within seconds — only judge after a full minute of silence.
  • Signature always failing? The most common cause is re-serializing JSON before verifying — verify on the raw body first. Also confirm the right secret (this endpoint's whsec_) and your server clock accuracy.
  • Many PENDING deliveries? Normal — either awaiting their next attempt per the exponential backoff, or holding a short claim lease that expires within minutes.
  • No deliveries for older events? Events are generated only while an active subscribed endpoint exists — there is no backfill.
  • An old item missing from the screens? Its retention window passed (14 days for events, 30 for deliveries).
  • Want to inspect a payload without waiting for a real event? The "Send test event" button delivers a fully spec-compliant ping within about a minute.