Payout Status check API (Order Id)
Get Payout Transaction Status
This API endpoint allows you to check the status of a specific payout transaction. It authenticates requests using a partner ID (pid) and a securely hashed signature.
URL: {baseurl}/payout/api/order_status_polling.php(The exact URL will depend on your server configuration)
Method: POST
Content-Type: application/json
Request Body
The request must be a JSON object containing the following parameters:
pid
String
Yes
Your unique Partner ID
order_id
String
Yes
The unique order ID for the transaction you want to query
post_hash
String
Yes
A security hash to authenticate the request. See Hash Generation below.
Example Request Body
{
"pid": "YOUR_PID_123",
"order_id": "ORD-54321-ABC",
"post_hash": "BASE64_ENCODED_HASH_STRING"
}Hash Generation (Request)
To create the post_hash for the request, you must follow these steps:
Concatenate values: Create a single string by concatenating the order_id, your pid, and your secret_key.
Create an MD5 hash: Calculate the MD5 hash of the concatenated string.
Encrypt the hash: Encrypt the resulting MD5 hash using the AES-256-CBC algorithm with your secret_key as the password.
Base64 Encode: Encode the binary output of the encryption using Base64 to get the final post_hash string.
Response
The API will respond with a JSON object. The structure depends on whether the request was successful.
Success Response
If the request is valid and the transaction is found, the API returns a JSON object with the transaction details.
requested_amount
string
The amount originally requested for the payout.
processed_amount
string
The final amount that was processed.
order_id
string
The unique order ID of the transaction.
status
string
The current status of the transaction (e.g., 'SUCCESS', 'PENDING', 'FAILED').
time
string
The time the transaction was last acted upon.
ref_code
string
An internal reference code or hash value.
post_hash
string
A new security hash for verifying the response. See Hash Verification below.
request_time
string
Timestamp of when the payout was initiated (d-m-Y H:i:s).
action_time
string
Timestamp of when the transaction status was last updated (d-m-Y H:i:s).
payment_type
string
The method of payment (e.g., 'UPI', 'IMPS').
upi_vpa
string
The UPI VPA, if applicable.
account_no
string
The beneficiary account number, if applicable.
account_holder
string
The name of the beneficiary account holder, if applicable.
ifsc
string
The IFSC code of the beneficiary bank, if applicable.
bank_name
string
The name of the beneficiary bank.
bank_address
string
The address of the beneficiary bank.
transaction_info
Array
An array of objects, each representing a status change in the transaction's lifecycle.
bank_reference
string
The UTR or bank reference number for the transaction.
Example Success Response
{
"requested_amount": "100.00",
"processed_amount": "100.00",
"order_id": "ORD-54321-ABC",
"status": "SUCCESS",
"time": "18:30:05",
"ref_code": "some_hash_value",
"post_hash": "NEW_BASE64_ENCODED_HASH_FOR_RESPONSE",
"request_time": "15-07-2025 18:29:00",
"action_time": "15-07-2025 18:30:05",
"payment_type": "UPI",
"upi_vpa": "receiver@okbank",
"account_no": null,
"account_holder": null,
"ifsc": null,
"bank_name": null,
"bank_address": null,
"transaction_info": [
{
"date": "2025-07-15 18:29:00",
"status": "PENDING",
"ref_number": null,
"message": "Transaction initiated"
},
{
"date": "2025-07-15 18:30:05",
"status": "SUCCESS",
"ref_number": "521234567890",
"message": "Transaction completed successfully"
}
],
"bank_reference": "521234567890"
}Error Response
If an error occurs, the API returns a JSON object with a single error key.
no valid data format recieved
The request body is missing one or more required fields: pid, order_id, post_hash.
Invalid PID
The provided pid does not exist or is not active.
Invalid Hash
The provided post_hash is incorrect. The server could not authenticate the request.
order id does not exist
The order_id could not be found for the given pid.
Example Error Response
{
"error": "Invalid Hash"
}Hash Verification (Response)
To ensure the integrity of the response, you should verify the post_hash returned in the success response.
Concatenate values: Create a single string by concatenating the order_id, amount_processed, status, and your
secret_key from the response data.
Create an MD5 hash: Calculate the MD5 hash of this new concatenated string.
Base64 Decode: Decode the post_hash string received in the response.
Decrypt the hash: Decrypt the Base64 decoded data using the AES-256-CBC algorithm with your secret_key.
Compare: Compare the decrypted hash from the response with your locally generated MD5 hash. If they match, the response is
authentic.
Last updated