Check Transfer Status API

The Check Transfer Status API will return the status of the transfers initiated by the merchant.

HTTP Method: POST

Environment

Sample request
curl -X POST \
 https://test.payumoney.com/payout/payment/listTransactions \
 -H 'authorization: Bearer 2678f236346281e6029e3430da1a721af29bb3546d6acbc27e6aadd7fca72605' \
 -H 'cache-control: no-cache' \
 -H 'content-type: application/x-www-form-urlencoded' \
 -H 'payoutmerchantid: 1111122' \
 -d 'transferStatus=QUEUED&from=01%2F01%2F2019&to=01%2F01%2F2019&page=1&pageSize=100&merchantRefId=&batchId=1'
Sample response
{
    "status": 0,
    "msg": null,
    "code": null,
    "data": {
        "payoutMerchantId": null,
        "noOfPages": 1,
        "totalElements": 1,
        "currentPage": 0,
        "totalAmount": 0.0,
        "succesTxn": 0,
        "pendingTxn": 0,
        "transactionDetails": [
            {
                "txnId": 71870,
                "batchId": "smartSendBatch",
                "merchantRefId": "0101010031",
                "purpose": "Payout",
                "amount": 1.0,
                "txnStatus": "FAILED",
                "txnSubStatus": null,
                "txnSource": "SMART_SEND",
                "txnDate": "2022-08-22T05:56:13.000+0000",
                "scheduledTxnDate": "2022-08-22T05:56:13.000+0000",
                "payuTransactionRefNo": "PAYOUT1661147773462lrSLcvHSc1K",
                "beneficiaryName": "Customer",
                "beneficiaryCardNo": null,
                "msg": "Internal Error while validating vpa account",
                "responseCode": null,
                "transferType": "UPI",
                "bankTransactionRefNo": null,
                "nameWithBank": null,
                "lastStatusUpdateDate": "2022-08-22T05:56:15.000+0000",
                "succeedOn": null,
                "fee": null,
                "tax": null,
                "txnStatusDescription": "Internal Error while validating vpa account",
                "custom1": null,
                "custom2": null,
                "custom3": null,
                "nameMatch": null
            }
        ]
    }
}

The status of a particular transaction has to be determined only from the field txnStatus in thetransactionDetails JSON against the merchantRefId.

On receiving the following JSON Response in the Check Transfer Status API, the transaction status is not determined and has to considered as unidentified or Pending by merchant.

{
    "status": 0,
    "msg": null,
    "code": null,
    "data": {
        "payoutMerchantId": null,
        "noOfPages": 0,
        "totalElements": 0,
        "currentPage": 0,
        "totalAmount": 0.0,
        "succesTxn": 0,
        "pendingTxn": 0,
        "transactionDetails": []
    }
}
Response parameters description
ParameterDescription
statusThis parameter returns the status of web service call. The status can be any of the following:

- 0 - If web service call succeeded.
- 1 - If web service call failed
msgThis parameter returns the message to convey success or failure.
codeThis parameter returns the code.
dataThis parameter returns the transfer status in a JSON format. Refer the Description of data Parameter Fields

Description of data parameter fields

FieldDescription
noOfPagesThe field contains the number of pages with the transfer status details.
totalElementsThe field contains the number of elements with the transfer status details.
currentPageThe field contains the current page that is returned.
totalAmountThe field contains the total amount of the transaction.
succesTxnThe field contains the code whether transaction is successful.
pendingTxnThis field contains the code whether transaction is pending.
transactionDetailsThis field contains the following transaction details in an JSON format and each object contains the following details:

- txnId: Contains the transaction ID from PayU
- batchId: Contains the batch ID provided by merchant at the time of initiating transfer
- merchantRefId: merchantRefId provided by merchant at the time of initiating transfer
- purpose: Contains the purpose provided by merchant at the time of initiating transfer
- amount: The amount transferred for this transaction
- txnStatus: Contains the transaction status for this transaction. For list of transaction status, refer to Transaction Status sub-section
- txnSubStatus: Contains the sub-status of the transaction
- txnSource: Contains the source of transaction from where it is initiated
- txnDate: The date when transaction initiated
- scheduledTxnDate: The date when transactions is scheduled
- payuTransactionRefNo: Contains the PayU transaction reference number.
- beneficiaryName: Contains the name of the beneficiary passed in request
- beneficiaryCardNo: Contains the name of the beneficiary passed in request
- msg: Contains the response message for transaction
- responseCode: Contains the response code from PayU, For the list of response codes, refer to Payouts Error Codes
- transferType: Contains the mode of the transfer used while initiating request (IMPS,NEFT,UPI)
- bankTransactionRefNo: Contains the bank transfer reference number
- nameWithBank: Contains the beneficiary name as per bank
- lastStatusUpdateDate: Contains the transfer terminating state time (Transfer success or failure time)
- succeedOn
- fee: the fee charged for transaction. This is basis the agreement signed by merchant
- tax:applicable on fee as applicable
- txnStatusDescription: show description of transaction failed/queued reason
- custom1: entered by merchant in Initiate transfer API
- custom2: entered by merchant in Initiate transfer API
- custom2: entered by merchant in Initiate transfer API
- nameMatch: Will return name match percentage for penny drop with name match transaction

This field contains the following transaction details in an JSON format and each object contains the following details:
e for penny drop with name match transaction|

Transaction status Description

StatusDescription
QUEUEDIt will be first state once we get transaction request from merchant. If merchant is not having enough balance in his account txn will be in queued state only till he/she do deposit in virtual account. Check disable queued payout
IN_PROGRESSTransaction picked for processing with bank
PENDINGPayU has received pending status from bank. Final status will be updated once PayU get success or failure from bank. Reconciliation for these type of transaction happen after every 5 min.
FAILEDTransaction got failed at bank end. Check error message and fix if anything wrong in request or else retry.
SUCCESSTransaction got success. Amount is transferred to customer account
WAITING_FOR_RETRYTransaction is waiting to be picked again. You will get this status only in case bank / beneficiary bank server is down and you have passed retry as true or empty while calling transfer API.

Headers and request parameters

📘

Note:

The payoutMerchantId is different from PayU Merchant Id. Check the Payouts Dashboard or call the PayU Customer Support if you don’t know your payoutMerchantId.

📘

Reference:

For sample request and response, refer to Sample Request and Response for Initiation & Tracking APIs.

Additional Info for request parameters
ParametersDescriptionExample
transferStatus
optional
String Search by status of transfer. Merchant can get all success or failure transaction of the day to reconcile. The transfer status can be any of the following:

- QUEUED/SCHEDULED
- IN_PROGRESS
- PENDING
- FAILED
Refer to the Transfer Status table for the description of each status.
success
filterBySucceedOn] optionalBoolean This parameter must be passed True along with dateFrom and dateTo parameters, to filter the transactions that were successful between these dates.
Note: For this filter, date range can be maximum of seven days.
 
Language
Authorization
Bearer
URL
Click Try It! to start a request and see the response here!