Card Refund Status & Info

Retrieve the full state of a card refund — including status, decline reason, amounts, and original transaction reference.

Overview

Use the Refund Info endpoint to fetch the complete refund state.

Use this endpoint when:

  • A webhook was not received
  • You need to verify refund completion
  • You need full details for reconciliation or support

Webhooks are the primary signal for refund completion. Use polling only as a fallback.


Endpoint

GET /api/v1/refunds/card/info/{id}

Retrieve full details of a card refund transaction.


Headers

HeaderValue
AuthorizationBearer {token}

Path Parameters

ParameterTypeDescription
idStringUnique refund transaction identifier

Important Notes

Use /info, not /status

  • /info/{id} returns declineCode on failure
  • Status-only endpoints do not include decline reasons

Key Response Fields

FieldDescription
refundIdUnique refund identifier
transactionIdOriginal payment transaction ID
transactionStatusCurrent status (PROCESSING, SUCCEED, FAILED)
declineCodeDecline reason (present on failure)
totalAmountRefunded amount
createdAtISO 8601 timestamp

Full Response Fields

FieldTypeDescription
transactionIdStringOriginal transaction identifier
refundIdStringUnique refund identifier
requestIdStringIdempotency key
midStringMerchant account ID
transactionStatusStringCurrent status
declineCodeIntegerDecline reason (only when FAILED)
totalAmountNumberRefunded amount
callbackUrlStringWebhook URL for final result
createdAtStringISO 8601 timestamp
metadataMapCustom key-value data

Example Response

{
  "transactionId": "123456789",
  "refundId": "refund-001",
  "requestId": "req-abc-123",
  "mid": "mid-001",
  "transactionStatus": "SUCCEED",
  "totalAmount": 100,
  "callbackUrl": "https://merchant.com/webhook",
  "createdAt": "2026-03-24T10:15:30Z",
  "metadata": {
    "orderId": "ORD-123"
  }
}

Error Responses

HTTP StatusDescription
400Bad Request — missing or invalid parameters
401Unauthorized — missing or invalid token
404Not Found — refund does not exist
500Internal Server Error — retry with backoff

Best Practices

  • Treat webhooks as the primary source of truth
  • Use /info only as a fallback
  • Always check declineCode when status is FAILED
  • Store transactionId and refundId for reconciliation
  • Stop polling after terminal status