UPI VPA

Initiate payouts to your Customers, Vendors, and Employees directly from your Bank account through UPI VPA

Header Parameters

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

Request Parameters

Parameter NameTypeRequirementDescription
payerArrayMandatoryPayer details
payer.bankProfileIdStringMandatoryUnique Bank Profile Id
payer.accountNumberStringMandatoryInstantpay registered mobile number
payeeArrayMandatoryPayee details
payee.nameStringMandatoryAccount Holder Name
payee.accountNumberStringMandatoryAccount Number of End User
payee.bankIfscStringOptionalIFS Code
transferArrayMandatoryTransfer details
transferModeStringMandatoryMode Will Be UPI
transferAmountStringMandatoryAmount to be transferred
externalRefStringMandatoryYour unique transaction Id
latitudeStringMandatoryEnd User Latitude.
longitudeStringMandatoryEnd User Longitude.
RemarksStringOptionalPayment Remarks
alertEmailStringOptionalEmail Id of end User. If passing the email then Instantpay will send the email notification.
purposeStringOptionalPurpose of transaction :
SALARY
REIMBURSEMENT
BONUS
INCENTIVE
CUSTOMER_REFUND
OTHERS

Sample Request

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": "0",
        "accountNumber": "9999999999"
    },
    "payee": {
        "name": "Ah***ab",
        "accountNumber": "ipay.3XXX3@abc",
        "bankIfsc": ""
    },
    "transferMode": "UPI",
    "transferAmount": "5.00",
    "externalRef": "IMPS1",
    "latitude": "20.**26",
    "longitude": "78.**28",
    "remarks": "UPI",
    "alertEmail": "s*******[email protected]",
    "purpose": "REIMBURSEMENT"

}'
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" : "0",
        "accountNumber" : "9999999999"
    },
    "payee" : {
         "name" : "Ah***ab",
        "accountNumber" : "ipay.3XXX3@abc",
        "bankIfsc" : ""
    },
    "transferMode" : "UPI",
    "transferAmount" : "5.00",
    "externalRef" : "IMPS1",
    "latitude" : "20.**26",
    "longitude" : "78.**28",
    "remarks" : "UPI",
    "alertEmail" : "s*******[email protected]",
    "purpose": "REIMBURSEMENT"
}

Response Parameters

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

{
    "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": "ipay.23XXX@bank",
            "name": "Mr  MD SH*** **LI"
        }
    },
    "timestamp": "2021-11-12 16:56:50",
    "ipay_uuid": "h00695deb945-3def-42ba-8857-2ff7bac93fe6",
    "orderid": "1211112165649WFTYK",
    "environment": "LIVE",
    "internalCode": null

}

❗️

Note :

1 - Latitude and Longitude must be represented in degrees with 4 digits after decimal.
2- externalRef must be unique and in alpha numeric characters.
3- Remarks should be in alphabet and it can be of maximum 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.

📘

Info :

Click Here to know how to get the Credentials.

Language
Click Try It! to start a request and see the response here!