Getting Started

At Abhipay, we offer a one-stop-shop to manage your online payments. Enjoy an entire ecosystem of customised online payment solutions to operate your business securely.


  • Sign up

    To register, you need to click on the link Sign up, filling out all the forms you will get to the activation page.

  • Activation

    As soon as you create an Abhipay account, you can begin interacting with it in test mode after activating your account by Phone verification. Therefore, to start accepting payments from customers, you must first create a Business account. All of Abhipay’s features are available in test mode, though no live charges can be made.

  • Connect

    After registering and activating the account, in order to start integration, you need to create a link or a merchant account by going to the Connect Page and clicking choose or create merchant.

    • Business

      Owing to this opportunity, you can process limitless payments by creating a merchant account. Abhipay also gives a fantastic chance to you in order to create multiple numbers of applications by utilising companies.

      addYourFinCode
      companyDetails
      bankDetails

Connect & Production

Set up your account and Dashboard to work for your business

Business

When you connect, the application appears in Development status. After completing your integration and testing, a contract is signed and the application status is changed to production, after which you can make a real sale.

addYourFinCode


Extra Features

The Dashboard is organized by the most common workflows used to manage your business. For example, the Transactions' section includes everything you need to manage the flow of money in and out of your account.

In many cases, you can use the Dashboard to perform specific actions, such as refunding a payment or canceling a subscription, without needing to use the API—making the Dashboard a useful tool for running your business.


Dashboard

The Abhipay Dashboard is a feature-rich user interface for you to operate and configure your Abhipay account. You can use it to manage payments and refunds, respond to dispute, monitor your integration, and more.

Home provides useful at-a-glance information about the activity on your account. A wide range of analytics and real-time charts provide insight into the performance of your business. Home also shows recent activity that may require you to take action, such as unanswered disputes or identity verifications.

Abhipay.com

Transactions

Transactions section includes everything you need to manage the flow of money in and out of your account. You can use the transactions to perform specific actions, such as refunding a payment or canceling a subscription, without needing to use the API.

Abhipay.com

Creating reports and searches

All of your transactional data can be filtered and exported as reports in CSV format. You can also download the report. The Dashboard search can be used to find specific information using search terms and operators, find a specific payment using the customer’s email address or the last four digits of their card number to narrow down the number of results.


Transactions status
Parameter Description
CREATED Indicates that the operation has been created.
APPROVED Successful payment.
CANCELED After canceled payment, the forwarding address
DECLINED The operation was refused.
REFUNDED The funds were returned.
PREAUTH_APPROVED Confirmation of pre-authorization is reported.
EXPIRED Indicates that the payment page has expired.
REVERSE Reverse payment has been made.
PARTIAL_REFUND A partial reversal operation occurred.
SETTLED The funds were transferred from the Wallet to the bank account.
PAID Payment was successful and added to the Wallet.

Refund

You can refund charges made to your account, either in whole or in part. Refunds use your available Abhipay balance—this doesn’t include any pending balance. If your available balance doesn’t cover the amount of the refund, Abhipay debits the remaining amount from your bank account.

*If Abhipay can’t debit the remaining amount from your bank account, your refunds may go into a pending status until you add funds to your Abhipay balance. You can view a list of all your pending refunds in the Dashboard. If the original charge underwent currency conversion, the refunded amount converts back using the same process. There are no fees to refund a charge, but the fees from the original charge aren’t returned.

Refunds can be issued via the API or the Dashboard and are processed immediately. Once issued, a refund cannot be canceled.

Using the Dashboard
To refund a payment via the Dashboard:
  1. Find the payment to be refunded in the payments overview page Transactions.
  2. Click the button Refund to the right of the charge.
  3. By default, you will issue a full refund. For a partial refund, enter a different amount to be refunded.
  4. Click Refund.

Online Invoicing

