@sarrafjs/express
v0.2.1
Published
Express helpers for Sarraf: raw-body middleware and a verified webhook handler.
Maintainers
Readme
@sarrafjs/express
Express helpers for Sarraf.
📖 Docs: Express guide · Accept payments with Paymob · with Kashier
npm i @sarrafjs/core @sarrafjs/express expressimport { rawBody, webhookHandler } from "@sarrafjs/express";
app.post("/api/webhooks/:provider", rawBody(), webhookHandler(pay, async (event) => {
await queue.add("payment-event", event, { jobId: event.id }); // dedupe on event.id
}));rawBody()keeps the exact bytes onreq.rawBody, which signatures need. Use it instead ofexpress.json()on webhook routes.webhookHandler()answers 400 for invalid signatures, 404 for unknown providers, and 500 when your handler throws, so the provider retries.mode: "ack-first"answers 200 before running your handler.
Requires Node.js 22+.
Not affiliated with any payment provider. Part of Sarraf. Apache-2.0.
