Unofficial nodejs library for Razorpay API with typescript support.
Read up here for getting started and understanding the payment flow with Razorpay: https://docs.razorpay.com/docs/getting-started
- Typescript support.
- Removed legacy callbacks ( If you were using the promise API, then you don't have to change anything at all)
- Improved code to not require any module inside the function (This was the major reason I opted to create my own library, as requiring module is CPU intensive synchronous task, and requiring it inside the function can block other requests)
- Added support for payment-links
- Removed deprecated request and request-promise and shifted to Axios (request/request#3142).
- Removed the legacy error handling where you have to handle both synchronous as well as promise errors (added the standard RazorpayError class for handling all the errors).
Using npm
npm i razorpay-node-typescript
Using yarn
yarn add razorpay-node-typescript
Documentation of Razorpay API and their usage is available at https://docs.razorpay.com
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 Razorpay = require('razorpay-node-typescript');
const instance = new Razorpay({
key_id: 'YOUR_KEY_ID',
key_secret: 'YOUR_KEY_SECRET',
});
The resources can be accessed via the instance. All the methods invocations follow the namespaced signature
// API signature
// {razorpayInstance}.{resourceName}.{methodName}(resourceId [, params])
// example
instance.payments.fetch(paymentId);
Every resource method returns a promise.
instance.payments
.all({
from: '2016-08-01',
to: '2016-08-20',
})
.then(response => {
// handle success
})
.catch(error => {
// handle error
});
This library comes with the standard way of handling all the errors originated by the Razorpay. The Error object comes with the following keys and value
- message:
- "Missing parameter": If any mandatory key is missing
- "API Error": When the Error comes from the API
- statusCode:
- -1: When Missing parameter
- HTTP Error code in all other cases
- error:
- This is an object which contains the error message that came from the Razorpay API
- In the case of Missing parameter, it will be {message: 'parameter which is missing'}
npm install
npm test
- Switch to the
master
branch. Make sure you have the latest changes in the local master - Update the
CHANGELOG.md
& bump the version inpackage.json
- Commit
- Tag the release & push it to Github
- Create a release on GitHub using the website with more details about the release
- Publish to npm with the
npm publish
command
MIT Licensed. See LICENSE.txt for more details