Onerway
POST

Refund request rejection webhook

Webhook URL
Receive a notification at the original transaction’s notifyUrl only when Onerway rejects the refund request during review. Do not use the example to determine whether a field is always returned or can be null. See Webhooks for handling and Create or cancel refund for requests.

Signature coverage

Request signing guide

All payload fields are included in the signature except:

  • sign(legacy signature value)

Webhook payload fields

notifyType
Notification category.
transactionId
Onerway refund transaction number. Return this value unchanged when acknowledging the notification.
merchantNo
Merchant number assigned by Onerway.
merchantTxnId
Merchant transaction number for the refund. Onerway generates it if omitted from the refund request.
originMerchantTxnId
Merchant transaction number of the original payment.
responseTime
Time when Onerway generated the notification result, in yyyy-MM-dd HH:mm:ss format.
txnTimeZone
Time zone offset for the transaction times in the notification.
orderAmount
Transaction amount reported in this notification, expressed in orderCurrency as a decimal string.
orderCurrency
Currency of orderAmount.
status
Result of the rejected refund request: F (failed).
reason
Result details encoded as a JSON string containing respCode and respMsg. When verifying the signature, use the field value as received, without parsing or reserializing its JSON content.
sign
Legacy body signature, excluded from the signature input. It uses only the first enabled key. Verify the notification using the signature in the X-Rh-Signature header.

Webhook example

{
  "notifyType": "REFUND_AUDIT",
  "transactionId": "demo_transactionId",
  "merchantNo": "demo_merchantNo",
  "merchantTxnId": "demo_merchantTxnId",
  "originMerchantTxnId": "demo_originMerchantTxnId",
  "responseTime": "2026-09-14 00:35:26",
  "txnTimeZone": "+08:00",
  "orderAmount": "593.30",
  "orderCurrency": "USD",
  "status": "F",
  "reason": "{\"respCode\": \"70002\", \"respMsg\": \"Unknown decline\"}",
  "sign": "replace_with_signature"
}

Acknowledgement

After receiving and accepting the notification, return HTTP 200 with Content-Type: text/plain and the received transactionId unchanged in the response body. Without a successful response, Onerway retries at 30-minute intervals, up to 3 times.

Response body example

demo_transactionId