Payven, iki ayrı kimlik doğrulama modeli kullanır: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.
| Model | Kullanım | Header’lar |
|---|---|---|
| API Key + Secret | Sunucu-sunucu ürün API çağrıları (Sanal POS, Para Transferi, Fraud, Fatura Ödeme) | X-API-Key, X-API-Secret, X-Merchant-Id veya X-External-Merchant-Id |
| Bearer Token (OAuth 2.0) | Identity servisi ve konsol işlemleri | Authorization: Bearer <jwt> |
Header’lar
Her ürün API isteğinde aşağıdaki header’lar zorunludur:X-Merchant-Id yerine X-External-Merchant-Id kullanılabilir:
X-Merchant-Id öncelikli olur.
API anahtarı oluşturma
Anahtar oluşturma yalnızca konsol üzerinden mümkündür:Konsola giriş yapın
dashboard.payven.com.tr adresinden hesabınıza giriş yapın.
Yeni anahtar oluşturun
Yeni Anahtar Oluştur butonuna basın, ortamı seçin (sandbox/production) ve isim girin.
Anahtarın yetkileri
Bir API anahtarı, oluşturulduğu kuruluşa bağlı tüm merchant’lar adına işlem yapabilir. Her istekteX-Merchant-Id ile hangi merchant adına işlem yapıldığı belirtilir.
| Plan özelliği | Anahtarın etkilediği |
|---|---|
| Aktif ürünler | Anahtar yalnızca planda etkin ürünleri çağırabilir |
| Saniyedeki istek limiti | Tüm anahtarlar arasında paylaşılan kuruluş kotası |
| IP whitelist | Anahtar bazında ayarlanabilir |
IP whitelist
Bir anahtarı yalnızca belirli IP adreslerinden çağrılacak şekilde kısıtlayabilirsiniz. Whitelist boş bırakılırsa tüm IP’lerden erişim açıktır. Detay: IP Whitelist.Anahtar rotasyonu
Düzenli rotasyon güvenlik açısından önemlidir. Önerilen yaklaşım:Eski anahtarın kullanımını izleyin
Konsol → API Kayıtları ekranından eski anahtara gelen istek olup olmadığını kontrol edin.
Hatalı kimlik doğrulama yanıtları
| HTTP | code | Anlam |
|---|---|---|
401 | AUTH_MISSING_KEY | X-API-Key header’ı eksik |
401 | AUTH_INVALID_KEY | Anahtar bulunamadı veya pasif |
401 | AUTH_INVALID_SECRET | Secret eşleşmiyor |
401 | AUTH_MERCHANT_REQUIRED | Merchant header’ı eksik |
403 | AUTH_IP_NOT_ALLOWED | İstek IP’si whitelist dışında |
403 | AUTH_PRODUCT_NOT_LICENSED | Çağrılan ürün planda etkin değil |
429 | RATE_LIMIT_EXCEEDED | İstek limitleri aşıldı |
Güvenlik kuralları
API çağrılarınızı yalnızca sunucu tarafından yapın.
apiSecret değerini istemci kodlarına (tarayıcı, mobil uygulama) asla gömmeyin.Anahtarları kaynak kod deposuna commit etmeyin.
.env dosyalarını .gitignore’a ekleyin.Production ve sandbox anahtarlarını ayrı tutun.
HTTPS dışında istek atmayın — HTTP istekleri reddedilir.
Anahtarları en az 6 ayda bir rotasyona alın.