Foreword

Confidentiality and Disclaimer

Paysack Glossary



Wallets

Food

This wallet allows credit to be loaded upto INR 10,000/- (INR 1,00,000/- if full KYC) and can be debited only at specific MCCs namely, 5311 - Department Stores 5411 - Grocery Stores, Supermarkets 5441 - Candy, Nut, and Confectionery Stores 5451 - Dairy Products Stores 5462 - Bakeries 5499 - Miscellaneous Food Stores 5811 - Caterers 5812 - Eating Places, Restaurants (Swiggy, FoodPanda, Zomato also here) 5814 - Fast Food Restaurants.

Fuel

This wallet allows credit to be loaded upto INR 10,000/- (INR 1,00,000/- if full KYC) and can be debited only at specific MCCs namely, 5541 - Service Stations; 5542 - Automated Fuel Dispensers.

Expense

This wallet allows credit to be loaded upto INR 10,000/- (INR 1,00,000/- if full KYC) and can be debited without restriction at any POS.



Actors

Super Admin

The user account having role as "admin" is able to control the overall operations of Paysack (stage/prod) environment.

Employee

The user account having role as "employee" receives funds from company. User cannot self-sign up. User account created by Company admin. User verifies email and mobile. User can self-register kit with basic ID (PAN/AADHAR). User gets access to all enabled wallet (food, fuel, expense etc) subjected to be enabled for the company. User is able to initiate reimburse request (including cash claim) subjected to reimbursement feature enabled for the company. User can do purchase with the help of card kit at POS/Online. User can reset password thru email. User can reset PIN through portal. User can lock/unlock card. User can replace kit if kit replacement is availed subjected to cost paid. User can browse through his transaction history (credit/debit).

Company Admin

The user account having role as "company" deposits funds to PAYSACK. User can self-sign up by registering company. Employee accounts are created by this user. User verifies email to activate company account subjected to approval from Admin user. User cannot register kit for its employees. User gets access to all enabled wallet (food, fuel, expense etc) subjected to be enabled for the company. User is able to review and decide reimburse request (including cash claim) subjected to reimbursement feature enabled for the company. User can disburse credits to enabled wallets of employee. User can reset password thru email. User can block card. User can browse through company transaction history (credit/debit).

Company Employee Account Reviewer

The user account having role as "account_reviewer". User cannot self-sign up. Employee accounts (including KYC verification requests) are reviewed by this user. User cannot register kit for the employees. User can reset password thru email. User can block card.

Company Employee Claim Reviewer

The user account having role as "claim_reviewer". User cannot self-sign up. User cannot register kit for employees. User is able to review and decide but cannot settle reimburse request (including cash claim) subjected to reimbursement feature enabled for the company. User can reset password thru email.

Company Employee Claim Settler

The user account having role as "claim_settler". User cannot self-sign up. User cannot register kit for employees. User is able to settle reimburse request (including cash claim) decided by the claim reviewer subjected to reimbursement feature enabled for the company. User can reset password thru email.

demo_company

The user account having role as "demo_company". This is an unverified account for company admin.

demo_employee

The user account having role as "demo_employee". This is an unverified account for employee.



Debit Transaction Statuses

PAYMENT_SUCCESS

The transaction status of merchant transaction record is PAYMENT_SUCCESS when it is received from the Bank (via M2P). This denotes that the debit was successful and wallet is calculated for employee. Employee is notified through Email.

PAYMENT_FAILURE

The transaction status of merchant transaction record is PAYMENT_FAILURE when it is received from the Bank (via M2P). This denotes that the debit was not successful and wallet is not calculated for employee.

PAYMENT_DELETED

The transaction status of a transaction (credit/debit) record is PAYMENT_DELETED. This denotes that the transaction is marked as deleted but not removed from Database and wallet is calculated for employee.

REVERSED

The transaction status of merchant transaction record is REVERSED when it is received from the Bank (via M2P). This denotes that the original debit record was successful but later is reversed (credit) by the Bank (via M2P) and wallet is calculated as credit to employee.

OFFLINE_PAYMENT_SUCCESS

The transaction status of a transaction record is OFFLINE_PAYMENT_SUCCESS. This denotes that the transaction is a cash claim required to initiate the reimbursement and wallet is not calculated for employee.



Credit Transaction Statuses

company_reviewed

The transaction status of company to employee record is company_reviewed when it is accepted as claim to be reimbursed. Notification is not included here.

company_approved

The transaction status of company to employee record is company_approved when it is approved as claim but no settlement is done. This is a final state. Notification is not included here.

company_disapproved

The transaction status of company to employee record is company_disapproved when it is rejected as claim and comments are recorded by the competent authority. This is not final state. The employee can reclaim from user portal and reinitiate the reimbursement request. Notification is not included here.

internally_approved

The transaction status of company to employee record is internally_approved for amount settlement or funds disbursement. This initiates a communication between PAYSACK and M2P for transfer of funds to employee's expense wallet. Notification is not included here.

disapproved

The transaction status of company to employee record is disapproved when the claim is disapproved and comments are recorded by the competent authority. This is a final state. The employee cannot reclaim from user portal. Notification is not included here.

pending_submission

The transaction status of company to employee record is pending_submission when the employee had initiated the reimburse request and later deleted (or undo) the same request. The employee can reclaim from user portal and reinitiate the reimbursement request. The Notification is not included here.

pending_approval

The transaction status of company to employee record is pending_approval when a reimburse request is submitted. Notification is not included here.

pending_kit_sync

