Skip to main content

Introduction

The Paysack API is built on HTTP. Our API is RESTful and it:

  • Uses predictable, resource-oriented URLs.
  • Uses built-in HTTP capabilities for passing parameters and authentication.
  • Responds with standard HTTP response codes to indicate errors.
  • Returns JSON.

Getting Started#

To get started with our Card APIs:

  • Generate client Id and client secret for authentication.
  • API docs.

Run the Card API Collection in postman Run in Postman

Base URL#

All API calls referenced in our documentation start with a base URL. Paysack allows the ability to call apis in three environments - TESTING , STAGING & PRODUCTION . Be sure to use the appropriate base URL based on which environment you’ve created your client_id/client_secret on.

It’s also important to note that Paysack uses URI versioning for our API endpoints, and some endpoints may have different versions than others. Please reference the version stated in the URL for each endpoint.

TESTING#

For domains created in our TESTING region the base URL is:

https://api-test.paysack.com/

STAGING#

For domains created in our STAGING region the base URL is:

https://api-stage.paysack.com/

PRODUCTION#

For domains created in our PRODUCTION region the base URL is:

https://api.paysack.com/

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#

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).


Merchant Transaction Statuses#

PAYMENT_SUCCESS#

The transaction status of merchant transaction record is PAYMENT_SUCCESS when it is received from the Bank.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.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. This denotes that the original debit record was successful but later is reversed (credit) by the Bank 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 bank 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 bank 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 bank 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 bank 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 bank 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 bank 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 bank 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 bank.