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:

Parameter
Type
Required
Description

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:

  1. Concatenate values: Create a single string by concatenating the order_id, your pid, and your secret_key.

  2. Create an MD5 hash: Calculate the MD5 hash of the concatenated string.

  3. Encrypt the hash: Encrypt the resulting MD5 hash using the AES-256-CBC algorithm with your secret_key as the password.

  4. 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.

Parameter
Type
Description

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.

Error Message
Reason

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.

  1. Concatenate values: Create a single string by concatenating the order_id, amount_processed, status, and your

    secret_key from the response data.

  2. Create an MD5 hash: Calculate the MD5 hash of this new concatenated string.

  3. Base64 Decode: Decode the post_hash string received in the response.

  4. Decrypt the hash: Decrypt the Base64 decoded data using the AES-256-CBC algorithm with your secret_key.

  5. Compare: Compare the decrypted hash from the response with your locally generated MD5 hash. If they match, the response is

    authentic.

Last updated