Skip to main content

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.

Başarılı bir ödemenin tamamını veya bir kısmını iade edebilirsiniz. İade banka tarafında gerçekleşir; tutar müşterinin kartına geri yansır.

Endpoint

POST /api/v1/payments/{paymentId}/refund

İstek

curl -X POST https://vpos.payven.com.tr/api/v1/payments/8e3f5c12-.../refund \
  -H "X-API-Key: $KEY" -H "X-API-Secret: $SECRET" -H "X-Merchant-Id: $MERCHANT" \
  -H "Idempotency-Key: order-1001-refund-1" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 5000,
    "reason": "Müşteri talep etti — kısmi iade"
  }'
AlanTipZorunluAçıklama
amountintİade tutarı (kuruş). Boş bırakılırsa kalan tüm tutar iade edilir.
reasonstringİade sebebi — raporlamada görünür
Idempotency-Key zorunludur. Aynı anahtarla yapılan ikinci istek yeni iade oluşturmaz. Detay: Idempotency.

Yanıt

{
  "isSuccess": true,
  "code": "201",
  "data": {
    "id": "ref_9f3d2b8e",
    "paymentId": "8e3f5c12-...",
    "amount": 5000,
    "currency": "TRY",
    "status": "Success",
    "reason": "Müşteri talep etti — kısmi iade",
    "connector": {
      "responseCode": "00",
      "responseMessage": "İade onaylandı",
      "hostReference": "REFUND-REF-789"
    },
    "createdAt": "2026-05-03T15:00:00Z"
  }
}
İlgili payment objesi de güncellenir:
{
  "id": "8e3f5c12-...",
  "status": "PartiallyRefunded",
  "amount": 15000,
  "refundedAmount": 5000
}

Çoklu iade

Bir ödemeye birden fazla kısmi iade yapabilirsiniz. Toplam iade tutarı orijinali aşamaz.
İade noTutarToplam iadeStatus
150005000PartiallyRefunded
2500010000PartiallyRefunded
3500015000Refunded
GET /api/v1/refunds?paymentId=8e3f5c12-...
ile bir ödemenin tüm iadelerini listeleyebilirsiniz.

Süre kısıtları

Durumİade yapılabilir mi?
Mutabakat öncesi (gün içi)✅ İptal/iade — banka tarafında muhasebe yansıması yok
Mutabakat sonrası✅ İade — banka muhasebesinde geri ödeme satırı
180 gün sonrası❌ Çoğu banka iade kabul etmez (BANK_REFUND_PERIOD_EXPIRED)
Mutabakat öncesi iadeler 0 ücrete tabidir, mutabakat sonrası iadelerde banka komisyonu çoğu durumda iade edilmez. Anlaşmanızı kontrol edin.

Hata yanıtları

HTTPcodeAnlam
404PAYMENT_NOT_FOUNDÖdeme bulunamadı
422PAYMENT_NOT_REFUNDABLEÖdeme iade edilemez durumda (örn. zaten iade edilmiş, başarısız)
422REFUND_EXCEEDS_ORIGINALİade tutarı kalan tutardan büyük
422BANK_REFUND_PERIOD_EXPIREDBanka iade süresi dolmuş
502BANK_DECLINEDBanka iadeyi reddetti — connector.responseCode’a bakın

Webhook olayları

OlayAçıklama
refund.succeededİade başarıyla tamamlandı
refund.failedİade başarısız
Detay: Webhook Olayları.

Test

Sandbox’ta test kartlarıyla yapılan ödemeler iade edilebilir. Detay: Test Kartları.