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

# Ödeme Detayı

> Tek bir ödemenin son durumunu ve banka yanıt detaylarını sorgulayın.

Bir ödemenin **mevcut** durumunu ve banka tarafından dönen detayları çekmek için kullanılır.

## Endpoint

```http theme={null}
GET /api/v1/payments/{transaction_id}
```

`transaction_id` parametresi UUID formatındadır — `POST /payments` veya `POST /payments/3d/init` çağrılarının yanıtında dönen kimlik.

## İstek

```bash theme={null}
curl https://vpos.payven.com.tr/api/v1/payments/8e3f5c12-9a7b-4c8d-bc4e-2c963f66afa6 \
  -H "Authorization: Bearer $PAYVEN_TOKEN"
```

## Yanıt

`PaymentStatus` (genişletilmiş `PaymentOperationResult`) döner:

```json theme={null}
{
  "transaction_id":      "8e3f5c12-9a7b-4c8d-bc4e-2c963f66afa6",
  "status":              "completed",
  "amount":              15000,
  "currency":            "TRY",
  "is_3d_secure":        false,
  "created":             "2026-05-03T12:34:56.789+00:00",
  "basket_id":           "BASKET-2026-001",
  "error_code":          null,
  "provider_error_code": null,
  "extra_properties": {
    "processed_at":            "2026-05-03T12:34:58.123+00:00",
    "auth_code":               "123456",
    "host_reference":          "PAYVEN-REF-789",
    "provider_transaction_id": "9f3d2b8e-..."
  }
}
```

Tam alan referansı: [Payment Objesi](/sanal-pos/payment-object).

## Tipik kullanım

* **3DS akışı sonrası `return_url`'de** — sunucu tarafında final durumu doğrulamak (URL parametreleri güvenilmez)
* **Webhook gelmemiş bir ödeme** için son durumu öğrenmek
* **Müşteri destek talebinde** geçmiş bir işlemi incelemek
* **Durum geçişi sonrası** (örn. iade, capture) güncel durum sorgusu

<Warning>
  **Polling kullanmayın.** Yüksek hacimli senaryolarda her ödeme için periyodik
  `GET` çağrısı yapmayın — bunun yerine [webhook](/sanal-pos/webhooks/overview)
  entegre edin. Webhook gelmemişse konsoldan **Webhook Teslim Logları** ekranıyla
  manuel replay tetikleyebilirsiniz.
</Warning>

## Hata response'ları

| HTTP  | `code`              | Anlam                                                            |
| ----- | ------------------- | ---------------------------------------------------------------- |
| `404` | `payment_not_found` | Verilen `transaction_id` bulunamadı veya bu merchant'a ait değil |
| `403` | `forbidden`         | Yetki yok                                                        |

Hata yanıtı RFC 9457 problem+json formatındadır.

## Sonraki adımlar

<CardGroup cols={2}>
  <Card title="İşlem Listesi" icon="list" href="/sanal-pos/inquiries/transaction-list">
    Sayfalı liste + filtreleme.
  </Card>

  <Card title="İşlem Geçmişi" icon="clock-rotate-left" href="/sanal-pos/inquiries/payment-history">
    Bir işlemin durum geçişi timeline'ı.
  </Card>
</CardGroup>
