Skip to main content

Payment Status

Look up the current state of any prior transaction. This is the authoritative source of truth — when the redirect / webhook fails or you suspect tampering, query this endpoint.

You can search by order_id, transaction_id, date range, customer phone/email, response code, or any combination.

warning

Your server IP must be whitelisted by Omniware for this endpoint. If you receive Unauthorized, contact your relationship manager.

Endpoint

POST https://pgbiz.omniware.in/v2/paymentstatus
Content-Type: application/x-www-form-urlencoded

Request parameters

api_keystring (36)required
order_idstring (30)

Your reference number(s). Comma-separated for multiple.

transaction_idstring (30)

Omniware's transaction ID.

bank_codestring (4)

4-letter bank code to filter by payment mode/channel.

response_codenumber(4)

Filter by response code (e.g. 0 for success only).

customer_phonestring (30)
customer_emailstring (255)
customer_namestring (255)
date_fromstring (20)

DD-MM-YYYY or YYYY-MM-DD HH:MM:SS.

date_tostring (20)

DD-MM-YYYY or YYYY-MM-DD HH:MM:SS.

page_numberinteger
per_pageinteger
1–50.
hashstring (255)required

Sample request

curl -X POST https://pgbiz.omniware.in/v2/paymentstatus \
-d "api_key=$API_KEY" \
-d "order_id=ORD-1001" \
-d "hash=$HASH"

Response

{
"data": [
{
"transaction_id": "SFSBIN2783912661",
"bank_code": "SBIN",
"payment_mode": "Netbanking",
"payment_channel": "State Bank of India",
"payment_datetime": "2018-06-13 16:44:03",
"response_code": 1000,
"response_message": "FAILED",
"authorization_staus": null,
"order_id": "ORD-1001",
"amount": "27.36",
"amount_orig": "2.00",
"tdr_amount": 21.49,
"tax_on_tdr_amount": 3.87,
"description": "Web Payment for 433487",
"error_desc": "FAILED",
"customer_phone": "9900990099",
"customer_name": "sharathkumar hegde",
"customer_email": "sharathkumar@example.com",
"currency": "INR",
"cardmasked": null,
"udf1": null, "udf2": null, "udf3": null, "udf4": null, "udf5": null,
"refund_details": { "refund_amount": 0 }
}
],
"page": {
"total": 175,
"per_page": 10,
"current_page": 1,
"last_page": 18,
"from": 1,
"to": 10
},
"hash": "30FAAD865191B4064576F063177F0A4692C3DBBBF35D1A20463EAA449269C4715FD13528EA069B3A8D5C25C62637ED825C297C2337CDC1CFB7FCD0D60DCFEB9D"
}

The hash covers the entire response body. Recompute with SHA512(salt + json_of_response_without_hash).

Pagination

If your filter matches more than 50 transactions you must paginate:

-d "page_number=2" -d "per_page=20"

Without page_number, large result sets return 1086 — More than 50 records, refine your search criteria or use pagination.

Common errors

CodeMeaningWhat to do
1001api_key field is incorrectCheck your api_key
1028No Transaction foundRetry with backoff if the txn is recent; otherwise the query matched nothing
1050No data record foundThe filter combination matched nothing
1086More than 50 recordsAdd page_number and per_page