Installation & Setup
Install @omkarbhosale/upiqr into your application. Shipped with zero external native binaries, full TypeScript type definitions, and dual ESM/CJS module exports.
Package Managers
Select your preferred package manager to install the latest v3.0.0 release:
npm install @omkarbhosale/upiqromkarbhosale-upi-qr. Read the Python Integration Guide →Import Styles
Version 3.0.0 ships with first-class support for both named and default imports:
Named Imports (Recommended)
Enables modern tree-shaking and cleaner auto-completion in modern IDEs:
// Recommended in v3.0.0 for optimal tree-shaking
import { generateQR, splitTransactionQR } from "@omkarbhosale/upiqr";
// Import TypeScript interfaces
import type { QRParams, SplitQRParams, SplitQRItem } from "@omkarbhosale/upiqr";Default Import (Backward Compatible)
If migrating from v1.x/v2.x, your existing default imports continue to work without breaking changes:
// Backwards-compatible default export
import upiqr from "@omkarbhosale/upiqr";
// Single QR
const qr = await upiqr({ UPI_ID: "merchant@upi", AMOUNT: 500 });
// Split Transaction
const splits = await upiqr.splitTransactionQR({ UPI_ID: "merchant@upi", AMOUNT: 4000 });CommonJS
// CommonJS environments
const { generateQR, splitTransactionQR } = require("@omkarbhosale/upiqr");TypeScript Declarations
The package includes built-in declaration files (.d.ts and .d.ts.map) generated directly by TypeScript. No separate @types/ package is needed.
Parameters for single UPI QR generation
Parameters for transaction splitting with thresholds
Item return structure containing id, amount, and image
Supported Environments
| Environment | Status | Notes |
|---|---|---|
| Node.js (16+) | Supported | Native support in ESM and CommonJS |
| Next.js (App & Pages) | Supported | Client components and Server Actions / API routes |
| Modern Browsers | Supported | Bundled via Vite, Webpack, Turbopack, or Rollup |
| TypeScript (4.5+) | Supported | Native types bundled in package root |
Verify Installation
Run this minimal script to verify that the package is correctly installed and resolving:
import { generateQR } from "@omkarbhosale/upiqr";
async function test() {
const dataUrl = await generateQR({
UPI_ID: "test@upi",
AMOUNT: 100,
});
console.log("Success! QR Data URL:", dataUrl.slice(0, 30) + "...");
}
test();