Ana içeriğe geç

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.

  • currencyCode veya paymentSetId parametreleri 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ı).

  • returnUrl geç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 transactionId veya referenceNumber sistemde 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

IDAçıklama
1Başarılı
2Başarısız
3Beklemede
4OTP 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 (refundAmount gönderilmez).

  • Kısmi iade: İşlem tutarının yalnızca bir kısmı iade edilir (refundAmount belirtilir).

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.