pay-instamojo

1.0.4 • Public • Published

NPM Package For Instamojo Payment Gateway REST API

HitCount Generic badge GitHub license GitHub contributors GitHub issues GitHub issues-closed

NPM

A node.js module, which provides an object oriented wrapper for the Instamojo REST API.

This library is built to support version 1.1 of the Instamojo API.

Instamojo API documentation can be found here

All About Instamojo

Installation

Install with the node package manager npm:

$ npm install pay-instamojo

How To Use?

Create the Instamojo client

const InstamojoApi = require('pay-instamojo').instamojo;
 
const instamojo = new InstamojoApi({
  host: <instamojo-host>,
  apiKey: <instamojo-x-api-key>,
  authToken: <instamojo-x-auth-token>
});

Get List of All Payment Requests

/* For getRequestLists input is not required, hence first parameter is null in this call. */
 
instamojo.getRequestLists(null, (error, body) => {
  console.log('RESPONSE: ', error, body);
});

Create Payment Request

 
let input = {
  allowRepeatedPayment: <your-choice>, // true or false (boolean)
  amount: <amount-to-pay>, // e.g., 10
  buyerName: <buyer-name>,
  purpose: <purpose-of-payment>,
  redirectUrl: <redirectUrl-if-any>,
  phone: <phone-number>, // 10 digit valid phone number if any
  sendSMS: <your-choice>, // true or false (if true then phone is mandatory)
  email: <email-id-to-send-payment-link>, // valid email if any
  sendEmail: <your-choice>, // true or false (if true then email is mandatory)
  webhook: <webhook-url>
}
instamojo.createRequest(input, function (error, body) {
  console.log('RESPONSE:', error, body)
})

Get Payment Request By Id

 
let input = {
  paymentRequestId: <payment-request-id>
}
instamojo.getPaymentRequestById(input, function (error, body) {
  console.log('RESPONSE:', error, body)
})

Create A Refund Request

Find input parameter values definition here

 
let input = {
  paymentId: <payment-id>, // Id you got as payment acknowledgment
  type: <code-to-identify-reason-for-this>,
  refundAmount: <paid-amount>, // not mandatory (if preset then valid amount)
  body: <text-explaining-refund> // not mandatory
}
instamojo.createRefund(input, function (error, body) {
  console.log('RESPONSE:', error, body)
})

Get List of Refunds

/* For getListOfRefunds input is not required, hence first parameter is null in this call. */
 
instamojo.getListOfRefunds(null, (error, body) => {
  console.log('RESPONSE: ', error, body);
});

Get Refund Details By Id

 
let input = {
  refundId: <refund-id>
}
instamojo.getRefundDetailsById(input, function (error, body) {
  console.log('RESPONSE:', error, body)
})

Get Payment Details By Id

 
let input = {
  paymentId: <refund-id>
}
instamojo.getPaymentDetailsById(input, function (error, body) {
  console.log('RESPONSE:', error, body)
})

Disable Payment Request By Id

 
let input = {
  paymentRequestId: <payment-request-id>
}
instamojo.disablePaymentRequest(input, function (error, body) {
  console.log('RESPONSE:', error, body)
})

Enable Payment Request By Id

 
let input = {
  paymentRequestId: <payment-request-id>
}
instamojo.enablePaymentRequest(input, function (error, body) {
  console.log('RESPONSE:', error, body)
})

Options

InstamojoApi options:

  • host<string>: The hostname for instamojo
  • apiKey<string>: Instamojo X-Api-Key
  • authToken<string>: Instamojo X-Auth-Token

Implemented APIs

  • Get List of All Payment Requests
  • Create Payment Request
  • Get Payment Request By Id
  • Create Refund
  • Get List Of Refunds
  • Get Refund Details By Id
  • Get Payment Details By Id
  • Disable Payment Request By Id
  • Enable Payment Request By Id

Changelog

  • 1.0.3 getListOfRefunds, getRefundDetailsById, getPaymentDetailsById, disablePaymentRequest, enablePaymentRequest functions added
  • 1.0.2 get payment request by id, create refund function added
  • 1.0.1 request dependency missing (added in package.json)
  • 1.0.0 Initial version

Package Sidebar

Install

npm i pay-instamojo

Weekly Downloads

1

Version

1.0.4

License

MIT

Unpacked Size

26 kB

Total Files

8

Last publish

Collaborators

  • chetan07j