Skip to main content
Payven, tüm API’lerinde istek limitleri uygular. Limit organizasyonunuzun tamamına uygulanır: aynı organizasyon altındaki tüm API anahtarları, merchant’lar ve ürünlerin (Sanal POS, Para Transferi, Identity) toplam istek sayısı kotanızı belirler. Limit, suistimali engellemek ve adil kaynak paylaşımı sağlamak içindir.

Limitler

Limitler planınıza göre değişir. Tipik değerler:
PlanSaniyedeki istek (RPS)Burst
Sandbox50100
Standart200400
Yüksek hacimAnlaşmalıAnlaşmalı
Aktif planınızı Konsol → Plan ve Kullanım ekranından görebilirsiniz.

Endpoint sınıfları ve özel limitler

Genel organizasyon limitinin yanında, bazı endpoint sınıflarında endpoint-bazlı ayrı limit uygulanır (suistimali önleme + kaynak adaleti):
Endpoint sınıfıÖrnek pathStandart plan limitiNot
Token endpointPOST /auth/{slug}/token10 / dk / IPToken cache’leyin; her istek için yeniden almayın
Refresh endpointPOST /auth/{slug}/refresh30 / dk / organizasyon
Ödeme yazmaPOST /payments, /refund, /void, /capturePlan limiti dahilindeIdempotency-Key ile retry edin
3DS initPOST /payments/3d/initPlan limiti dahilindecallback_url redirect’ine kullanıcı yönlenirken kota tüketmez
Hosted Checkout oluşturmaPOST /checkout/sessionsPlan limiti dahilindeMüşteri sayfaya geçtikten sonra ek kota yok
Validasyon (BIN, IBAN, kart Luhn)GET /lookups/bins/..., POST /validation/iban500 / dkCache’leyin — BIN verileri günde 1 kez güncellenir
Lookup servisleriGET /lookups/banks, cities, mcc-codes1000 / dkLong-cache (24h) tavsiye edilir
Liste / arama (GET çoğul)GET /transactions, /refunds, …Plan limiti dahilindeCursor pagination kullanın (büyük veri)
Webhook subscription yönetimiPOST/PUT/DELETE /webhook-subscriptions20 / dkSık değişmemesi gereken; insan eli ile yönetilir
Mutabakat başlatmaPOST /reconciliations/start5 / dk / organizasyonEOD dosyaları nadir; yüksek hacim onboarding’de istenir
Toplu transferPOST /transfers/bulk/create10 / dk / organizasyonTek pakette 1000’e kadar transfer; paketleri birleştirin
Health probeGET /health/live, /readyLimitsizContainer orchestrator’ı için — kotaya yansımaz
Webhook teslimleri rate limit’inden muaftır — Payven’in size gönderdiği webhook çağrıları sayılmaz; ayrı bir teslim mekanizmasına tabidir.

Yanıt başlıkları

Her API yanıtı, mevcut kotanızı bildiren başlıklar döner:
X-RateLimit-Limit:      200
X-RateLimit-Remaining:  187
X-RateLimit-Reset:      1714742400
BaşlıkAçıklama
X-RateLimit-LimitSaniyedeki maksimum istek sayısı
X-RateLimit-RemainingBu pencerede kalan istek hakkı
X-RateLimit-ResetLimitin sıfırlanacağı Unix timestamp

Limit aşımı

Kotanız aşıldığında 429 Too Many Requests döner. Yanıt RFC 9457 problem+json formatındadır ve Retry-After header’ı kaç saniye bekleyeceğinizi belirtir:
HTTP/1.1 429 Too Many Requests
Content-Type: application/problem+json
Retry-After: 1
{
  "type":   "https://docs.payven.com.tr/errors/rate_limit_exceeded",
  "title":  "İstek limiti aşıldı",
  "status": 429,
  "code":   "rate_limit_exceeded",
  "detail": "İstek limiti aşıldı. Lütfen biraz sonra tekrar deneyin."
}

Önerilen istemci davranışı

async Task<HttpResponseMessage> SendWithBackoff(HttpRequestMessage request)
{
    while (true)
    {
        var response = await http.SendAsync(request);
        if (response.StatusCode != (HttpStatusCode)429) return response;

        var retryAfter = response.Headers.RetryAfter?.Delta
                         ?? TimeSpan.FromSeconds(1);
        await Task.Delay(retryAfter);
    }
}

Webhook teslimi rate limit’inden muaftır

Sizin endpoint’inize Payven’in gönderdiği webhook çağrıları bu limitlere dahil değildir — ayrı bir teslim mekanizmasına tabidir. Detay: Webhook Yeniden Deneme.

Limit artırma talebi

Yüksek hacim ihtiyacınız varsa destek ekibimize ulaşın. Tipik onboarding 1-2 iş günü sürer.