Ssentezo Developers
Sandbox and production use the same API host. The organization status, SANDBOX or LIVE, is the environment. This portal does not simulate a successful payment when a call fails.

Framework ยท Node.js

Node.js Beta

Server-side Node.js client with a checkout flow that confirms payment through the status API.

Version0.1.0
CompatibilityNode.js 18+. No runtime dependencies.
Installnpm install from integrations/node-sdk. It is not published on npm.
Sourceintegrations/node-sdk
LicenseMIT
SandboxSandbox is the organization status on the wallet. In sandbox mode the client refuses the production host, requires sandboxHostVerified, and accepts only 256770000001 to 256770000004. Live mode requires allowLivePayments.

Supported in this version

  • Every merchant API route
  • TypeScript types
  • createPaymentFlow for start, callback, and confirm
  • Status-API amount, reference, and UGX check
  • Uncertain deposit responses stay pending
  • Sandbox and live safeguards
  • API key redacted from errors

Install

  1. Run npm install ../ssentezo_wallet/integrations/node-sdk from your application.
  2. Create new SsentezoClient({ apiUser, apiKey, baseUrl }) on the server only. The constructor refuses to run in a browser.
  3. Wire createPaymentFlow() to your pay, callback, and status routes. The README has an Express example.
  4. Run npm test in integrations/node-sdk. The tests use a fake transport.

Checkout

start() sends one POST /api/deposit and leaves the order pending. handleCallback() reads only the reference from the unsigned callback. confirm() calls POST /api/get_status/{externalReference} and marks the order paid only for SUCCEEDED with the same reference, amount, and UGX.