pay-instamojo
Version:
NPM Package To Connect Instamojo In Node Application Easily
186 lines (138 loc) • 5.31 kB
Markdown
# NPM Package For Instamojo Payment Gateway REST API
<!-- [](https://travis-ci.org/Chetan07j/pay-instamojo) -->
[](http://hits.dwyl.io/chetan07j/pay-instamojo)
[](https://standardjs.com)
[](https://github.com/Chetan07j/pay-instamojo/blob/master/LICENSE)
[](https://github.com/Chetan07j/pay-instamojo/graphs/contributors/)
[](https://github.com/Chetan07j/pay-instamojo/issues/)
[](https://github.com/Chetan07j/pay-instamojo/issues?q=is%3Aissue+is%3Aclosed)
[](https://nodei.co/npm/pay-instamojo/)
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](https://docs.instamojo.com/docs/create-a-request)
[All About Instamojo](https://docs.instamojo.com/v1.1/docs)
## Installation
Install with the node package manager [npm](http://npmjs.org):
```shell
$ npm install pay-instamojo
```
## How To Use?
### Create the Instamojo client
```javascript
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
```javascript
/* 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
```javascript
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
```javascript
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](https://docs.instamojo.com/docs/creating-a-refund)
```javascript
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
```javascript
/* 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
```javascript
let input = {
refundId: <refund-id>
}
instamojo.getRefundDetailsById(input, function (error, body) {
console.log('RESPONSE:', error, body)
})
```
### Get Payment Details By Id
```javascript
let input = {
paymentId: <refund-id>
}
instamojo.getPaymentDetailsById(input, function (error, body) {
console.log('RESPONSE:', error, body)
})
```
### Disable Payment Request By Id
```javascript
let input = {
paymentRequestId: <payment-request-id>
}
instamojo.disablePaymentRequest(input, function (error, body) {
console.log('RESPONSE:', error, body)
})
```
### Enable Payment Request By Id
```javascript
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_