The transaction status of company to employee record is pending_kit_sync when the communication between PAYSACK and M2P for transfer of funds returns successful. Notification is not included here. Fund is credited to Employee here but the system waits to confirm whether it is recorded in bank db.

failed_kit_sync

The transaction status of company to employee record is failed_kit_sync when the communication between PAYSACK and M2P for transfer of funds returns unsuccessful. Notification is not included here. The system waits to confirm whether it is recorded in bank db. If not recorded, it will wait an interval before re-initiating the transfer of fund comms again. This goes on till 5 attempts and on failure after 5th attempt, it is marked as externally_disapproved and super admin is notified.

approved

The transaction status of company to employee record is approved when the communication between PAYSACK and M2P for transfer of funds returns successful. Pending_kit_sync cycle is completed. The record is available in the bank DB. Employee is notified through email.

externally_disapproved

The transaction status of company to employee record is externally_disapproved when the communication between PAYSACK and M2P for transfer of funds returns error after 5th attempt. Super Admin is notified

internally_approved_no_kit_attached

The transaction status of company to employee record is internally_approved_no_kit_attached for funds disbursement if no kit is found attached to the user account. This does not initiate a communication between PAYSACK and M2P for transfer of funds. Notification is not included here. When a kit is registered, all credit transactions marked as internally_approved_no_kit_attached are sent as batch to M2P for processing.

pending_wallet_limit

This is a special status flag for credit transaction records to indicate that the employee wallet balance has reached maximum wallet balance limit (i.e. INR 10000 for limited KYC and INR 1,00,000 for full KYC). Whenever the employee makes a debit transaction, the system will check the wallet limit and initiate transfer fund of pending amount in total to M2P.



Reimbursement Actions

Approve

The approve button on click, calls the reimbursement api to mark the transaction as "company_approved" and no further action to settle the claim amount is done.

Accept

The accept button on click, calls the reimbursement api to mark the transaction as "company_reviewed" which leads to settlement of claim amount but not settled at this state. Here before click, the competent authority can edit the claim amount after reviewing the claim bill and add comment as to why the claim amount was edited.

Settle

The settle button on click, calls the reimbursement api to mark the transaction as "internally_approved" which settles the claim amount from company pool to employee wallet. Here before click, the competent authority can edit the claim amount after reviewing the claim bill and add comment as to why the claim amount was edited.

Reject

The reject button on click, calls the reimbursement api to mark the transaction as "company_disapproved" and no further action to settle the claim amount is done. The employee can reclaim even after the claim is rejected.

Disapprove

The disapprove button on click, calls the reimbursement api to mark the transaction as "disapproved" and no further action to settle the claim amount is done. The employee cannot reclaim henceforth.


For Enterprises

signup

This api is for signup.


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/signupM
METHODstringPOSTM
content-typestringJSONapplication/jsonM

Request

{
"name":"Aml98765",
"first_name":"amalrag125474",
"last_name":"c",
"mobile":"+919754333775",
"landline":"+918914623795",
"password":"amalRag1@12",
"email":"amalragweb85248@gmail.com",
}


Success

{
   "kyc": [],
   "_id": "601bc5776c2e8a454b8073a5",
   "first_name": "amalrag125474",
   "last_name": "c",
   "mobile": "+919754333775",
   "email": "amalragweb85248@gmail.com",
   "company": "601bc5776c2e8a95b18073a3",
   "user": "601bc5776c2e8a761b8073a4",
   "entityId": "601bc5776c2e8a454b8073a5",
   "__v": 0
}


Error

{
    "error": "123456789 is not a valid phone number!"
}

Fetch Company Wallet Balance

this api Fetch balance of a Company Wallet


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/companies/<company_id>/walletM
METHODstringGETM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMcompany admin token

Request

N/a

Success

{
  "_id": "5cb59c503283cf58e011a700",
  "value": 443243
}

Error

{
    "error": ""
}

Approve/Reject Admin assigned to User

This api approve/reject admin assigned to User


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/pending_users/<user_id>M
METHODstringPUTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

Approve

{
    "approval_status":"approved"
}

disapprove

{
    "approval_status":"disapproved"
}

Response

 {
  "n": 1,
  "nModified": 1,
  "opTime": {
    "ts": "6928287237817761793",
    "t": 6
  },
  "electionId": "7fffffff0000000000000006",
  "ok": 1,
  "operationTime": "6928287237817761793",
  "$clusterTime": {
    "clusterTime": "6928287237817761793",
    "signature": {
      "hash": "ZfgXPCU5RpuKWrIa0AwN+EhmN70=",
      "keyId": "6894751050838835201"
    }
  }
}

Error

{ 
    "error": 'The user has not verified his/her email' 
}

Verify admin email

This api Verify admin email


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/authenticate/verify_emailM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validityuser token on loginM

Request

{}

Success

{
  "success": true
}

Error

{
    "error": ""
}

Verify user email mobile

This api is for otp verification


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/employees/<emp_id>/resend_otp_emailM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request



Success



Error


Verify user email only

This api verify user email only


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/employees/<emp_id>/resend_verificationMemp_id = _id of v1/employees record
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMcompany token

Request

{}

Success

{
  "success": true
} 

Error

{
  "error": ""
}

Update user/admin email if card kit not activated

This api Update user/admin email if card kit not activated.


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/authenticate/update/emailM
METHODstringPUTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request



Success

{

"email":"newEmail@xyz.com"
}


Error



The above request will send a verification link to the new email address to verify the ownership of the email.


Fetch user details

This api Fetch user details


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/auth_userM
METHODstringGETM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request



Success