With Abhipay, you can send invoices online to your customers through the click of a button even if you don’t have a website. Accept instant payments from your customers via credit or debit card with our online invoicing solution.

This guide describes how to create an invoice and collect payment. You can also use them as a tool to collect payment. Businesses that aren’t subscription based but still need to send invoices to their customers commonly use one-off invoices. For example, a consulting business might send invoices for the time and resources that each consultation uses.

Abhipay.com

To create an invoice in the Abhipay Dashboard:
  1. Navigate to the Create an invoice page.
  2. Fill out the Customer details, Payment details, and Payment settings fields and click Save.
  3. Verify the email address, but you can modify it if you want to use a test email address.
  4. Navigate to the Invoices page and click Send Invoice.

Abhipay.com

Customer notification via SMS:

Abhipay.com

Customer notification via Email:

Abhipay.com

The Abhipay Dashboard is the most common way to create one-off invoices, but you can automate this process if you integrate with the API.


Recurring Payments

Easily manage the entire customer lifecycle from accepting recurring payments to managing customer subscriptions.


E-commerce Plugins

Integrate Abhipay with popular e-commerce platforms via our payment plugins. Ready-made plugins for popular shopping carts platforms. You can download by clicking below.

Opencart
Magento

2.2 version

WooCommerce
Shopify

Gateway API

The Developers section of the Dashboard provides you with useful information about of integration. You can view Gateway APIs.


Authorization

First, get your unique merchant secret key from Applications page, and include the merchant secret key in Header as value for the Authorization variable

Header example
                                
Authorization: [SECRET_KEY]
                                
                            
Base URL
https://api.abhipay.com.pk/api/v2/{method_name}
https://api.abhipay.com.pk/api/v3/{method_name}
To process a test transaction, you need to use a test credit card
4169733213495869
05/23
447
                            

Version 2


createOrder

POST

                                                
{
  "merchant": "string",
  "body": {
    "amount": 0,
    "language": "EN",
    "currencyType": "PKR",
    "description": "string",
    "approveURL": "string",
    "cancelURL": "string",
    "declineURL": "string",
    "uuid": "string",
    "cardStorage": true
  }
}
                                                
                                            
                                                
{
 "code": "string",
 "internalMessage": "string",
 "message": "string",
 "payload": {
     "orderId": "string",
     "paymentUrl": "string",
     }
}
                                                
                                            


Parameter Description
amount Payment amount
approveURL After successful payment, the forwarding address
cancelURL After canceled payment, the forwarding address
declineURL After declined payment, the forwarding address
currencyType Currency of payment (PKR)
description Payment description for customer
language Payment page language (EN)
merchant Your unique merchant number

*If the parameters approveUrl, cancelURL ,declineURL are left blank, then we will automatically redirect to Success Cancel Decline

After a successful request, you will receive paymentUrl, and you need to redirect the client to paymentUrl. This page will be for payment. If the transaction was successful, we return a POST request for approveURL, all transaction parameters:

                                                
{
 "code": "string",
 "internalMessage": "string",
 "message": "string",
 "payload":  {
           "orderID": "11154555",
           "sessionID":"75B00D99650XXXXXXXXXXXXXAEB8",
           "transactionType": "",
           "purchaseAmount": "1",
           "currency": "",
           "tranDateTime": "11/11/2020 17:00:19",
           "responseCode": "001",
           "responseDescription": "Approved, no balances available",
           "brand": "VISA",
           "orderStatus": "APPROVED",
           "approvalCode": "325111 A",
           "acqFee": "0",
           "orderDescription": "Item description",
           "approvalCodeScr": "335111",
           "purchaseAmountScr": "0.01",
           "currencyScr": "",
           "orderStatusScr": "",
           "cardRegistrationResponse": "",
           "cardHolderName": ""
  }
}
                                                
                                            


getOrderInformation

POST

                                                
{
"body": {
    "sessionId": "string",
},
"merchant": "string"
}
                                                
                                            
                                                
