---
title: "How to Retrieve Authorization Data for Card Payments"
slug: "retrieving-authorization-and-decline-details"
updated: 2025-09-12T06:03:02Z
published: 2025-09-12T06:03:02Z
canonical: "docs.xendit.co/retrieving-authorization-and-decline-details"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xendit.co/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Retrieve Authorization Data for Card Payments

To retrieve authorization data (e.g., `authorization_code`, `reconciliation_id`, `network_transaction_id`, `merchant_advice_code`) for a card payment made via our v3 APIs, you have **two options**:

---

## Option 1: Use the Webhook (Recommended for Real-Time Updates)

If you've set up webhook notifications, you can get the same data pushed to your server when the payment is captured.

Webhooks can be configured using the [following guide](/docs/payments-api-webhooks).

### Sample Webhook Payload: `payment.capture`

```json
{
  "created": "2025-08-07T02:49:05.587Z",
  "business_id": "YOUR_BUSINESS_ID",
  "event": "payment.capture",
  "api_version": "v3",
  "data": {
    "type": "PAY",
    "status": "SUCCEEDED",
    "country": "ID",
    "created": "2025-08-07T02:49:02.830Z",
    "updated": "2025-08-07T02:49:02.844Z",
    "captures": [
      {
        "capture_id": "cptr-589bd334-99d7-4a4a-8582-57ffd9a1f16b",
        "capture_amount": 115100,
        "capture_timestamp": "2025-08-07T02:49:04.705Z"
      }
    ],
    "currency": "IDR",
    "payment_id": "py-37e924ed-d7eb-4d32-bcb7-111c7863cb22",
    "payment_details": {
      "authorization_data": {
        "reconciliation_id": "7545349437096281603814",
        "authorization_code": "831000",
        "acquirer_merchant_id": "xendit_ctv_agg",
        "network_response_code": "00",
        "network_transaction_id": "016153570198200",
        "retrieval_reference_number": "521802141667",
        "address_verification_result": "M",
        "network_response_code_descriptor": "Approved and completed sucessfully"
      }
    },
    ...
  }
}
```

Listen to this webhook and extract `authorization_data` from `payment_details`.

---

## Option 2: Make Two GET Requests (Polling Method)

Follow these two steps to fetch the authorization details programmatically.

### Step 1: Get the Payment Request Details

Make a `GET` request to:

```plaintext
GET https://api.xendit.co/v3/payment_requests/{payment_request_id}
```

**Replace** `{payment_request_id}` with your actual Payment Request ID (e.g., `pr-e44b5974-32c9-4e86-a5ee-6b57683247fc`).

**Sample Request:**

```bash
curl -X GET https://api.xendit.co/v3/payment_requests/pr-e44b5974-32c9-4e86-a5ee-6b57683247fc \
  -u your-secret-api-key:
```

Look for the field:

```json
"latest_payment_id": "py-37e924ed-d7eb-4d32-bcb7-111c7863cb22"
```

### Step 2: Get the Payment Details (Including Authorization Data)

Use the `latest_payment_id` from the previous step and make a `GET` request to:

```plaintext
https://api.xendit.co/v3/payments/{latest_payment_id}
```

**Sample Request:**

```bash
curl -X GET https://api.xendit.co/v3/payments/py-37e924ed-d7eb-4d32-bcb7-111c7863cb22 \
  -u your-secret-api-key:
```

### Where to find the Authorization Data

In the response, authorization-related fields are located under:

```json
"payment_details": {
  "authorization_data": {
    "authorization_code": "...",
    "reconciliation_id": "...",
    "network_transaction_id": "...",
    ...
  }
}
```
