esewa-payment-gateway

Integrate eSewa (Nepal's digital wallet) payment gateway with n8n: Epay v2 and Intent payment flows, HMAC-SHA256 signing, status checks, and callback verification

Package Information

Released: 2 mo ago
Downloads: 0 weekly / 0 monthly
Latest Version: 0.1.0

Documentation

n8n-nodes-esewa-payment-gateway

An n8n community node for eSewa, Nepal's digital wallet and merchant
payment gateway. Covers eSewa's Epay v2 (classic web-redirect checkout) and Intent
(eSewa's own "recommended" app-deeplink checkout) flows: building signed payment requests,
verifying signed responses/callbacks, checking transaction status, and canceling Intent
bookings.

Named n8n-nodes-esewa-payment-gateway rather than the shorter n8n-nodes-esewa because
that name is already taken on npm by an unrelated, actively-maintained ePay-only package.

n8n is a fair-code licensed workflow
automation platform.

Installation
Operations
Credentials
Compatibility
Usage
Resources

Installation

Follow the installation guide
in the n8n community nodes documentation.

Operations

Epay

  • Initiate Payment — builds the HMAC-SHA256 signed form fields and the checkout form URL.
    Epay is a redirect flow, so this doesn't call eSewa directly; use the returned formUrl +
    formData to render/submit the checkout form (e.g. from a webhook response).
  • Verify Response — decodes the Base64 response eSewa appends to your success_url, and
    verifies its signature. Always run this before trusting a redirect as proof of payment.
  • Check Transaction Status — calls eSewa's status-check API server-to-server.

Intent

  • Initialize Payment — books a payment with eSewa and returns a booking_id and deeplink
    to send the customer into the eSewa app.
  • Check Status — checks the status of a booked payment.
  • Cancel Payment — cancels a booking that hasn't completed yet.
  • Verify Callback — verifies the signature of the inbound callback eSewa POSTs to your
    callback_url after payment completes.

Not included: eSewa's Token-based recurring payment flow is architecturally inverted —
eSewa's servers call your server (inquiry → payment → status), not the other way around.
That doesn't fit this action node's shape and would need a separate trigger/webhook node.
See D:\n8n-node\reference\esewa\token-recurring.md for the full spec if you want to build it.

Credentials

Create an eSewa API credential with:

  • Environment — UAT (sandbox) or Production
  • Epay Product Code / Epay Secret Key — from eSewa, or EPAYTEST / the published UAT
    secret key for sandbox testing
  • Intent Product Code / Intent Access Key — only needed if you use the Intent resource
  • Intent Production Base URL Override — eSewa only publishes the Intent UAT host; the
    production host is issued per merchant and isn't documented publicly. Leave blank to use this
    node's best-effort guess (https://checkout.esewa.com.np), or set it if eSewa gave you a
    different host.

Never put a production secret/access key anywhere but this credential — see
n8n-credentials-and-security-official in the n8n-skills plugin for the general rule.

Compatibility

Built and tested against n8n's community node API v1 (n8nNodesApiVersion: 1).

Usage

Every eSewa v2 call is HMAC-SHA256 signed over a specific, ordered field list — this node
handles building and verifying those signatures for you. If you're extending this node or
debugging a signature mismatch, read D:\n8n-node\reference\esewa\README.md first (or load the
esewa-payment-api Claude Code skill) — field order is the most common way a signature
silently breaks.

This is a programmatic-style node, not declarative — every real operation needs
HMAC signing or Base64 decode/verify before or after the HTTP call, which declarative
routing rules can't express.

Resources

Discussion