{
    "code": "00000",
    "message": "Operation performed successfully",
    "route": "dashboard/main",
    "internalMessage": null,
    "payload": {
        "errorCode": "0",
        "errorMessage": "Success",
        "orderNumber": "14542",
        "orderStatus": 2,
        "actionCode": 0,
        "actionCodeDescription": "Request processed successfully",
        "amount": 1400,
        "currency": "586",
        "date": 1663671399445,
        "attributes": [
            {
                "name": "mdOrder",
                "value": "1fa2ce36-a71c-40bc-a1d7-c1b50b23a3f0"
            }
        ],
        "cardAuthInfo": {
            "pan": "416972**1234",
            "authorizationResponseId": "433864",
            "cardholderName": "NAME SURNAME",
            "expiration": "202301"
        },
        "paymentAmountInfo": null,
        "bankInfo": null,
        "fraudLevel": 0
    }
}
                                                
                                            


Parameter Description
sessionId After a successful createOrder request, in response you will receive an sessionId
merchant Your unique merchant number

If you successfully send a request to the createOrder method, you will receive sessionId and sessionId. After that, you can use this method, and get the payment status in the parameter orderStatus.


preAuth

POST

                                                
{
  "body": {
    "amount": 1,
    "approveURL": "string",
    "currencyType": "PKR",
    "description": "test",
    "language": "EN",
  },
  "merchant": "string"
}
                                                
                                            
                                                
{
"code": "string",
"internalMessage": "string",
"message": "string",
"payload": {
    "orderId": "string",
    "paymentUrl": "string",
}
}
                                                
                                            


Parameter Description
amount Payment amount to block
approveURL After successful payment, the forwarding address
currencyType Currency of payment (PKR)
description Payment description for customer
languageType Payment page language (EN)
merchant Your unique merchant number

*If the parameters approveUrl are left blank, then we will automatically redirect to Success

This method is for locking the amount, and after payment, you must call the completeOrder method to unlock and receive the full and part of the amount. After a successful request, you will receive paymentUrl, and you need to redirect the client to paymentUrl. This page will be for payment. If the transaction was successful, we return a POST request for approveURL, all transaction parameters


completeOrder

POST

                                                
{
"body": {
    "amount": 0,
    "description": "string",
    "language": "EN"
    "orderId": "string",
},
"merchant": "string"
}
                                                
                                            
                                                
{
    "code": "string",
    "internalMessage": "string",
    "message": "string"
}
                                                
                                            


Parameter Description
amount Payment amount or part of the amount to complete the payment.
description Payment description for customer
language Payment page language (EN)
orderId After a successful createOrder request, in response you will receive an orderId
merchant Your unique merchant number

Using this method, you can complete the payment with the final amount, that is, you can return part of the amount to the client and the final amount will be sent to the seller.

To use this method, you first need to block the amount using the preAuth method, and then complete it using the completeOrder method


invoices

POST

                                                
{
  "merchant": "ES1010101",
  "body": {
    "amount": 10,
    "merchantId": "ES1010101",
    "firstName": "est sed",
    "lastName": "eiusmod ea nostrud",
    "email": "irure@test.com",
    "linkExpirationDate": "2030-12-06T20:54:41.629Z",
    "phoneNumber": "927777777777",
    "description": "exercitation nisi",
    "approveURL": "http://test.com",
    "cancelURL": "http://test.com",
    "declineURL": "http://test.com",
    "sendSms": true
  }
}
                                                
                                            
                                                