{
    "_id": "5936b287ef91xxxxxxxxxxxx",
    "username": "employee@test.com",
    "email_verification": "approved",
    "roles": [
        "company",
        "employee"
    ]
}


Error


Add role to user

This api Add role to user


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/users/roles/addM
METHODstringPUTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
    "role": "company/employee/account_reviewer",
    "user": "\<user_id\>"
}


Success




Error


Remove role from user

This api is for Removing role from user


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/users/roles/removeM
METHODstringPUTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
    "role": "company/employee/account_reviewer",
    "user": "\<user_id\>"
}


Success




Error


User login with OTP

This api is for User login with OTP


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/otp/loginM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
            "mobile": "919891055605",
            "otp": "xxxx"
}


Success

{
    "token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiNTk3MDVkNmUzZDUzMmFjMDEs"
}


Error

{
    "error": "message"
}

Above api will return a valid token only if the user has already attached his mobile number to his paysack account by clicking the link in the Welcome email.


Change password if logged in

This api Change password if logged in


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/authenticate/changePasswordM
METHODstringPUTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
"oldpassword":"xxxxx",
"password":"yyyyy",
"repassword":"yyyyy"
}


Success




Error


Forgot password if unable to log in

This api is for Forgot password if unable to log in


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/authenticate/forgotPasswordM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
"email":"abc@xyz.com"
}


Success

{"success": true}


Error

{"error":"Error message"}

Fetch logged in user details

This api Fetch logged in user details


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/employees/meM
METHODstringGETM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request



Success

{
           "_id": "54da47cfefa0c9420757e0e4",
           "__v": 0,
            "first_name":"abc",
            "last_name":"xyz",
            "gender": "male",
            "email": "employee@test.com",
            "mobile": "+919891055604",
            "employee_id":"843778",
            "company":"12da47cfe33442420757e0e4"
}


Error


Fetch user profile with kit details

This api Fetch user profile with kit details


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/employees/profiles?param1=value1M
METHODstringGETM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request



Success


[
    {
        "_id": "59b5174628d8fc0001d803be",
        "email": "rajat@delvelogic.com",
        "mobile": "+919891055604",
        "first_name": "Rajat",
        "last_name": "Talwar",
        "company": "59b5174628d8fc0001d803bb",
        "user": {
            "_id": "59b5174628d8fc0001d803bd",
            "email_verification": "approved",
            "phone_verification": "approved"
        },
        "entityId": "rajat-talwar",
        "kyc": [],
        "roles": [],
        "__v": 0,
        "kyc_details": {
            "_id": "5a965c354342690001b8f3e4",
            "approval_status": "approved",
            "countryofIssue": "IND",
            "idNumber": "908385555040",
            "idType": "AADHAR",
            "verifiedByUser": true
        },
        "kit": {
            "_id": "59b631b055e4d1ee3820a6f4",
            "entityId": "rajat-talwar",
            "dependent": false,
            "emailAddress": "rajat@delvelogic.com",
            "contactNo": "+919891055604",
            "lastName": "Talwar",
            "firstName": "Rajat",
            "entityType": "CUSTOMER",
            "businessType": "PAYSACK",
            "businessId": "+919891055604",
            "employee": "59b5174628d8fc0001d803be",
            "pincode": "110027",
            "state": "Delhi",
            "city": "Delhi",
            "country": "India",
            "gender": "M",
            "address": "b-4/8 rajouri garden",
            "specialDate": "1987-07-26",
            "kitNo": "000000288581",
            "__v": 0,
            "verifiedByUser": true,
            "expense_synced": true,
            "created_ts": 1527059407143,
            "isPinSet": false
        }
    }
]


Error


Fetch single user with kit

This api Fetch single user with kit


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/employees/profiles/<emp_id>M
METHODstringGETM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request



Success




Error


Admin to Create bulk users for an organisation

This api is for Admin to Create bulk users for an organisation


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/employees/bulkM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
            "emails":["abc@xyz.com","def@xzy.com"]

}


Success

[{
  "email":"abc@xyz.com",
  "success":true
},
{
  "email":"def@xyz.com",
  "success":false,
  "error":"email already registered"
}]


Error


Admin to create single user for an organisation

This api is for Admin to create single user for an organisation


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/employeesM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
           "first_name":"amal",
           "last_name":"rag",
           "gender": "male",
           "email": "amalrag@test.com",
           "mobile": "+919747342495",
           "employee_id":"843778",
}


Success

{
   "kyc": [],
   "_id": "6010fc661616b7418ea5f99a",
   "first_name": "amal",
   "last_name": "rag",
   "gender": "male",
   "email": "amalrag@test.com",
   "mobile": "+919747342495",
   "employee_id": "843778",
   "company": "5fbcb4821ffc64855233b1b1",
   "entityId": "6010fc661616b7418ea5f99a",
   "user": "6010fc661616b7267da5f999",
   "__v": 0
}


Error

{
    "error": "message"
}


"mobile" - it is the responsibility of the client to always send country code with the mobile number, server will not perform any checks "company" : id of the company to be associated with this employee


Admin add external id to user profile

This api is for Admin add external id to user profile


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/employees/<employee_id>/external_idM
METHODstringPUTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
   "external_id":"abcxyz-12334"
            
}


Body can contain one or many from these fields

['external_id']


Success

[{
           "_id": "54da47cfefa0c9420757e0e4",
           "__v": 0,
            "first_name":"abc",
            "last_name":"xyz",
            "gender": "male",
            "email": "employee@test.com",
            "mobile": "+919891055604",
            "employee_id":"843778",
            "company":"12da47cfe33442420757e0e4"
}]



