Refund Request
Refund any prior transaction in paid, settled, or refunded (partial) state. Refunds run on the next settlement cycle.
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)requiredtransaction_idstring (30)requiredOmniware'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)requiredRefund amount. Must be ≤ original transaction amount minus any prior refunds.
descriptionstring (500)requiredReason for the refund.
hashstring (255)requiredAlways 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
- Poll the refund's progress with Refund Status.
- Receive completion via S2S webhook.