Skip to main content

Refund Request

Refund any prior transaction in paid, settled, or refunded (partial) state. Refunds run on the next settlement cycle.

note

Refunds are subject to availability of funds in subsequent settlement cycles. The PDF does not document a dedicated insufficient-funds error sample; handle any error response as non-accepted and reconcile with support or Refund Status before retrying.

Endpoint

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

Request parameters

api_keystring (36)required
transaction_idstring (30)required

Omniware's transaction ID for the original payment.

merchant_refund_idstring (30)

Your idempotency key for this refund. Strongly recommended — if a refund request with the same merchant_refund_id is replayed, Omniware returns the existing refund instead of creating a duplicate.

merchant_order_idstring (30)

Optional cross-check. If supplied, must match the original transaction's order_id.

amountdecimal(10,2)required

Refund amount. Must be ≤ original transaction amount minus any prior refunds.

descriptionstring (500)required

Reason for the refund.

hashstring (255)required
warning

Always set merchant_refund_id. Without it, a retried request creates a duplicate refund.

Sample request

curl -X POST https://pgbiz.omniware.in/v2/refundrequest \
-d "api_key=$API_KEY" \
-d "transaction_id=HDVISC7472820193" \
-d "merchant_refund_id=76783_R_1" \
-d "amount=149.00" \
-d "description=Customer requested refund" \
-d "hash=$HASH"

Response

Success:

{
"data": {
"transaction_id": "HDVISC7472820193",
"refund_id": 4351,
"refund_reference_no": null,
"merchant_refund_id": "76783_R_1",
"merchant_order_id": "76783"
}
}

refund_reference_no is the bank-side reference. It may be null initially if the bank batches refunds at end-of-day.

Error:

{
"error": {
"code": 1039,
"message": "The refund amount is greater than transaction amount"
}
}

Next