post https://api.instantpay.in/payments/payout
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
Name | Type | Description | Mandatory (M) , Optional (O) | Provided by INSTANTPAY (Y/N) |
---|---|---|---|---|
X-Ipay-Auth-Code | String | Auth Code is "1" (Fixed) | M | Y |
X-Ipay-Client-Id | String | Unique Client ID | M | Y |
X-Ipay-Client-Secret | String | Unique secret key | M | Y |
X-Ipay-Endpoint-Ip | String | End Customer IP Address | M | N |
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 Name | Type | Description |
---|---|---|
statuscode | String | InstantPay Status Code |
actcode | String | Action Code |
status | String | Status message |
data | Array | Response Data (If Present) |
timestamp | String | Response time (YYYY-MM-DD HH:II:SS) |
ipay_uuid | String | Request reference number |
orderid | String | Transaction Id ( If transaction otherwise it is null ) |
environment | String | Live/Sandbox |
internalCode | String | It 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 :
- Latitude and Longitude must be represented in degrees with 4 digits after the decimal.
- externalRef must be unique and in alphanumeric characters.
- Remarks should be in the alphabet, and they can be a maximum of 20 characters.
- Purpose are Case Sensitive.
- 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.