Bank Accounts

Initiate payouts to your Customers, Vendors, and Employees directly from your InstantPay or Bank account. Money can be sent to bank accounts (IMPS / UPI / NEFT / RTGS), and Wallets (Paytm, Amazon Pay). This API cannot be used for DMT use cases.

Header Parameters

NameTypeDescriptionMandatory (M) , Optional (O)Provided by INSTANTPAY (Y/N)
X-Ipay-Auth-CodeStringAuth Code is "1" (Fixed)MY
X-Ipay-Client-IdStringUnique Client IDMY
X-Ipay-Client-SecretStringUnique secret keyMY
X-Ipay-Endpoint-IpStringEnd Customer IP AddressMN

📘

Info :

Click Here to know how to get the Credentials.

Request Parameter for Bank

Parameter NameTypeRequirementDescription
payerArrayMandatoryPayer details
payer.bankProfileIdStringMandatoryUnique Bank Profile Id
payer.accountNumberStringMandatoryAccount number of the Connected Bank
payeeArrayMandatoryPayee details
payee.nameStringMandatoryAccount Holder Name
payee.accountNumberStringMandatoryAccount Number of End User
payee.bankIfscStringMandatoryIFS Code
payee.payeeListIdStringOptional (Mandatory When Doing Payout From Axis Bank Connected Banking)Beneficiary Id which you will get from Fetch Beneficiary API response.
transferMode StringMandatoryModes can be IMPS,NEFT or RTGS
transferAmountStringMandatoryAmount to be transferred
externalRef StringMandatoryYour unique transaction Id
latitude StringMandatoryEnd User Latitude.
longitudeStringMandatoryEnd User Longitude.
RemarksStringOptionalPayment Remarks
alertEmailStringOptionalEmail Id of the end user If passing the email then Instantpay will send the email notification.
purposeStringOptionalPurpose of transaction :
SALARY
REIMBURSEMENT
BONUS
INCENTIVE
CUSTOMER_REFUND
OTHERS
otpStringOptionalReceived on the Bank registered Mobile Number and is Valid only for Axis Bank Connected Banking Payout.
otpReferenceStringOptionalReceived in the API response and is Valid only for Axis Bank Connected Banking Payout.

Sample Request for Bank

curl --location --request POST 'https://api.instantpay.in/payments/payout' \
--header 'X-Ipay-Auth-Code: {{authCode}}' \
--header 'X-Ipay-Client-Id: {{clientId}}' \
--header 'X-Ipay-Client-Secret: {{clientSecret}}' \
--header 'X-Ipay-Endpoint-Ip: {{endPointIP}}' \
--header 'Content-Type: application/json' \
--data-raw'{
    "payer" : {
        "bankProfileId" : "1***1",
        "accountNumber" : "0*********5"
    },
    "payee" : {
        "name" : "Sh***az",
        "accountNumber" : "3258*******100",
        "bankIfsc" : "SB*******52",
        "payeeListId" " "342134987"
    },
    "transferMode" : "IMPS",
    "transferAmount" : "1000",
    "externalRef" : "IMPS1",
    "latitude" : "20.**36",
    "longitude" : "78.**28",
    "remarks" : "Test",
    "alertEmail" : "s*******[email protected]",
    "purpose": "REIMBURSEMENT",
    "otp" : "",
    "otpReference" : ""
}'
POST /payments/payout HTTP/1.1
Host: api.instantpay.in
X-Ipay-Auth-Code: {{authCode}}
X-Ipay-Client-Id: {{clientId}}
X-Ipay-Client-Secret: {{clientSecret}}
X-Ipay-Endpoint-Ip: {{endPointIP}}
Content-Type: application/json

{
    "payer" : {
        "bankProfileId" : "1***1",
        "accountNumber" : "0*********5"
    },
    "payee" : {
        "name" : "Sh***az",
        "accountNumber" : "3258*******100",
        "bankIfsc" : "SB*******52",
        "payeeListId" " "342134987"
    },
    "transferMode" : "IMPS",
    "transferAmount" : "1000",
    "externalRef" : "IMPS1",
    "latitude" : "20.**36",
    "longitude" : "78.**28",
    "remarks" : "Test",
    "alertEmail" : "s*******[email protected]",
    "purpose": "REIMBURSEMENT",
    "otp" : "",
    "otpReference" : ""
}

Response Parameter for Bank

Parameter NameTypeDescription
statuscodeStringInstantPay Status Code
actcodeStringAction Code
statusStringStatus message
dataArrayResponse Data (If Present)
timestampStringResponse time (YYYY-MM-DD HH:II:SS)
ipay_uuidStringRequest reference number
orderidStringTransaction Id ( If transaction otherwise it is null )
environmentStringLive/Sandbox
internalCodeStringIt will be null

Sample Response for Bank

{
    "statuscode": "TXN",
    "actcode": null,
    "status": "Transaction Successful",
    "data": {
        "externalRef": "IMPS1",
        "poolReferenceId": "12**************YK",
        "txnValue": "1000",
        "txnReferenceId": "13********41",
        "pool": {
            "account": "98******07",
            "openingBal": "5.17",
            "mode": "DR",
            "amount": "3.46",
            "closingBal": "1.71"
        },
        "payer": {
            "account": "98******07",
            "name": "Sample Store"
        },
        "payee": {
            "account": "32*******63",
            "name": "Mr  MD SH***Z **I"
        }
    },
    "timestamp": "2021-11-12 16:56:50",
    "ipay_uuid": "h00695deb945-3def-42ba-8857-2ff7bac93fe6",
    "orderid": "1211112165649WFTYK",
    "environment": "LIVE",
    "internalCode": null
}

📘

Note :

1- If doing payout from Instantpay Wallet then bankProfileId will be 0 and accountNumber will be Instantpay Registered Mobile Number.

2- If doing from Linked Current Account then you will get bankId, bankProfileId and accountNumber from the dashboard.

📘

Note:

Click here for Axis Bank Connected Banking Beneficiary

❗️

Important Points :

  1. Latitude and Longitude must be represented in degrees with 4 digits after the decimal.  
  2. externalRef must be unique and in alphanumeric characters.
  3. Remarks should be in the alphabet, and they can be a maximum of 20 characters.  
  4. Purpose are Case Sensitive.  
  5. Consider the Transaction as Pending when you get No Response or Timeout Response and then check the status of the transactions through Transaction Status API.
Language
Click Try It! to start a request and see the response here!