Unofficial TypeScript based Node.js SDK for Razorpay API.

Downloads in past


341.0.124 years ago4 years agoMinified + gzip package size for razorpay-typescript in KB


Razorpay TypeScript SDK
npm Build Status
UNOFFICIAL TypeScript based Node.js SDK for Razorpay API.
Read up here for getting started and understanding the payment flow with Razorpay:


npm i razorpay-typescript


Documentation of Razorpay's API and their usage is available at

All New Razorpay Webhook Handler

Introducing RazorWebhook, a wrapper class for simplifying Webhooks actions for Razorpay Webhook Payload. You can now focus more on your core logic than managing event types.
// --------------------
// Webhooks
// --------------------

const razorpayPayload: IRazorWebHookPayload = {
        ...Your payload details ...
const wh: RazorWebhook = new RazorWebhook(razorpayPayload);

/// Setup your custom handler actions
wh.handler.subscriptionActivated = (pl) => {
  /// ----- Your logic code.
  return Promise.resolve();

wh.handler.subscriptionUpdated = (pl) => {
  /// ----- Your logic code.
  return Promise.resolve();

const execute: Promise<any> = await wh.execute();

Basic Usage

Instantiate the razorpay instance with key_id & key_secret. You can obtain the keys from the dashboard app (https://dashboard.razorpay.com/#/app/keys)
const instance: Razorpay = new Razorpay({
  authKey: {
      key_id: 'YOUR_KEY_ID',
      key_secret: 'YOUR_KEY_SECRET', 
  headers: {... Your Headers ...},

The resources can be accessed via the instance. All the methods invocations follows the namespaced signature
// API signature
// {razorpayInstance}.{resourceName}.{methodName}(resourceId [, params])
// Build with neat response interfaces

// example
const paymentDetails: IRazorPaymentId = await instance.payments.fetch(paymentId);

// Additional neat functionality than official nodejs SDK
// now even store instances of all services
// with neat instance classes
const payment: RazorPayment = instance.payments.payment('your_payementId');
      account: 'acc_7HGyrafdeQDGfX',
      amount: 100,
      currency: 'INR'

Every resource method returns a promise.
    from: '2016-08-01',
    to: '2016-08-20',
  .then(response => {
    // handle success
  .catch(error => {
    // handle error


1. Add detailed documentation to ease implementation curve. 2. Further simplification of the data interfaces and introduce a failure response interface. 3. Improve validation for params required and ignore which are params not.


npm install


npm run build


  1. Switch to master branch. Make sure you have the latest changes in the local master
  2. Update the CHANGELOG.md & bump the version in package.json
  3. Commit
  4. Tag the release & push to Github
  5. Create a release on GitHub using the website with more details about the release
  6. Publish to npm with npm publish command


MIT Licensed. See LICENSE.txt for more details

Razorpay Unofficial SDK for TypeScript is a Knoxpo original.