Prepaid Coupons(Epin)

Manage Coupons

Active Coupons

get
​

β€Žhttps://<domain>/<api prefix>/<version>/user/get/active-epin/
This API endpoint will return a list of active coupons.
Request
Response
Request
Headers
apikey
required
string
Apikey
Authorization
required
string
Bearer access token
Query Parameters
wallet
optional
string
eg: wallet1, wallet2, ....
code
optional
string
coupon code
Response
200: OK
​HTTP/1.1 200 OK
Content-Type: application/json
​
Body:
{
"status_code": 200,
"errors": {},
"data": {
"results": [
{
"id": <coupon_id>,
"pin": "<coupon_pin>",
"charge": "<coupon_charge>",
"balance": "<balance>",
"reusable": <reusable_status>,
"transferable": <transferable_status>,
"wallet_type": "<wallet_type>",
"currecy_data": {
"decimals": <decimals>,
"symbol_placement": "<symbol_placement>",
"symbol": "<currency_symbol>",
"rate": <currency_multiple_rate>
},
"currency_code": "<currency_code>"
},
...
],
"count": <list_count>,
"previous": <previous_page_url>,
"next": <next_page_url>
}
}

Sample Code

Node

var request = require('request');
var options = {
'method': 'GET',
'url': 'https://<domain>/<api prefix>/<version>/user/get/active-epin/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});

PHP

<?php
​
$curl = curl_init();
​
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/user/get/active-epin/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>',
),
));
​
$response = curl_exec($curl);
​
curl_close($curl);
echo $response;

Transfer Coupon

post
​

β€Žhttps://<domain>/<api prefix>/<version>/user/transfer/epin/
This API endpoint will transfer a coupon to a user.
Request
Response
Request
Headers
apikey
required
string
Apikey
Authorization
required
string
Bearer access token
Body Parameters
user
required
string
Username
epin
required
string
Coupon id
Response
200: OK
​HTTP/1.1 200 OK
Content-Type: application/json
​
Body:
{
"status_code": 200,
"errors": {},
"data": {}
}

Sample Code

Node

var request = require('request');
var options = {
'method': 'POST',
'url': 'https://<domain>/<api prefix>/<version>/user/transfer/epin/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {
'user': '<username>',
'epin': '<coupon id>'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});

PHP

<?php
​
$curl = curl_init();
​
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/user/transfer/epin/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('user' => '<username>','epin' => '<coupon id>'),
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>'
),
));
​
$response = curl_exec($curl);
​
curl_close($curl);
echo $response;

Error Responses

Status Code

Error Type

FIeld

Description

400

Validation Error

user

User is not found.

Field may not be blank.

Self transfer not allowed.

User already has the maximum number of active coupons.

400

Validation Error

epin

Coupon is not found.

Coupon is not transferable.

Invalid coupon.

Share Coupon

post
​

β€Žhttps://<domain>/<api prefix>/<version>/user/share/epin/
This API endpoint will share an amount from coupon to anonymous user.
Request
Response
Request
Headers
apikey
required
string
apikey
Authorization
required
string
Bearer access token
Body Parameters
email
required
string
user mail address
epin
required
string
coupon id
share_amount
required
string
amount to share
Response
200: OK
​HTTP/1.1 200 OK
Content-Type: application/json
​
Body:
{
"status_code": 200,
"errors": {},
"data": {}
}

Sample Code

Node

var request = require('request');
var options = {
'method': 'POST',
'url': 'https://<domain>/<api prefix>/<version>/user/share/epin/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {
'email': '<user_mail>',
'epin': '<coupon_id>',
'share_amount': '<amount>'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
​

PHP

<?php
​
$curl = curl_init();
​
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/user/share/epin/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('email' => '<user_mail>','epin' => '<coupon_id>','share_amount' => '<share_amount>'),
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>',
),
));
​
$response = curl_exec($curl);
​
curl_close($curl);
echo $response;

Error Responses

Status Code

Error Type

FIeld

Description

400

Validation Error

email

This field is required.

This field may not be blank.

Enter a valid email address.

400

Validation Error

epin

This field is required.

This field may not be blank.

Only numeric characters are allowed.

Coupon is not found.

Coupon is not transferable.

400

Validation Error

share_amount

This field is required.

This field may not be blank.

Only numeric characters are allowed.

Insufficient Balance.

Delete Coupon

delete
​

β€Žhttps://<domain>/<api prefix>/<version>/user/delete/epin/
This API endpoint will delete a coupon. Use the same endpoint to get refund status without status in query params.
Request
Response
Request
Headers
apikey
required
string
Apikey
Authorization
required
string
Bearer access token
Query Parameters
epin
required
string
Coupon id
status
required
string
1
Response
200: OK
​HTTP/1.1 200 OK
Content-Type: application/json
​
Body:
{
"status_code": 200,
"errors": {},
"data": {}
}

Sample Code

Node

var request = require('request');
var options = {
'method': 'DELETE',
'url': 'https://<domain>/<api prefix>/<version>/user/delete/epin/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
'Cookie': 'store_user=admin_store; sessionid=2ysk6htgc4b3w2f87zvw9cn4v5rxqkws'
},
formData: {}
​
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});

PHP

<?php
​
$curl = curl_init();
​
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/user/delete/epin/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>',
),
));
​
$response = curl_exec($curl);
​
curl_close($curl);
echo $response;

Error Responses

