Documentation menu

#Feature status

Generated from the same data as the website and the READMEs. Stable would mean verified against the live gateway and tested; nothing here has that evidence yet.

FeaturePackageStatusEvidence
Session Initialization (/check-out/initialize)nagad-serverexperimentalautomated tests against the local simulator; NOT TESTED against the live gateway (sandbox access needs onboarding credentials)
Order Placement & Complete (/check-out/complete)nagad-serverexperimentalautomated tests against the local simulator; NOT TESTED against the live gateway
Payment Verification (/verify/payment)nagad-serverexperimentalautomated tests against the local simulator incl. tampered amount, order id and merchant id; NOT TESTED against the live gateway
Payment Status Checknagad-serverexperimentalautomated tests against the local simulator
Native Node.js Crypto Provider (OpenSSL 3)nagad-serverbetagolden-vector tests; passes on Node 22 and 24; on Node 18.20 and 20.20 (OpenSSL 3.0) node:crypto rejects RSA PKCS#1 v1.5 decryption, so those tests are skipped there
Legacy SHA1withRSA Signature Supportnagad-serverexperimentalunit tests only; not validated with a real SHA-1 account
Pure-JS PKCS#1 v1.5 decryption (automatic fallback)nagad-serverbetatests on Node 20 (full suite) and a full create+verify smoke run on Node 18.20.8; compared with node:crypto ciphertexts; NOT TESTED against the live gateway
Edge / Serverless Runtimes (Cloudflare Workers, Vercel Edge)nagad-serverplannedNot supported: WebCrypto has no RSAES-PKCS1-v1_5
Memory Session Store (Dev-Only)nagad-serverbetaautomated tests against the local simulator (race and replay tests)
Redis Session Store (Distributed Lua CAS)nagad-serverbetaautomated tests against the local simulator with a real Redis service in CI
Upstash / Generic KV Session Storenagad-serverexperimentalunit tests with a fake KV
Express Adapternagad-serverbetatests inside real Express (with and without a body parser) through create and verify
Next.js App Router Adapternagad-serverbetatests: route handler answers create; web-standard Request/Response
Hono Adapternagad-serverbetatests inside real Hono (node-server) through create and verify
React Hook (useNagadCheckout)nagad-clientbetabehaviour tests: verify-before-success contract
React Native WebView Integrationnagad-clientexperimentalcallback interception tested without a device; NOT TESTED on a physical device
Vue 3 Composable (useNagad)nagad-clientbetabehaviour tests
Angular Service (NagadService)nagad-clientbetabehaviour tests
Local Test Simulator & Throwaway Key Generatornagad-simulatorexperimentalused by the test-suite; not published to npm
Programmatic Refund APInagad-serverplannedNot implemented: no verifiable public specification. The raw() escape hatch is not provided for it.
Server-to-Server Webhook / IPNnagad-serverplannedNot implemented: no public specification
HTTP handler (create, callback)nagad-serverbetaautomated tests against the local simulator: tampering, allowlist, fail-closed, error mapping
Forward-proxy egress (fixed IP)nagad-serverexperimentalunit tests; NOT TESTED against a real proxy
Svelte storenagad-clientbetabehaviour tests
Fastify pluginnagad-serverbetatests inside real Fastify through create and verify
Koa middlewarenagad-serverbetatests inside real Koa through create and verify
Remix, SvelteKit, Astro, Nitro and Nest adaptersnagad-serverexperimentalRemix, SvelteKit and Astro: Request/Response tests; Nitro and Nest: NOT TESTED in a real framework

#Compatibility

Runtime / tool Status
Node.js 20, 22, 24 (CI, Ubuntu) Tested
Node.js 22 on Alpine (musl) Tested
Node.js 18 Smoke-tested (full create and verify) by script; vitest itself needs Node 20+
Node.js 18, 20 crypto Automatic pure-JS decryption fallback, tested
macOS, Windows Not in CI
Cloudflare Workers, Vercel Edge Not supported
Live Nagad sandbox or production Not run by the maintainers

Found a mistake? Edit this page on GitHub. Unofficial community project, not affiliated with Nagad or Third Wave Technologies Ltd.