{
    "code": "00000",
    "message": "Operation performed successfully",
    "route": "dashboard/main",
    "internalMessage": null,
    "payload": {
        "id": 272,
        "consumerNumber": "1001111003272",
        "merchantId": "ES1010101",
        "amount": 10,
        "fullName": "est sed eiusmod ea nostrud",
        "firstName": "est sed",
        "lastName": "eiusmod ea nostrud",
        "currencyType": "PKR",
        "status": "ACTIVE",
        "billStatus": "UNPAID",
        "description": "exercitation nisi",
        "email": "irure@test.com",
        "phoneNumber": "927777777777",
        "invoiceStatus": "PENDING",
        "appName": "App.tst",
        "uuid": "RScAi",
        "invoiceUuid": "1d2b3590056b47c5b68cca86d209e488",
        "invoiceCode": "1002391003272",
        "createdDate": "2022-07-14T14:00:27.818423",
        "previewUrl": "https://paysb.abhipay.com.pk/r/RScAi",
        "approveURL": "http://test.com",
        "cancelURL": "http://test.com",
        "declineURL": "http://test.com",
        "env": "PROD"
    }
}
                                                
                                            



Using this method, you can create an invoice and send SMS to your customer for payment.


get-invoice

POST

                                                
{
  "merchant": "ES1010101",
  "body": {
    "uuid": "c1123472cf7945f9876076fcb9af8a05"
  }
}
                                                
                                            
                                                
{
    "code": "00000",
    "message": "Operation performed successfully",
    "route": "dashboard/main",
    "internalMessage": null,
    "payload": {
        "id": 148,
        "consumerNumber": "666666148",
        "customer": null,
        "merchantId": "ES1010101",
        "amount": 10.00,
        "amountWithFee": null,
        "paidAmount": null,
        "surcharge": null,
        "expireDate": null,
        "currencyType": "PKR",
        "languageType": null,
        "status": "ACTIVE",
        "billStatus": "PAID",
        "active": true,
        "description": "exercitation nisi",
        "uuid": "RSchi",
        "invoiceUuid": "c2034572cf7945f9876076fcb9af8a05",
        "invoiceCode": "666666148",
        "previewUrl": "https://paysb.abhipay.com.pk/r/RSchi",
        "invoiceStatus": "COMPLETE",
        "source": null,
        "createdDate": "2022-06-01T14:14:04.89388",
        "lastModifiedDate": "2022-06-01T14:14:04.893894",
        "tranAuthId": null,
        "env": "PROD",
        "approveURL": "ipsum veniam ex sunt",
        "cancelURL": "in Lorem aliquip",
        "declineURL": "magn"
    }
}
                                                
                                            


Using this method you can get invoice information


update-invoice

URL
https://api.abhipay.com.pk/api/v2/invoices/{invoiceID}

PUT

                                                
{
"merchant":"ES1090121",
    "body":{
    "amount":10,
    "firstName":"test",
    "lastName":"test",
    "email":"mail@abhipay.com.pk",
    "expireDate":"2023-08-22 23:59:00",
    "phoneNumber":"902123456789",
    "description":"testoperation"
    }
}

                                                
                                            
                                                
{
    "code": "00000",
    "message": "Operation performed successfully",
    "route": "dashboard/main",
    "internalMessage": null,
    "payload": {
        "id": 51976,
        "consumerNumber": "100029102351976",
        "customer": {
            "id": 56188,
            "fullName": "test test",
            "firstName": "test",
            "lastName": "test",
            "phoneNumber": "902123456789",
            "email": "mail@abhipay.com.pk"
        },
        "merchantId": null,
        "amount": 10,
        "amountWithFee": 1.25,
        "paidAmount": null,
        "surcharge": null,
        "expireDate": "2023-08-22T23:59:00",
        "currencyType": "PKR",
        "languageType": "EN",
        "status": "ACTIVE",
        "billStatus": "UNPAID",
        "active": true,
        "description": "testoperation",
        "uuid": "RShye",
        "invoiceUuid": "03f7491d299f4038ad0b6e7203fdbe4f",
        "clientUuid": null,
        "invoiceCode": "100029102351976",
        "previewUrl": "https://pay.abhipay.com.pk/r/RShye",
        "invoiceStatus": "PENDING",
        "source": null,
        "createdDate": "2023-08-24T18:39:26.12598",
        "lastModifiedDate": "2023-08-24T18:39:26.125985",
        "tranAuthId": null,
        "env": "PROD",
        "approveURL": null,
        "cancelURL": null,
        "declineURL": null
    }
}

                                                
                                            


