TCMB 6493 ÖDEME SİSTEMLERİ & POS ANALİZ TERMİNALİ
💳
Sanal POS & E-Ticaret Rehberi FINTECH • POS • E-COMMERCE
🏷️ Entegrasyon & Teknik 📅 2026-10-27

Sanal POS Entegrasyonunda Callback (Bildirim URL) Hatası Neden Olur? Karttan Para Çekilip Sipariş Düşmeme Sorunu

T Soran: Tolga M. (Dijital Pazarlama Müdürü)
▲ 26 Takipçi

E-ticaret sitemizde müşterinin kredi kartından para çekilmesine rağmen WooCommerce / Opencart panelimizde sipariş oluşmuyor veya 'Ödeme Bekleniyor' olarak askıda kalıyor. Müşteri ekstre ekranını paylaşıp siparişin akıbetini soruyor. Banka veya ödeme kuruluşu tahsilatı onayladığı halde web sitemize bildirim (callback / webhook) neden iletilemez ve bu durum nasıl düzeltilir?

💡 Uzman Çözümleri ve Yanıtlar 1

← Tüm Sorular
CG
Caner Güneş ✓ UZMAN YANITI
Kıdemli E-Ticaret Yazılım Mimarı • 27 Ekim 2026

E-ticaret ödeme akışlarında en sık karşılaşılan kriz senaryosu; müşterinin kartından provizyon alınıp paranın çekilmesi ancak e-ticaret panelinde siparişin oluşmamasıdır. Bu durum %99 oranında Callback (Bildirim URL / Webhook) iletişim hatasından kaynaklanır.

Sorunun Temel Sebepleri ve Çözüm Adımları:

  1. WAF ve Güvenlik Duvarı (Cloudflare / ModSecurity) Engeli: Banka veya ödeme kuruluşunun (PayTR, İyzico vb.) sunucusu, işlem tamamlandığında sitenizin bildirim adresine (örn: /api/payment/callback) arka plandan bir HTTP POST isteği gönderir. Eğer sitenizde Cloudflare 'Under Attack Mode', Captcha veya katı Bot Fight Mode devredeyse, bankanın sunucusu 403 Forbidden veya challenge ile karşılaşır ve bildirim sitenize ulaşamaz. Çözüm: Ödeme kuruluşunun IP bloklarını Cloudflare WAF 'Whitelisting / İzin Verilenler' listesine ekleyin.
  2. Bildirim URL'sinin 'OK' Yanıtı Dönmemesi: Ödeme kuruluşları POST isteğini gönderdikten sonra sitenizden HTTP 200 OK durum kodu ve yanıt gövdesinde 'OK' ifadesi bekler. Eğer sitenizdeki PHP/Python betiği fatal error (500) verirse veya 5 saniye içinde yanıt dönmezse, banka bildirimi başarısız sayar ve işlemi beklemeye alır.
  3. Kullanıcının 3D Ekranını Kapatması: Kullanıcı banka SMS şifresini girdikten sonra 'Sitenize Geri Dönülüyor' ekranını beklemeden tarayıcı sekmesini kapatırsa yönlendirme (redirect) başarısız olabilir. Ancak doğru kurulmuş bir sistemde yönlendirmeden bağımsız olarak sunucudan sunucuya (server-to-server) arka plan webhook çalıştığı için sipariş her halükarda onaylanmalıdır.
  4. Sorgulama (Status Query) Cron Görevi Kurun: Olası sunucu kesintilerinde askıda kalan siparişleri kurtarmak için ödeme kuruluşunun 'İşlem Durumu Sorgulama API'sine bağlanan 5 dakikalık bir cron servisi kurun. Sistem askıdaki siparişleri otomatik sorgulayıp tahsil edilmişse sipariş durumunu 'Onaylandı'ya çekmelidir.
👍 31 kişi bu çözümü faydalı buldu

Benzer Danışma Başlıkları