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 (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 Name

Type

Requirement

Description

payer

Array

Mandatory

Payer details

payer.bankProfileId

String

Mandatory

Unique Bank Profile Id

payer.accountNumber

String

Mandatory

Account number of the Connected Bank

payee

Array

Mandatory

Payee details

payee.name

String

Mandatory

Account Holder Name

payee.accountNumber

String

Mandatory

Account Number of End User

payee.bankIfsc

String

Mandatory

IFS Code

payee.payeeListId

String

Optional (Mandatory When Doing Payout From Axis Bank Connected Banking)

Beneficiary Id which you will get from Fetch Beneficiary API response.

transferMode

String

Mandatory

Modes can be IMPS,NEFT or RTGS

transferAmount

String

Mandatory

Amount to be transferred

externalRef

String

Mandatory

Your unique transaction Id

latitude

String

Mandatory

End User Latitude.

longitude

String

Mandatory

End User Longitude.

Remarks

String

Optional

Payment Remarks

purpose

String

Optional

Purpose of transaction :
SALARY
REIMBURSEMENT
BONUS
INCENTIVE
CUSTOMER_REFUND
OTHERS

otp

String

Optional

Received on the Bank registered Mobile Number and is Valid only for Axis Bank Connected Banking Payout.

otpReference

String

Optional

Received 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" : "10910",
        "accountNumber" : "7428585742"
    },
    "payee" : {
        "name" : "Instantpay India Ltd",
        "accountNumber" : "7770007428585742",
        "bankIfsc" : "YESB0CMSNOC",
        "payeeListId" " ""
    },
    "transferMode" : "IMPS",
    "transferAmount" : "1000",
    "externalRef" : "IMPS1",
    "latitude" : "20.1236",
    "longitude" : "78.1228",
    "remarks" : "Fund Transfer",
    "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" : "10910",
        "accountNumber" : "7428585742"
    },
    "payee" : {
        "name" : "Instantpay India Ltd",
        "accountNumber" : "7770007428585742",
        "bankIfsc" : "YESB0CMSNOC",
        "payeeListId" " ""
    },
    "transferMode" : "IMPS",
    "transferAmount" : "1000",
    "externalRef" : "IMPS1",
    "latitude" : "20.1236",
    "longitude" : "78.1228",
    "remarks" : "Fund Transfer",
    "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": "1211112165649WFTYK",
        "txnValue": "1000",
        "txnReferenceId": "13237897641",
        "pool": {
            "account": "7428585742",
            "openingBal": "5.17",
            "mode": "DR",
            "amount": "3.46",
            "closingBal": "1.71"
        },
        "payer": {
            "account": "7428585742",
            "name": "Sample Store"
        },
        "payee": {
            "account": "3777000742858574",
            "name": "Instantpay India Ltd"
        }
    },
    "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!