Using this method you can get invoice information


Version 3


getOrder

GET

                                                
https://api.abhipay.com.pk/api/v3/orders/orderId
                                                
                                            
                                                
{
"code": "00000",
"message": "Operation performed successfully",
"route": "dashboard/main",
"internalMessage": null,
"payload": {
    "orderId": "53d1f217-214c-42fb-a4c7-dbe0c0cb0cde",
    "sessionId": "53d1f217-214c-42fb-a4c7-dbe0c0cb0cde",
    "amount": 1.00,
    "currencyType": "PKR",
    "merchantName": "BashirovNX Store",
    "commission": null,
    "commissionRate": null,
    "paymentStatus": "CREATED",
    "auto": false,
    "createdDate": "2023-05-26T07:48:40.120512",
    "description": "string",
    "transactions": null
    }
}
                                                
                                            

Version 3


getOrder (by-rrn)

GET

                                                
https://api.abhipay.com.pk/api/v3/orders/by-rrn/{clientTransactionId}
                                                
                                            
                                                
{
"code":"00000",
"message":"Operationperformedsuccessfully",
"route":"dashboard/main",
"internalMessage":null,
"payload":{
"orderId":"0add0252-6d7a-4bf4-9ab2-d7153d834af7",
"sessionId":"0add0252-6d7a-4bf4-9ab2-d7153d834af7",
"amount":5.00,
"currencyType":"PKR",
"merchantName":"TEST",
"commission":null,
"commissionRate":null,
"paymentStatus":"CREATED",
"auto":false,
"createdDate":"2023-11-28T10:59:28.710884",
"description":"string",
"transactions":[
    {
    "uuid":"55eb041b-217c-4bdb-b8c8-932651077952",
    "createdDate":"2023-11-28T11:00:06.589788",
    "status":"CREATED",
    "responseDescription":null,
    "channel":"NEEZAM_BANK",
    "requestRrn":"1010705",
    "responseRrn":"67df858e-c8bd-4ab3-9ad8-ac8a3fd3985e",
    "cardDetails":{
    "cardHolderName":"NAME SURNAME",
    "maskedPan":"535464******3975",
    "brand":"MASTER_CARD",
    "uuid":null,
    "bankName":"UNKNOWN"
    },
    "cardUuid":null,
    "recurrenceId":null,
    "threeDSData":null
    }
],
"orgSessionId":"67df858e-c8bd-4ab3-9ad8-ac8a3fd3985e",
"bankName":null,
"initialAmount":null,
"discountRate":null,
"discountedAmount":null,
"taxRate":null,
"calculatedTax":null,
}
                                                
                                            

Parameter Description
clientTransactionId Unique id for each transaction.


orders

POST

                                                
{
"amount": 1,
"language": "EN",
"currency": "PKR",
"description": "string",
"clientTransactionId" : "string",
"callbackUrl": "https://www.youtube.com/",
"cardSave": false,
"operation": "PURCHASE"
}
                                                
                                            
                                                
{
"code": "00000",
"message": "Operation performed successfully",
"route": "dashboard/main",
"internalMessage": null,
"payload": {
    "orderId": "53d1f217-214c-42fb-a4c7-dbe0c0cb0cde",
    "paymentUrl": "https://pay.abhipay.com.pk/d/53d1f217-214c-42fb-a4c7-dbe0c0cb0cde"
    }
}
                                                
                                            

Parameter Description
amount Payment amount or part of the amount to complete the payment.
language Payment page language (EN)
currency Currency of payment (PKR)
description Payment description for customer
CallbackURL After successful payment, the forwarding address
Cardsave Remember the card for future payments
Operation it indicates the type of operation. It can be purchase, preuth, complete and refund


autoPay

POST

                                                
{
"cardUuid": "57068db6-c879-4cb4-bf4e-cc90804d253e",
"amount": 1,
"currency": "PKR",
"description": "string",
"clientTransactionId" : "string",
"callbackUrl": "https://webhook.site/edd87b5b-e2cc-417d-b5f0-a5e8d6b76253 ",
"operation": "PURCHASE"
}
                                                
                                            
                                                
{
"code": "00000",
"message": "Operation performed successfully",
"route": "dashboard/main",
"internalMessage": null,
"payload": {
    "orderId": "78e92b0a-4a7e-4033-9458-7e561818b79b",
    "paymentUrl": "https://pay.abhipay.com.pk/d/78e92b0a-4a7e-4033-9458-7e561818b79b",
    "orderInfo": null
    }
}
                                                
                                            

Parameter Description
cardUuid Unique id credit card payment for automatic payment.
amount Payment amount or part of the amount to complete the payment.
currency Currency of payment (PKR)
description Payment description for customer
CallbackURL After successful payment, the forwarding address
Operation it indicates the type of operation. It can be purchase, preuth, complete and refund


recurrentpay

POST

                                                
"cardUuid": "5468f874-0547-42ce-9b98-fa7e82c027a9",
"amount": 2.00,
"currency": "PKR",
"description": "string",
"clientTransactionId" : "string",
"callbackUrl": "https://webhook.site/edd87b5b-e2cc-417d-b5f0-a5e8d6b76253",
"operation": "PURCHASE"
                                                
                                            
                                                
{
 "code": "00000",
    "message": "Operation performed successfully",
    "route": "dashboard/main",
    "internalMessage": null,
    "payload": {
        "errorCode": "0",
        "errorMessage": "Successful recurring payment",
        "orderNumber": "e6d1f799-820b-4b18-99f0-5dbd6b448b36"
    }
}
                                                
                                            

Parameter Description
cardUuid Unique id credit card payment for automatic payment.
amount Payment amount or part of the amount to complete the payment.
currency Currency of payment (PKR)
description Payment description for customer
CallbackURL After successful payment, the forwarding address
Operation It indicates the type of operation. It can be purchase, preuth, complete and refund

Result codes/messages

                                
ResultCodes {
    String SUCCESS = "00000";
    String SUCCESS_GATEWAY = "00";
    String SUCCESS_GATEWAY_APPROVE = "APPROVED";
    String SUCCESS_GATEWAY_PREAUTH_APPROVE = "PREAUTH-APPROVED";
    String WARNING = "01000";
    String ERROR = "15000";
    String INVALID_PARAMETERS = "15400";
    String UNAUTHORIZED = "14010";
    String TOKEN_NOT_PRESENT = "14013";
    String INVALID_TOKEN = "14014";
}

ResultMessages {
    String OK = "OK";
    String SUCCESS = "Operation performed successfully";
    String ERROR = "Internal Error";
    String UNAUTHORIZED = "Unauthorized";
    String NOT_FOUND = "Not found";

    String TOKEN_NOT_PRESENT = "Token not present";
    String INVALID_TOKEN = "Invalid Token";
    String TOKEN_EXPIRED = "Token expired";
    String DEACTIVE_TOKEN = "Token is not active";
    String LINK_EXPIRED = "Link is expired!";

    String NO_RECORD_FOUND = "No record found!";
    String NO_INVOICE_FOUND = "No invoice found!";
    String APPLICATION_NOT_FOUND = "Application not found!";
    String USER_NOT_FOUND = "User not found!";
    String USER_ALREADY_EXISTS = "User already exists!";
    String UNEXPECTED_GATEWAY_ERROR = "Occurred problem with Processing";
    String INVALID_CREDENTIALS = "Username or Password is incorrect";
  }