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​