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
| Header | Value |
|---|---|
| Authorization | Bearer {token} |
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| id | String | Unique refund transaction identifier |
Important Notes
Use /info, not /status
/info, not /status/info/{id}returns declineCode on failure- Status-only endpoints do not include decline reasons
Key Response Fields
| Field | Description |
|---|---|
| refundId | Unique refund identifier |
| transactionId | Original payment transaction ID |
| transactionStatus | Current status (PROCESSING, SUCCEED, FAILED) |
| declineCode | Decline reason (present on failure) |
| totalAmount | Refunded amount |
| createdAt | ISO 8601 timestamp |
Full Response Fields
| Field | Type | Description |
|---|---|---|
| transactionId | String | Original transaction identifier |
| refundId | String | Unique refund identifier |
| requestId | String | Idempotency key |
| mid | String | Merchant account ID |
| transactionStatus | String | Current status |
| declineCode | Integer | Decline reason (only when FAILED) |
| totalAmount | Number | Refunded amount |
| callbackUrl | String | Webhook URL for final result |
| createdAt | String | ISO 8601 timestamp |
| metadata | Map | Custom 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 Status | Description |
|---|---|
| 400 | Bad Request — missing or invalid parameters |
| 401 | Unauthorized — missing or invalid token |
| 404 | Not Found — refund does not exist |
| 500 | Internal Server Error — retry with backoff |
Best Practices
- Treat webhooks as the primary source of truth
- Use
/infoonly as a fallback - Always check
declineCodewhen status isFAILED - Store
transactionIdandrefundIdfor reconciliation - Stop polling after terminal status