Error


Admin to update Employee's KYC status

This api is for Admin to update the KYC status of an employee with attached card kit


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/employees/<employee_id>/kycStatusM
METHODstringPUTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
  "kycStatus": "FULL_KYC or MIN_KYC or NO_KYC"
}


Response

On Success

{
  "success": true
}

On Error

{
  "error": "Unable to update kycStatus to Employee kyc field",
  "success": false
}

Admin filter user profiles

This api if for Admin filter user profiles


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/employees?=&=M
METHODstringGETM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMcompany token

PARAMS


they can be anything from these values


first_name:string
last_name:string
gender?: string
user: string
email: string
mobile: string
roles?: [string]
employee_id:string
company: string

Success

[{
           "_id": "54da47cfefa0c9420757e0e4",
           "__v": 0,
            "first_name":"abc",
            "last_name":"xyz",
            "gender": "male",
            "email": "employee@test.com",
            "mobile": "+919891055604",
            "employee_id":"843778",
            "company":"12da47cfe33442420757e0e4"
}]


Error


Admin to Delete user from an organisation

This api is for Admin to Delete user from an organisation


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/employees/<employee_id>M
METHODstringDELETEM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request



Success



Error


Initiate a Reimbursement request

This api Initiate a Reimbursement request


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/company_reimbursementM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

In this request , you need to pass _id of a merchant transaction fetched from the above api.


Request

{
    "reimbursement_txn_id": "<merchant_txn_id>",
    "amount" : <claim_amount>

}


amount field is optional


Success



Error


Delete a reimbursement request

This api Undo a Reimbursement request


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/company_reimbursement/<merchant_txn_id>M
METHODstringDELETEM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

This will move corresponding comp_emp_txn into pending_submission Also note, any txn in pending_submission or company_disapproved state can be resubmitted and its status will change to pending_approval


Request



Success



Error


Upload supporting merchant bill image/pdf for reimbursement request

This api Upload supporting merchant bill image/pdf for reimbursement request


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/filesM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request



Success




Error


Attach the uploaded image/pdf to reimbursement request id

This api Attach the uploaded image/pdf to reimbursement request id


REST


In this request , you need to pass _id of a merchant transaction in the url. the file url you will get from Upload Bill Image


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/merchant_transactions/<txid>/filesM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
    "files": ["http://xx.com/fileurl1.jpg","http://xx.com/fileurl2.jpg"]

}


Success




Error


Add more information to a reimbursement request id

This api Add more information to a reimbursement request id


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/merchant_transactions/<txid>M
METHODstringPUTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
     "description": "test description",
     "tags": ["office", "delhi"],
     "isCompany":true

}


Success



Error



In this request , you need to pass _id of a merchant transaction in the url. isCompany field is of boolean type


Admin review of a reimbursement request

This api is for Admin review of a reimbursement request


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/comp_emp_txns/claimReview/<txn_id>M
METHODstringPUTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Body Stage For Review

{
        "approval_status": "company_reviewed",
        "amount": <amount_set_by_reviewer>,
        "comment":"reviewer comments"
}


Success



Error



this can be done by company admin ,super admin , claim_reviewr


Admin add comment on a transaction

This api is for Admin to add comment on a transaction


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/comp_emp_txns/<txn_id>/comments/M
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
        "comment":"reviewer comments"
}


Success




Error


Admin approve reimbursement but no settle amount

This api is for Admin approve reimbursement but no settle amount


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/comp_emp_txns/claimReview/<txn_id>M
METHODstringPUTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Body For Company Approval/Internal settlement

{
        "approval_status": "company_approved",
        "amount": <amount_set_by_reviewer>,
        "comment":"reviewer comments"
 }

Body For Company_Disapproved - this is not final Disapproval

{
        "approval_status": "company_disapproved",
        "comment":"disapprove comments"

}


Success



Error



this only marks the txn as company_reivewed and does not participates in wallet calculation .This can be done by company admin ,super admin , claim_reviewer


Admin actions on a reimbursement request

This api is for Approve/Settle/Disapprove


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/comp_emp_txns/<txn_id>M
METHODstringPUTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Body For Approval/Settlement

{
        "approval_status": "internally_approved",
        "amount":<amount_set_by_settler>,
        "comment":"settler comments"

}

Body Disapprove

{
        "approval_status": "disapproved"
}


Success



Error



this can be done by company admin ,super admin only


Resize an image file

This api Resize an image file


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/files/<file_id>?size=200x200M
METHODstringGETM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request



Success

Image will be of size 200 x 200


Error


Activate Bank Card Kit to User

This api activate Bank Card Kit to User


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/card-kitM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
        "kitNo": "000000222222",
        "employee_id": "598024db0532e4xxxxxxxxxx",
        "last_digits": "0456",
        "specialDate": "1987-07-26",
        "address": "b-4/8 rajouri garden",
        "address2": "2nd floor",
        "gender": "M",
        "isKitRegistered": false,
        "country": "India",
        "city": "New Delhi",
        "state": "New Delhi",
        "pincode": "110027",
        "idType": "it should be one of: AADHAAR,PAN,PASSPORT,PASSBOOK,DL,VOTERID,RATIONCARD,AADHAARREF",
        "idNumber": "xxxxxxx",
        "countryofIssue": "IND",
        "title":"Mr/Ms",,
        "kycStatus": "MIN_KYC"

    }

Success

 

Error

{
    "error": "Kit no 880000001 and last four  digits undefined dont match"
}

