Add UPI payment acceptance to an Express, Next.js, Fastify, or NestJS app without paying a commission
Generate a UPI QR code or payment link for a checkout page
Verify that a payment webhook notification genuinely came from PhonePe or Paytm
Issue refunds directly through the PhonePe or Paytm merchant APIs
| iamrobinsharaya/upipay | ad3lre/echo | affaan-m/x-algorithm-score | |
|---|---|---|---|
| Stars | 23 | 23 | 23 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | moderate | hard | moderate |
| Complexity | 3/5 | 4/5 | 2/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Requires free merchant credentials from PhonePe Business or Paytm Business and environment variable setup before first use.
UPIPay is a free, open-source Node.js SDK that lets Indian merchants accept UPI payments directly into their bank accounts without paying commissions to commercial payment aggregators like Razorpay, Cashfree, or PayU. Those platforms sit between the customer and the merchant's bank and take roughly 2% per transaction, which the project notes costs a business with one lakh rupees in monthly sales around 24,000 to 36,000 rupees per year in fees for no added value. The reason this is possible is a 2020 Government of India mandate that set the Merchant Discount Rate on standard bank-to-bank UPI transactions to zero. PhonePe Business and Paytm Business are legally required to offer free merchant APIs under this rule. UPIPay wraps those official APIs into a TypeScript-first SDK with a clean developer interface, so your money flows directly from the customer's bank through the NPCI network to your bank, with no aggregator in the middle. Standard bank-account UPI transfers remain fully free, transactions via prepaid wallets or credit cards linked to UPI may incur small interchange fees in some cases. The SDK provides functions for generating UPI QR codes, building UPI payment URIs and deep links for specific apps (PhonePe, Google Pay, Paytm), creating payments, checking payment status, verifying webhook signatures, and initiating refunds. It works with any JavaScript or TypeScript framework including Express, Next.js, Fastify, NestJS, Vue, and SvelteKit. Setup requires registering for free merchant credentials directly with PhonePe Business or Paytm Business, then installing the npm package and configuring a handful of environment variables. The README includes complete integration examples for Express, Next.js App Router, Fastify, NestJS, and Paytm. The library ships with 120 passing tests and is MIT licensed. A security document is included covering webhook verification and other hardening details.
A free, open source Node.js and TypeScript SDK that lets Indian merchants accept UPI payments directly into their bank account, without paying a commission to a payment aggregator.
Mainly TypeScript. The stack also includes TypeScript, Node.js, PhonePe API.
Released under the MIT license, free to use, modify, and redistribute, including for commercial projects.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.