| name | uber-webhooks |
| description | Receive and verify Uber Eats webhooks. Use when setting up Uber webhook handlers, debugging X-Uber-Signature verification, or handling order events like orders.notification, orders.cancel, store.provisioned, or store.status.changed.
|
| license | MIT |
| metadata | {"author":"hookdeck","version":"0.1.0","repository":"https://github.com/hookdeck/webhook-skills"} |
Uber Webhooks
When to Use This Skill
- How do I receive Uber Eats webhooks?
- How do I verify Uber webhook signatures?
- Why is my
X-Uber-Signature verification failing?
- How do I handle
orders.notification or orders.cancel events?
- Setting up an Uber Eats webhook receiver in Express, Next.js, or FastAPI
Verification (core)
Uber Eats signs the raw request body with HMAC-SHA256 keyed on your app's
client secret and sends the digest as a lowercased hex string in the
X-Uber-Signature header (no sha256= prefix). Pass the raw body bytes,
compute the digest, and compare timing-safe.
Node:
const crypto = require('crypto');
function () {
(!signatureHeader) ;
expected = crypto
.(, clientSecret)
.(rawBody)
.();
{
crypto.(
.(signatureHeader, ),
.(expected, )
);
} {
;
}
}