SSS
Ödeme Setleri & POS Oranları
Soru: /pws/paymentSet veya /pws/paymentOptions çağrılarında neden boş liste dönüyor?
Cevap
-
İlgili AccessToken’a bağlı Tenant altında tanımlı aktif ödeme seti bulunmuyordur.
-
currencyCodeveyapaymentSetIdparametreleri hatalı ya da eksik gönderilmiştir. -
Gönderilen BIN numarası tanımlı değilse veya ilgili bankanın POS’u ödeme setine dahil değilse, liste boş döner.
Soru: Taksit oranları neden görünmüyor?
Cevap
Bazı POS tanımları için isVisibleCommRate false olabilir. Bu durumda oranlar sistem tarafından gizlenir, ancak hesaplamalar arka planda yapılmaya devam eder.
Ödeme Başlatma (3D’li / 3D’siz)
Soru: use3D = true gönderdiğimde neden redirectUrl dönüyor?
Cevap
3D Secure akışında kullanıcı OTP doğrulaması yapmalıdır.
redirectUrl, kullanıcının bankanın 3D doğrulama sayfasına yönlendirilmesi gereken URL’dir.
Bu URL’ye yönlendirme yapılmadan ödeme tamamlanmaz.
Soru: use3D = false gönderdiğimde OTP adımı olmadan ödeme tamamlanıyor mu?
Cevap
Evet. 3D’siz ödemelerde OTP (tek kullanımlık parola) adımı bulunmaz.
Banka provizyonu başarılıysa işlem doğrudan tamamlanır ve transactionStatusId = 1 (başarılı) olarak döner.
Soru: Aynı kartla arka arkaya ödeme denemelerinde hata alıyorum. Neden?
Cevap
Bazı bankalar, 3D doğrulama denemeleri arasında süre sınırı uygular (ör. 60 sn). Aynı kartla sık ödeme denemeleri, geçici olarak “Too Many Requests (429)” hatasına neden olabilir.
Soru: 3D doğrulama sonrası “autocommit” neden başarısız oluyor?
Cevap
-
Kullanıcı OTP adımını tamamlamadı veya tarayıcı yönlendirmesi kesildi.
-
Banka, provizyonu reddetti (örneğin yetersiz bakiye, limit aşımı).
-
returnUrlgeçersiz veya yönlendirme sonrası sistem ödeme tamamlamayı algılayamadı.
Ödeme Detayları
Soru: /pws/payment/transaction servisi neden null veya boş dönüyor?
Cevap
-
Gönderilen
transactionIdveyareferenceNumbersistemde bulunmuyor. -
İşlem henüz provizyon aşamasında ve ERP’ye yansımadı.
-
İlgili AccessToken başka bir tenant’a ait olabilir.
Soru: Yanıt içindeki transactionStatusId neyi ifade eder?
Cevap
| ID | Açıklama |
|---|---|
| 1 | Başarılı |
| 2 | Başarısız |
| 3 | Beklemede |
| 4 | OTP Bekleniyor (3D Adımı) |
Soru: lastAmount neden sıfır dönüyor?
Cevap
Bu, işlemin iptal veya tam iade edildiğini gösterir. Kısmi iade yapılmışsa, lastAmount kalan bakiyeyi ifade eder.
Ödeme İptali
Soru: Bir işlemi neden iptal edemiyorum?
Cevap
-
İşlem zaten iptal edilmiş olabilir.
-
Banka tarafından onaylanmamış (provizyon alınmamış) işlemler iptal edilemez.
-
İlgili banka servisi o anda yanıt vermiyorsa “503 Service Unavailable” dönebilir.
Soru: İptal işlemi sonrasında referans kodu yeniden kullanılabilir mi?
Cevap
Hayır. Her ödeme işlemi benzersiz referenceCode ile tanımlanır ve iptal edilmiş referanslar tekrar kullanılamaz.
Ödeme İadesi (Refund)
Soru: Tam iade ile kısmi iade arasındaki fark nedir?
Cevap
-
Tam iade: İşlem tutarının tamamı geri ödenir (
refundAmountgönderilmez). -
Kısmi iade: İşlem tutarının yalnızca bir kısmı iade edilir (
refundAmountbelirtilir).
Soru: Aynı işlemi birden fazla kez iade edebilir miyim?
Cevap
Evet, kısmi iadeler birden fazla yapılabilir. Ancak toplam iade tutarı, işlem tutarını aşamaz.
Aşarsa sistem “P015 – Kısmi iade limit aşıldı” hatası döner.
Soru: İade neden başarısız olabilir?
Cevap
-
Banka sistemi geçici olarak yanıt vermemiştir (timeout veya bakım).
-
İşlem tutarı iade limitini aşmıştır.
-
İşlem tarihi bankanın iade süresini (örneğin 30 gün) geçmiş olabilir.
-
AccessToken işlem yetkisine sahip değildir.
Güvenlik & Token Yönetimi
Soru: AccessToken ne kadar süre geçerli?
Cevap
Token süreleri sistem yapılandırmasına bağlıdır, genellikle 60 dakika geçerlidir.
Süresi dolmuş token ile yapılan isteklerde 401 Unauthorized döner.
Soru: Hangi durumlarda “403 Forbidden” alırım?
Cevap
Token geçerli olsa bile, kullanıcı rolü ilgili servise erişim yetkisine sahip değilse.
Örneğin, yalnızca bayi yetkili bir servise müşteri token’ı ile erişmeye çalışıldığında.
Performans & Limitler
Soru: Sayfalama (page, pageSize) neden önemli?
Cevap
Özellikle /pws/paymentSet veya /vendor/creditcards gibi listeleme servislerinde büyük veri setleri döndürülür. Performans için sayfalama parametreleri kullanılmalıdır.
Soru: Sistemde rate limit var mı?
Cevap
Evet. Aynı IP veya aynı AccessToken ile saniyede çok sayıda istek yapılırsa 429 Too Many Requests hatası döner. Bu durumda birkaç saniye bekleyip tekrar deneyin.
Diğer Sık Karşılaşılan Durumlar
Soru: Kart bilgileri neden maskelenmiş dönüyor?
Cevap
KVKK ve PCI-DSS standartları gereği kart numaraları sadece ilk 6 ve son 4 hane şeklinde gösterilir.
Soru: returnUrl neden önemli?
Cevap
3D Secure akışında kullanıcı doğrulama sonrası sistemin yönlendirileceği adrestir.
Geçerli bir URL verilmezse ödeme tamamlanmaz veya hata dönebilir.
Soru: Deneme ortamı (sandbox) ile canlı ortam arasındaki fark nedir?
Cevap
Sandbox ortamında işlemler test modunda yapılır; bankaya gerçek provizyon gönderilmez. Gerçek kart kullanılmaz ve sonuçlar simülasyon olarak döner.
Canlı ortamda tüm işlemler gerçek bankacılık altyapısı üzerinden yürür.
Soru: Hangi alanlar KVKK kapsamında maskelenir?
Cevap
- Kart numarası →
******formatında, ilk 6 ve son 4 açık - Kart sahibi adı → “Test Kullanıcı”, “Demo Müşteri” vb. sahte isim
- E-posta →
[email protected]veya[email protected]gibi örnek adresler
Bu sayede kişisel veriler log ve test kayıtlarında anonimleştirilir.