Sanal POS API’si API Key + Secret + Merchant modeli kullanır. Tüm istekler HTTPS üzerinden ve sunucu tarafından yapılmalıdı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.
Zorunlu header’lar
| Header | Açıklama |
|---|---|
X-API-Key | API anahtarınızın public tanımlayıcısı (pvk- prefix’li) |
X-API-Secret | API anahtarınızın gizli secret’ı |
X-Merchant-Id veya X-External-Merchant-Id | İşlem hangi merchant adına yapılıyor |
Content-Type | JSON içerik için application/json |
Merchant kimliği — iki form
İki farklı şekilde merchant’ı belirtebilirsiniz. Birini seçmeniz yeterli, ikisi birden gönderilirseX-Merchant-Id öncelikli olur.
| Header | Tip | Kaynak |
|---|---|---|
X-Merchant-Id | UUID | Konsoldan kopyalanır |
X-External-Merchant-Id | Serbest metin | Onboarding sırasında belirlenir, sizin sisteminizdeki kimlik |
Opsiyonel header’lar
| Header | Açıklama |
|---|---|
Idempotency-Key | Aynı isteğin iki kez işlenmemesi için. Detay. |
X-Request-Id | Sizin tarafınızdaki istek ID’niz. Yanıtta aynen geri döner — debug için faydalıdır. |
Yanıt başlıkları
Her yanıtta Payven ek başlıklar ekler:| Başlık | Açıklama |
|---|---|
X-Payven-Request-Id | Payven’in atadığı istek kimliği. Destek talebi açarken bu değeri paylaşın. |
X-RateLimit-* | Mevcut kota durumu. Detay. |
Hatalı kimlik doğrulama
| HTTP | code | Anlam |
|---|---|---|
401 | AUTH_MISSING_KEY | X-API-Key eksik |
401 | AUTH_INVALID_KEY | Anahtar geçersiz veya pasif |
401 | AUTH_INVALID_SECRET | Secret eşleşmiyor |
401 | AUTH_MERCHANT_REQUIRED | Merchant header’ı eksik |
401 | AUTH_MERCHANT_NOT_FOUND | Belirtilen merchant bulunamadı |
403 | AUTH_MERCHANT_INACTIVE | Merchant pasif statüde |
403 | AUTH_IP_NOT_ALLOWED | İstek IP’si whitelist dışında |
403 | AUTH_PRODUCT_NOT_LICENSED | Sanal POS modülü planınızda etkin değil |
429 | RATE_LIMIT_EXCEEDED | Saniyedeki istek limitleri aşıldı |
Tipik istek
Güvenlik kuralları
Sadece sunucu tarafı: API çağrılarınızı frontend’den asla atmayın.
Sadece HTTPS: HTTP istekleri reddedilir.
Production = IP whitelist: Production anahtarları için mutlaka whitelist tanımlayın.
Düzenli rotasyon: En az 6 ayda bir secret rotasyonu uygulayın.
Loglarda maskele: Header değerlerini loglamadan önce
X-API-Secret’i maskeleyin.