Retrieve the full state of a card payout — including status, decline reason, card details, and amounts.
Overview
Use the Payout Info endpoint to fetch the complete payout state.
Use this endpoint when:
- A webhook was not received
- You need to verify payout completion
- You need full details for reconciliation or support
Webhooks are the primary and lowest-latency signal for payout completion. Use polling only as a fallback.
Endpoint
GET /api/v1/payouts/card/info/{id}
Retrieve full details of a card payout transaction.
Headers
| Header | Value |
|---|---|
| Authorization | Bearer {token} |
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| id | String | Unique payout 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 |
|---|---|
| transactionId | Unique payout identifier |
| transactionStatus | Current status (PROCESSING, SUCCEED, FAILED) |
| declineCode | Decline reason (present on failure) |
| cardMask | Masked recipient card number |
| totalAmount | Amount transferred |
| orderCurrency | Requested currency |
| processedCurrency | Settlement currency (may differ due to FX) |
| createdAt | ISO 8601 timestamp |
Full Response Fields
| Field | Type | Description |
|---|---|---|
| transactionId | String | Unique transaction identifier |
| requestId | String | Idempotency key |
| mid | String | Merchant account ID |
| transactionStatus | String | Current status |
| declineCode | Integer | Decline reason (only when FAILED) |
| cardMask | String | Masked card number (e.g. 411111****1111) |
| cardHolder | String | Cardholder name |
| totalAmount | Number | Amount transferred |
| callbackUrl | String | Webhook URL for final result |
| createdAt | String | ISO 8601 timestamp |
| metadata | Map | Custom key-value data |
Example Response
{
"transactionId": "123456789",
"requestId": "req-abc-123",
"mid": "mid-001",
"transactionStatus": "SUCCEED",
"cardMask": "411111****1111",
"cardHolder": "John Doe",
"totalAmount": 100,
"callbackUrl": "https://merchant.com/webhook",
"createdAt": "2026-03-24T10:15:30Z",
"metadata": {
"payoutId": "PO-123"
}
}Error Responses
| HTTP Status | Description |
|---|---|
| 400 | Bad Request — missing or invalid parameters |
| 401 | Unauthorized — missing or invalid token |
| 404 | Not Found — payout 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
transactionIdandrequestIdfor reconciliation - Stop polling after terminal status