Status Code

Error Type

FIeld

Description

400

Validation Error

epin

This field is required.

This field may not be blank.

Only numeric characters are allowed.

Coupon is not found.

Generate Coupon

Get Wallet List

get
​

β€Žhttps://<domain>/<api prefix>/<version>/user/generate/epin/
This API endpoint will return the coupon facility enabled wallet list with data.
Request
Response
Request
Headers
apikey
required
string
Apiekey
Authorization
required
string
Bearer access token
Response
200: OK
​HTTP/1.1 200 OK
Content-Type: application/json
​
Body:
{
"status_code": 200,
"errors": {},
"data": [
{
"wallet_name": "<wallet_name>",
"wallet_key": "<wallet>",
"charges": "<coupon_generate_charge>",
"ewallet_balance": "<wallet_balance>",
"active_pins": <active_coupons>,
"max_active_pins": <maximum_active_coupons>
},
...
]
}

Sample Code

Node

var request = require('request');
var options = {
'method': 'GET',
'url': 'https://<domain>/<api prefix>/<version>/user/generate/epin/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
​

PHP

<?php
​
$curl = curl_init();
​
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/user/generate/epin/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>',
),
));
​
$response = curl_exec($curl);
​
curl_close($curl);
echo $response;

Error Responses

Status Code

Error Type

Description

401

Request Failed

Coupon facility is disabled, Please contact your administrator.

Create Coupon

post
​

β€Žhttps://<domain>/<api prefix>/<version>/user/generate/epin/
This API endpoint will create a coupon.
Request
Response
Request
Headers
apikey
required
string
Apikey
Authorization
required
string
Bearer access token
Body Parameters
wallet_type
required
string
wallet key
epin_amount
required
string
amount
number_of_pins
required
string
number of coupons
transferable
required
string
True or False
reusable
required
string
True or False
token_field
required
string
Mail token
token_checksum_field
required
string
token checksum
form_key
required
string
form post key
Response
200: OK
​HTTP/1.1 200 OK
Content-Type: application/json
​
Body:
{
"status_code": 200,
"errors": {},
"data": {}
}

Sample Code

Node

var request = require('request');
var options = {
'method': 'POST',
'url': 'https://<domain>/<api prefix>/<version>/user/generate/epin/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {
'wallet_type': '<wallet_key>',
'epin_amount': '<amount>',
'number_of_pins': '<number_of_coupon>',
'form_key': '<form_key>',
'token_checksum_field': '<token_checksum>',
'token_field': '<token>',
'transferable': '<True or False>',
'reusable': '<True or False>'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});

PHP

<?php
​
$curl = curl_init();
​
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/user/generate/epin/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('wallet_type' => '<wallet_key>','epin_amount' => '<amount>','number_of_pins' => '<number of coupon>','form_key' => '<form key>','token_checksum_field' => '<token_cheksum>','token_field' => '<token>','transferable' => '<True or False>','reusable' => '<True or False>'),
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>'
),
));
​
$response = curl_exec($curl);
​
curl_close($curl);
echo $response;

Error Responses

Status Code

Error Type

FIeld

Description

400

Validation Error

wallet_type

This field is required.

This field may not be blank.

You don't have sufficient balance to continue with this operation.

400

Validation Error

epin_amount

Invalid or empty Amount.

This field is required.

This field may not be blank.

Please enter an amount between <min> and <max>.

Only integers are allowed.

Ensure this field has no more than 7 characters.

400

Validation Error

number_of_pins

This field is required.

This field may not be blank.

This operation exceeds the maximum number of active Coupons.

Invalid number of Coupon.

Only numeric characters are allowed.

400

Validation Error

transferable

This field is required.

This field may not be blank.

Select True or False

400

Validation Error

reusable

This field is required.

This field may not be blank.

Select True or False

400

Validation Error

token_checksum_field

This field is required.

This field may not be blank.

400

Validation Error

token_field

This field is required.

This field may not be blank.

Token is not matching.

400

Validation Error

form_key

You have another form running, Please reload.

401

Request Failed

​

Coupon facility is disabled, Please contact your administrator.

Coupon History

get
​

β€Žhttps://<domain>/<api prefix>/<version>/user/epin/history/
This API endpoint will return the history of used coupons.
Request
Response
Request
Headers
apikey
required
string
Apikey
Authorization
required
string
Bearere access token
Query Parameters
wallet
optional
string
wallet key, eg: wallet1, wallet2, etc
Response
200: OK
​HTTP/1.1 200 OK
Content-Type: application/json
​
Body:
{
"status_code": 200,
"errors": {},
"data": {
"results": [
{
"charge": "<charge>",
"currecy_data": {
"decimals": <decimals>,
"symbol_placement": "<symbol_placement>",
"symbol": "<symbol>",
"rate": <multiple_rate>
},
"currency_code": "<currency_code>",
"pin": "<coupon_pin>",
"used_on": "<used_date>"
}
],
"count": <list_count>,
"previous": <previous_page_url>,
"next": <next_page_url>
}
}

Sample Code

Node

var request = require('request');
var options = {
'method': 'GET',
'url': 'https://<domain>/<api prefix>/<version>/user/epin/history/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
​

PHP

<?php
​
$curl = curl_init();
​
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/user/epin/history/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_POSTFIELDS => array(),
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>',
),
));
​
$response = curl_exec($curl);
​
curl_close($curl);
echo $response;

​