Skip to content

Webhooks

Register a webhook to receive the fiscal result without polling.

Events

Event When
invoice.fiscalized The V-SDC signed the invoice; journal, QR and URL are available.
invoice.failed Fiscalization permanently failed after retries.

Payload

{
  "event": "invoice.fiscalized",
  "request_id": "84cdb2803703ceb1f5b29392b6f594e0",
  "shop_id": "shp_123",
  "external_ref": "SO-1042",
  "invoice_number": "DX73WJZV-KMVACKO0-7877",
  "verification_url": "https://sandbox.taxcore.online/v/?vl=…",
  "journal": "============ FISCAL INVOICE ============ …"
}

Verifying signatures

Every delivery is signed with HMAC-SHA256 over the raw body using your endpoint secret:

X-TaxBridge-Signature: sha256=8d…
import hmac, hashlib

def verify(secret: str, body: bytes, header: str) -> bool:
    expected = "sha256=" + hmac.new(secret.encode(), body, hashlib.sha256).hexdigest()
    return hmac.compare_digest(expected, header)

Deliveries are retried with backoff and dead-lettered after repeated failure; inspect them in the console.