Skip to main content
Create and manage webhook endpoints under Business profile → Developers → Webhooks.

Verification key

Fetch Anyway’s public Ed25519 key and cache it:
publicKey is the prefixed raw-key representation, while keys is the equivalent JWKS representation. The delivery envelope follows Standard Webhooks and uses an asymmetric Ed25519 (v1a) signature. Refresh the cached key if verification begins failing after a key rotation.

Events

Current order events are: An empty endpoint event selection subscribes to all supported events. Fulfill only after a verified order.paid.

Delivery headers and signed content

The signed message is the exact byte sequence:
Verify against the raw request body before JSON parsing. Reject stale timestamps and unknown signatures.

Verify Ed25519 signatures

Payload

The signed envelope contains type, RFC 3339 timestamp, apiVersion, endpoint identity, and data.order. Important order fields include: Never authorize access solely from merchantMetadata, a buyer note, email, or URL parameter. Compare the order, amount, currency, product, and reference with your own server-side record.

Delivery behavior

  • Return a 2xx quickly after durable enqueueing.
  • Each attempt has a 10-second timeout.
  • Transport failures, 408, 429, and 5xx responses are retried.
  • 3xx responses and permanent 4xx responses other than 408 and 429 are not retried.
  • Delivery allows up to 12 attempts with exponential backoff capped at one hour.
  • Retry-After is honored for 429 and 503, up to the one-hour cap.
  • Delivery is at least once and events can arrive out of order.
Use webhook-id or the event/order identity as an idempotency key. Do not let a late pending event regress a locally paid order.
Do not log webhook signatures, API keys, full payment details, identity documents, payout-account information, or unredacted customer metadata.