Adding `updateOnly:true' field to kit registration payload will update the kit on paysack servers only without hitting the actual m2p servers with registration payload.


MISC


{
    "entityId": "550000119",
    "entityType": "CUSTOMER",
    "businessType": "EQPAYSACK",
    "businessId": "550000119",
    "countryofIssue": "IND",
    "cardType": "P",
    "kitNo": "880000001",
    "title": "Mr",
    "firstName": "TEST",
    "lastName": "CUSTOMER",
    "gender": "M",
    "specialDate": "1999-09-29",
    "contactNo": "+919000000000",
    "emailAddress": "email@m2p.in",
    "address": "my address, my street",
    "address2": "my locality",
    "city": "mycity",
    "state": "mystate",
    "country": "India",
    "pincode": "600000",
    "idType": "PAN",
    "idNumber": "1234500001",
    "idExpiry": "2020-12-12",
    "kycStatus": "MIN_KYC/FULL_KYC",
    "countryCode": "+91",
    "programType": "EQPAYSACK",
    "documents": [
        {
            " docType ": "PAN",
            " docNo ": "ADOPA89013",
            "docExpDate": null
        },
        {
            " docType ": "PASSPORT",
            " docNo ": "ADOPA89013",
            " docExpDate ": "2025-12-12"
        }
    ],
    "addressDto": {
        "contactNo1": "+919677109523",
        "contactNo2": "+919236634491",
        "emailAddress1": "test@m2p.in",
        "emailAddress2": "test@gmail.com",
        "notification": "1010",
        "address": [
            {
                "title": "PERMANENT,",
                "address1": "Plot 23&23, AG1, Vidhya Apts,",
                "address2": "Vidhya nagar 2nd St",
                "address3": "Ullagaram",
                "city": "Chennai",
                "state": "TamilNadu",
                "country": "India",
                "pinCode": "600091"
            }
        ]
    }
}

Resend OTP Request

This api requests OTP from the Bank


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/card-kit/otp?employee=:empIDM
METHODstringGETM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request



Success

{
    result: true
}



Error

Employee out of company scope

Reset Card PIN

This api Reset Card PIN


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/card-kit/setPinM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
        "entityId": "PaysackCust011",
        "pin": "1234",
        "kitNo": "000000220003",
        "expiryDate": "1021",
        "dob": "27071983",
        "otp": "000000"
}


Success



Error


Lock Card

This api Lock Card


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/card-kit/lockM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
"entityId": "PaysackCust011", 
"kitNo": "000000220003", 
"flag": "L", 
"reason": "card lost"
}


Success



Error



Lock=”L”, Unlock=”UL”, only lock and unlock supported in the api.


Unlock Card

This api Unlock Card


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/card-kit/lockM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
"entityId": "PaysackCust011", 
"kitNo": "000000220003", 
"flag": "UL", 
"reason": "card lost"
}


Success



Error



Lock=”L”, Unlock=”UL”, only lock and unlock supported in the api.


Block Card

This api Block Card


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/card-kit/blockM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
"entityId": "PaysackCust011", 
"kitNo": "000000220003", 
"flag": "BL", 
"reason": "card lost"
"otp": "000000"
}


Success



Error



Block=”BL”


Replace Card

This api Replace Card.


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/card-kit/replaceCardM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
"entityId": "PaysackCust011", 
"oldKitNo": "000000220003", 
"newKitNo": "000000220015",
"last_digits":"1234"
}


Success



Error


Add Funds to Company Wallet

this api makes a request to deposit funds into the company pool balance.


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/company_transactionsM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMcompany admin token

Request

{
    "company": "5cb46b73340695fef4200011",
    "amount": "1",
    "details": {
      "transaction_id": "60ffb8be0b99792d5ab30c32",
      "type": "OTHERS"
    }
}

Success

{
  "_id": "60ffb8c1930fd198e7fe5f56",
  "company": "5cb46b73340695fef4200011",
  "amount": 1,
  "details": {
    "transaction_id": "60ffb8be0b99792d5ab30c32",
    "type": "OTHERS"
  },
  "paysack": "default",
  "approval_status": "pending_approval",
  "initiated_ts": 1627371713,
  "__v": 0
}

Error

{
    "error": ""
}

Load Funds to Card assigned to User

This api Load Funds to Card assigned to User


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/comp_emp_txns/M
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
        "amount": 45,
        "amount_type": "expense",
        "employee": "5936b287ef91b201008c559f"

}


Success

{
  "tags": [],
  "_id": "5ff834fb1f9ffe8f107fecfe",
  "company": "5cb59c503283cf58e011a700",
  "amount": 10,
  "amount_type": "expense",
  "employee": "5cb59c503283cf5b8911a704",
  "txn_type": "topup",
  "approval_status": "internally_approved",
  "initiated_ts": 1610102011,
  "comments": [],
  "__v": 0
}

Error

{
    "error": "Not enough funds"
}

amount_type can be 'expense','food','fuel'


Pullback Funds from Card assigned to User

This api Pullback Funds from Card assigned to User


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/comp_emp_txns/refundM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{

"employee":"591aa77660fac001004d4ae7",
"amount_type" : "fuel/expense/food",
"description":"Testing INR 2 refund",
"amount": 2.00

}


Success




Error


Bulk Load Funds to Card assigned to many users

This api Bulk Load Funds to Card assigned to many users


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/comp_emp_txns/bulkM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
        "company": "5932da2ba145ed01004e748d",
        "deposit":[
         {"email":"emp1@xyz.com","amount":45,"amount_type":"food"},
         {"email":"emp2@xyz.com","amount":150,"amount_type":"fuel"}
         ]
    }


Success




Error


Update Card Kit Preferences

This api Update Card Kit Preferences


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring{base-url}/v1/card-kit/updatePreferencesM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMemployee token

Request

{
    "type":"POS/ECOM",
    "status":"ALLOWED/NOTALLOWED"
}


Success

{
  "result": true,
  "exception": null,
  "pagination": null
}


Error

{
  "error": "Invalid `status`. It should be one of: ALLOWED/NOTALLOWED"
}


Employee can update the card preferences by selecting a field and updating a status (ALLOWED/NOTALLOWED).


Fetch Card Kit Preferences

Company Admin/Employee can fetch the card preferences that have been set by the bank.


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring{base-url}/v1/card-kit/preferences?entityId=${entityId}M
METHODstringGETM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMcompany/employee token

Request



Success

{
  cardPreferences: {
    address: null,
    contactNo1: null,
    contactNo2: null,
    emailAddress1: null,
    emailAddress2: null,
    notification: null,
    atm: null,
    pos: 'ALLOWED',
    ecom: 'ALLOWED',
    international: null,
    dcc: null,
    contactless: null,
    limit: null,
    cashLimit: null,
    country: null,
    secKitNo: null
  }
}



Error

{
  "cardPreferences": null
}

Send PIN over SMS

This api Send PIN over SMS


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/card-kit/assignNewPinM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request

{
        "entityId": "PaysackCust011",
        "kitNo": "000000220003",
        "expiryDate": "1021",
        "dob": "27071983"
}


Success



Error


Fetch Bank Card Status

This api Fetch Bank Card Status


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/card-kit/list?employee=:empIDM
METHODstringGETM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request



Success

{
    "cardStatusList": [
        "ALLOCATED"
    ]
}



Error

Employee out of company scope

Get Activated Card Kit Details

This api Get Activated Card Kit Details


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/card-kit?key1=value1&key2=value2M
METHODstringGETM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenM

Request



Success

[
    {
        "_id": "598024db0532e4xxxxxxxxxx",
        "entityId": "598022801c2dxxxxxxxxxxxx",
        "dependent": 0,
        "emailAddress": "vigneshs_id@yahoo.com",
        "contactNo": "+918848009191",
        "lastName": "Prasad",
        "firstName": "Vignesh",
        "entityType": "CUSTOMER",
        "businessType": "PAYSACK",
        "businessId": "+918848009191",
        "specialDate": "1994-04-24",
        "address": "Kailash, Valiyavalappu Kavu Road, Civil Station PO, Kannur",
        "pincode": "670002",
        "city": "Kannur",
        "country": "India",
        "gender": "M",
        "kitNo": "000000222222"
    }
]



Error


Fetch Merchant Transactions

this api Fetch Merchant Transactions


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstringv1/merchant_transactions?pagination.field=txnDate&pagination.after=20220201000000&pagination.before=20220228000000M
METHODstringGETM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMaccess_token

Request



Success

    [
        {
        "_id": "6218d3c5576590189abd17e9",
        "files": [],
        "tags": [],
        "import_type": "card_swipe",
        "employee": "5af6896bd8582e202630fac4",
        "txnRefNo": "205618677890",
        "amount": 5,
        "mcc": "8220",
        "merchantName": "OneMobiKwikSystemPLtd  Haryana      hrIN",
        "amount_type": "expense",
        "merchantId": "MBIZAAK8220CYBS",
        "txnStatus": "PAYMENT_SUCCESS",
        "txnDate": "20220225183405",
        "retrievalRefNo": "205618763900",
        "extTxnId": "020076390002251304040000030005100000000000",
        "modified_ts": 1645794245,
        "balance": 103,
        "__v": 0
    }
    ]

Error

{
    "error": "Failed to authenticate token."
}

For Institutions

Create Members

This api creates members.


GRAPHQL


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring{base_url}/graphql/loop-members-serviceM
GRAPHQLstringMUTATIONM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMadmin token

Request

{
  mutation {
    create_member(
            "first_name":"abc",
            "last_name":"xyz",
            "gender": "male",
            "email": "employee@test.com",
            "mobile": "9891055604",
            "external_id":"843778",
            "password":"password"
    ){
      _id
      success
    }
  }
}

Success

{
  "_id": "54da47cfefa0c9420757e0e4",
  "success": true
}

Error

{
  
}

Initiate Payment to Merchant

this api initiate payment to Merchant


GRAPHQL


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring{base_url}/graphql/loop-merchant-payments-serviceM
GRAPHQLstringMUTATIONM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMMerchant's token

Request

{
  mutation {
    receive_payment(
      member_id: "ABCD1234",
      payer_pin: "0000",
      amount: 100.00,
      amount_type: "expense",
      refNo: "TXN01"
    ){
      _id
      approval_status
      debit_account
      credit_account
      amount
      amount_type
      refNo
      success
    }
  }
}

Success

{
  "_id": "8",
  "approval_status": "approved",
  "debit_account": "ABCD1234",
  "credit_account": "MER01",
  "amount": 100.00,
  "amount_type": "expense",
  "refNo": "TXN01",
  "success": true
}

Error

{
  
}

Initiate Payment to Merchant

this api Fetch Member Using External ID


GRAPHQL


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring{base_url}/graphql/loop-members-serviceM
GRAPHQLstringQUERYM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMadmin token

Request

{
  query: {
    fetch_member(
        external_id: "21"
    ){
      _id
      first_name
      last_name
      gender
      email
      mobile
      external_id
    }
  }
}

Success

{
"_id": "54da47cfefa0c9420757e0e4",
"first_name":"abc",
"last_name":"xyz",
"gender": "male",
"email": "employee@test.com",
"mobile": "+919891055604",
"external_id":"21"
}

Error

{
  
}

Fetch Members Based On Role

this api Get user details for a specific role.


GRAPHQL


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring{base_url}/ms/graphql/org-admin-serviceM
GRAPHQLstringQUERYM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMadmin token

Request

query{
  get_members(company: "5e69deba5cef29842defb0ee", role: "merchant") {
    members {
      company
      _id
      user {
        name,
        username,
        roles
      }
    }
  }
}

Success

"members": [
        {
          "company": "5e69deba5cef29842defb0ee",
          "_id": "5ecc8f9d8bb4b311eb86be7d",
          "user": {
            "name": "M002 Sports",
            "username": "uiazaoxol@pk-loop.loop",
            "roles": [
              "employee",
              "merchant"
            ]
          }
        },
        {
          "company": "5e69deba5cef29842defb0ee",
          "_id": "5e85a1b45cef2944aaefb3c5",
          "user": {
            "name": "merchant6 .",
            "username": "collegemerchant86@paysack.com",
            "roles": [
              "employee",
              "merchant"
            ]
          }
        }
      ]

Error

{
  
}

Initiate Payment to Merchant

this api Create Merchant Transactions


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring{base_url}/v1/merchant_transactionsM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMaccess_token

Request



Success



Error

{
  
}

Fetch Merchant Transactions

this api Fetch Merchant Transactions


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstringv1/merchant_transactions?pagination.field=txnDate&pagination.after=20220201000000&pagination.before=20220228000000M
METHODstringGETM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMaccess_token

Request



Success

    [
        {
        "_id": "6218d3c5576590189abd17e9",
        "files": [],
        "tags": [],
        "import_type": "card_swipe",
        "employee": "5af6896bd8582e202630fac4",
        "txnRefNo": "205618677890",
        "amount": 5,
        "mcc": "8220",
        "merchantName": "OneMobiKwikSystemPLtd  Haryana      hrIN",
        "amount_type": "expense",
        "merchantId": "MBIZAAK8220CYBS",
        "txnStatus": "PAYMENT_SUCCESS",
        "txnDate": "20220225183405",
        "retrievalRefNo": "205618763900",
        "extTxnId": "020076390002251304040000030005100000000000",
        "modified_ts": 1645794245,
        "balance": 103,
        "__v": 0
    }
    ]

Error

{
    "error": "Failed to authenticate token."
}

Initiate Student to Student Transactions

this api Initiate Student to Student Transactions


GRAPHQL


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring{base_url}/graphql/loop-merchant-payments-serviceM
GRAPHQLstringMUTATIONM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMMerchant's token

Request

{
  mutation {
    receive_payment(
      member_id: "ABCD1234",
      payer_pin: "0000",
      amount: 100.00,
      amount_type: "expense",
      refNo: "TXN01"
    ){
      _id
      approval_status
      debit_account
      credit_account
      amount
      amount_type
      refNo
      success
    }
  }
}

Success

{
  "_id": "8",
  "approval_status": "approved",
  "debit_account": "ABCD1234",
  "credit_account": "MER01",
  "amount": 100.00,
  "amount_type": "expense",
  "refNo": "TXN01",
  "success": true
}

Error

{
  
}

Initiate Student to Merchant Transactions

this api Initiate Student to Merchant Transactions


GRAPHQL


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring{base_url}/graphql/loop-merchant-payments-serviceM
GRAPHQLstringMUTATIONM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMMerchant's token

Request

{
  mutation {
    receive_payment(
      member_id: "ABCD1234",
      payer_pin: "0000",
      amount: 100.00,
      amount_type: "expense",
      refNo: "TXN01"
    ){
      _id
      approval_status
      debit_account
      credit_account
      amount
      amount_type
      refNo
      success
    }
  }
}

Success

{
  "_id": "8",
  "approval_status": "approved",
  "debit_account": "ABCD1234",
  "credit_account": "MER01",
  "amount": 100.00,
  "amount_type": "expense",
  "refNo": "TXN01",
  "success": true
}

Error

{
  
}

Fetch Student Wallet Balance

this api Fetch Student Wallet Balance


GRAPHQL


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring{base_url}/graphql/loop-merchant-payments-serviceM
GRAPHQLstringQUERYM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMMerchant's token

Request

{
  query: {
    member_wallet(
      member_id: "ABCD1234"
    ){
      expense
    }
  }
}

Success

{
"expense": 100
}

Error

{
  
}

Fetch Members Using Mobile Number

this api Fetch Members Using Mobile Number


GRAPHQL


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring{base_url}/graphql/loop-members-serviceM
GRAPHQLstringQUERYM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMadmin token

Request

{
  query: {
    fetch_member(
        mobile: "+919891055604"
    ){
      _id
      first_name
      last_name
      gender
      email
      mobile
      external_id
    }
  }
}

Success

{
"_id": "54da47cfefa0c9420757e0e4",
"first_name":"abc",
"last_name":"xyz",
"gender": "male",
"email": "employee@test.com",
"mobile": "+919891055604",
"external_id":"21"
}

Error

{
  
}

Fetch Student Wallet

this api Fetch Student Wallet


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/members/<member_id>/walletM
METHODstringGETM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMaccess_token

Request



Success

{
"expense":400

}

Error


Fetch list of transactions for a given date

this api Fetch list of transactions for a given date


GRAPHQL


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring{base_url}/graphql/loop-merchant-payments-serviceM
GRAPHQLstringQUERYM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMMerchant's token

Request

{
  query {
  get_transaction_by_date(date: "04-06-2020") {
    transactions {
      _id
      approval_status
      debit_account
      credit_account
      amount
      amount_type
      refNo
      initiated_ts
      details {
        student_id
        student_name
      }

        }
  }
}
}

Success

"transactions": [
        {
          "_id": "5ed8b9990c0f1fc2769301a4",
          "approval_status": "internally_approved",
          "debit_account": "5e69deba5cef29842defb0ee",
          "credit_account": "5ebe33d8d717d70ca1a6d312",
          "amount": 30,
          "amount_type": "expense",
          "refNo": "5e69deba5cef29842defb0ee-1591261585095",
          "initiated_ts": 1591261593181,
          "details": {
            "student_id": "1004",
            "student_name": "Abhishek Dixit"
          }
        },
        {
          "_id": "5ed8b9a10c0f1f59899301a5",
          "approval_status": "internally_approved",
          "debit_account": "5e69deba5cef29842defb0ee",
          "credit_account": "5ebe33d8d717d70ca1a6d312",
          "amount": 20,
          "amount_type": "expense",
          "refNo": "5e69deba5cef29842defb0ee-1591261592982",
          "initiated_ts": 1591261601149,
          "details": {
            "student_id": "1004",
            "student_name": "Abhishek Dixit"
          }
        }
      ]

Error


Organization wallet

api for Organization Pool Balance


GRAPHQL


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring{base_url}/graphql/loop-merchant-payments-serviceM
GRAPHQLstringQUERYM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMadmin token

Request

{
  query: {
    org_wallet(){
      expense
    }
  }
}

Success

{
"expense": 50000
}

Error


Assign Card Kit to Student

this api Registers student's card kit with the bank


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/loop/card-kitM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMaccess_token of admin

Request

{
        "kitNo": "000000222222",
        "member_id": "598024db0532e4xxxxxxxxxx",
        "last_digits": "0456",
        "specialDate": "1987-07-26",
        "address": "b-4/8 rajouri garden",
        "address1": "2nd floor",
        "gender": "M",
        "country": "India",
        "city": "New Delhi",
        "state": "New Delhi",
        "pincode": "110027",
        “idType”:”PAN”,
        “idNumber”:”4212”
        “countryofIssue”:”IND”
}

Success

{
        "_id":"598024db05",
        "kitNo": "000000222222",
        "employee": "598024db0532e4xxxxxxxxxx",
        "member_id": "598024db0532e4xxxxxxxxxx",
        "specialDate": "1987-07-26",
        "address": "b-4/8 rajouri garden",
        "address1": "2nd floor",
        "gender": "M",
        "country": "India",
        "city": "New Delhi",
        "state": "New Delhi",
        "pincode": "110027",
        “idType”:”PAN”,
        “idNumber”:”4212”
        “countryofIssue”:”IND”
}

Error


Initiate Top up to Student Wallet

this api Initiate Top up to Student Wallet


GRAPHQL


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring{base_url}/loop-merchant-payments-serviceM
GRAPHQLstringMUTATIONM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMCompany admin token

Request

{
  mutation {
    topup_member_wallet(
      member_id: "ABCD1234",
      amount: 100.00,
      amount_type: "expense",
      refNo: "CREDIT01"
    ){
      _id
      approval_status
      debit_account
      credit_account
      amount
      amount_type
      refNo
      success
    }
  }
}

Success

{"data":{
  "topup_member_wallet":{
  "_id": "5",
  "approval_status": "approved",
  "debit_account": "COLLEGE01",
  "credit_account": "ABCD1234",
  "amount": 100.00,
  "amount_type": "expense",
  "refNo": "CREDIT01",
  "success": true
}}}

Error


Fetch Transactions Details

this api Fetch transaction by id


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/v1/college_member_txns/txnidM
METHODstringGETM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMaccess_token

Request



Success

{
        "_id_": "55323xxxxxxx",
        "amount": 45,
        "amount_type": "expense"
}

Error


Assign merchant role to member

this api assign merchant role to member


GRAPHQL


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring{base_url}/graphql/loop-merchant-payments-serviceM
GRAPHQLstringMUTATIONM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMadmin token

Request

{
  mutation {
    assign_merchant_role(
      member_id: "ABCD1234"
    ){
      success
    }
  }
}

Success

{
  "success": true
}

Error


Remove merchant role to member

this api Remove merchant role from member


GRAPHQL


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring{base_url}/graphql/loop-merchant-payments-serviceM
GRAPHQLstringMUTATIONM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMadmin token

Request

{
  mutation {
    remove_merchant_role(
      member_id: "ABCD1234"
    ){
      success
    }
  }
}

Success

{
  "success": true
}

Error


Fetch merchant wallet balance

this api fetch merchant wallet balance


GRAPHQL


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring{base_url}/graphql/loop-merchant-payments-serviceM
GRAPHQLstringQUERYM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMMerchant's token

Request

{
  query: {
    merchant_wallet(){
      expense
    }
  }
}

Success

{
"expense": 400
}

Error


Notifications webhook

this api fetch Notifications webhook


REST


Headers

FieldsTypeDescriptionExampleO/MData Management
URLstring/webhook_urlM
METHODstringPOSTM
content-typestringJSONapplication/jsonM
x-access-tokenstringSession token with validitytokenMaccess_token

Request



Success



Error