TahsilatE Logo
Geliştirici Ortamı

3D Ödeme Servisi İşlem Akışı

🚀 Deneyimli Geliştiriciler İçin Hızlı Geçiş

3D ödeme sürecine zaten hakimseniz ve detaylı açıklamalara ihtiyaç duymuyorsanız, doğrudan 3D Ödeme sayfasına geçebilirsiniz.

Aşağıdaki görselde 3D ödeme entegrasyonunun temel adımlarını ve sistemler arası veri akışını özetledik. Her adımda ne yapılması gerektiği kutucuklarda açıklanmıştır.

1
Kullanıcıdan Ödeme Bilgileri Alınır
Kullanıcı kart, sepet, tutar, taksit ve backUrl gibi bilgileri doldurur ve /payments endpoint'ine gönderir.
POST /payments
{ ... kart, tutar, taksit, backUrl ... }
2
TahsilatE İsteği Değerlendirir
TahsilatE, gelen parametreleri kontrol eder, güvenlik ve doğrulama işlemlerini yapar.
Validasyon: apiKey, hash, kart, tutar, taksit, backUrl zorunlu.
Test Mode: testMode: true ile test ortamı.
3
3D Yönlendirme Bilgisi Döner
Başarılı ise, form veya url ile 3D doğrulama için yönlendirme bilgisi döner. type: 'form' | 'url'
Response:
{ type: 'form', form: '<form ...>' }
veya
{ type: 'url', url: 'https://3d-page' }
4
Kullanıcı 3D Doğrulama Ekranına Yönlendirilir
Üye işyeri, cevaptaki type parametresine göre kullanıcıyı 3D doğrulama ekranına yönlendirir.
  • type: 'form' ise, dönen form HTML'i doğrudan DOM'da yer alıyorsa içindeki <script> ile otomatik submit edilir. Ancak form HTML'i client tarafında sonradan DOM'a inject edilirse, submit işlemini manuel olarak tetiklemeniz gerekebilir.
  • type: 'url' ise, kullanıcıyı manuel olarak ilgili url'e yönlendirmeniz gerekir.
Örnek:
// type: 'form' için
<form ...>
...
<script>document.forms[0].submit()</script>
</form>
// Eğer form sonradan DOM'a eklendiyse:
document.forms[0].submit();
// type: 'url' için
// Kullanıcıyı manuel olarak ilgili url'e yönlendirin
5
Sonuç backUrl'ye POST Edilir
TahsilatE, 3D doğrulama işlemini sonuçlandırır ve sonucu üye işyerinin backUrl adresine POST eder. Sonuç parametreleri ile ödeme tamamlanır veya hata döner.
POST:status, transactionId, amount, ...
Dikkat: backUrl ile gelen hash değerini mutlaka doğrulayın! Aksi halde güvenlik ihlali riski oluşur.
6
Ödeme Sonuç Kontrolü ile Doğrulama
Son adımda hash doğrulandıktan sonra işlemin gerçekten başarılı olduğuna emin olmak ve işlemi tamamlamak için Ödeme Sonuç Kontrol özelliğini kullanmanız önerilir.
GET /payments/<transactionId> endpoint'ine sorgu yapıp, dönen sonucu dikkate alırsanız en sağlıklı entegrasyonu sağlamış olursunuz.
Örnek:
GET /payments/123456789// Dönen response'a göre işlemi tamamlayın
Ödeme sonuç kontrolü işlemini kesinlikle server to server olarak yapmanız gerekmektedir.