# Sorun giderme

> İstemciyi entegre ederken en sık karşılaşılan hatalar – satır içi ödeme işleminin açılır pencereye dönmesi, engellenen pencereler, eksik kapsayıcılar ve konsol uyarıları.

İstemci, tarayıcı konsoluna bildirdiği her şeyi `[Entase API]` önekiyle kaydeder. Önce konsolu açın.

## Ödeme işlemi panel yerine açılır pencere olarak açılıyor

Kontrol etmeye değer sırayla, olağan nedenler şunlardır:

1. **Alan adı güvenilir bir kaynak değil.** Sitenizin gerçekten kullandığı `www.` önekiyle eşleşecek şekilde Ayarlar → Entegrasyonlar bölümünden ekleyin – bkz. [Entegrasyonlar ve ödeme işlemi özelleştirme](/organizers/settings/integrations-and-checkout-customization.md).
2. **Sayfa HTTPS üzerinden sunulmuyor.** Güvenli olmayan bir sayfada satır içi ödeme işlemi asla kullanılmaz.
3. **Yayınlanabilir anahtar yok.** `pk` olmadan istemci, satır içi ödeme işlemine izin verilip verilmediğini kontrol edemez; bu nedenle açılır pencere kullanmaya devam eder.
4. **`book()` çok erken çalıştı.** İzin kontrolü eşzamansızdır ve yanıt gelene kadar mod açılır penceredir. Sayfa yüklenirken otomatik olarak açılan bir ödeme işlemi bu kontrolden önce çalışabilir – bkz. [Ödeme işlem modları](/developers/js-client/checkout-modes.md).
5. **`connect-src`, İçerik Güvenliği Politikanız tarafından engelleniyor**, bu nedenle kontrol hiç tamamlanmıyor. Konsol, engellenen isteği gösterir.

`entase.getCheckoutMode()` çözümlenen modu bildirir ve yapılandırma sorunlarını zamanlama sorunlarından ayırmanın en hızlı yoludur.

## "Localhost için panel ödeme modu etkin"

Geliştirme sırasında beklenen bir durumdur. İstemci, satır içi düzen üzerinde geliştirme yapabilmeniz için `localhost` ve `127.0.0.1` üzerinde panel modunu varsayar; bu varsayım üretim ortamı hakkında hiçbir şey söylemediği için de uyarı verir. Yayına almadan önce gerçek alan adınızı güvenilir kaynaklara ekleyin.

## Açılır pencere engelleniyor

Tarayıcılar yalnızca kullanıcı etkileşimi sırasında bir pencerenin açılmasına izin verir. `book()` çağrısını `await`, `fetch` veya `setTimeout` sonrasında değil, tıklama işleyicisi içinde eşzamanlı olarak yapın. Bkz. [Ödeme işlem modları](/developers/js-client/checkout-modes.md).

## Panel boş açılıyor

Ödeme işlemi iframe'i engellendi. `frame-src` İçerik Güvenliği Politikası yönergenizde `https://www.entase.com` adresine izin verin – bkz. [İstemciyi yükleme](/developers/js-client/installing-the-client.md).

## "Entase tanımlı değil"

Kodunuz çalıştığında komut dosyasının yüklenmesi henüz tamamlanmamıştı. Bu durum, `client.js` `async` veya `defer` ile yüklendiğinde ya da onu kullanan komut dosyasından sonra yerleştirildiğinde oluşur. `entase:ready` olayını bekleyin – bkz. [İstemciyi yükleme](/developers/js-client/installing-the-client.md).

## "İstemci yok edildikten sonra etkinlik için rezervasyon yapılmaya çalışılıyor"

Örnek üzerinde `destroy()` çağrıldı ve artık kullanılamaz. Tek sayfalı bir uygulamada bu genellikle, paylaşılan bir referans yerinde kalırken bir bileşenin kendi istemcisini kaldırdığı anlamına gelir. Yeni görünüm için yeni bir örnek oluşturun.

## "Entase çerçevesi başlatılamadı. Kapsayıcı bulunamadı."

Yalnızca gömme widget'ı için geçerlidir. Yapılandırmadaki `obj` kodu sayfadaki hiçbir öğeyle eşleşmiyor. Kapsayıcının kimliği `entase_` ile başlayıp aynı kodla devam etmeli ve widget başlatılmadan önce DOM'da bulunmalıdır – yazım hatası olup olmadığını veya kapsayıcının kendi komut dosyalarınız tarafından daha sonra oluşturulup oluşturulmadığını kontrol edin.

## Yalnızca son olay dinleyicisi çalışıyor

`on()`, her olay adı için tek bir geri çağırma tutar; ikinci bir geri çağırma kaydedildiğinde ilki değiştirilir. Bir kez kaydedin ve bu geri çağırmanın içinden dağıtın – bkz. [Olaylar](/developers/js-client/events.md).

## Açılır pencere yanlış ekranda açılıyor

Merkez noktası örnek oluşturulduğunda hesaplanır ve ziyaretçi tarayıcı penceresini taşıdığında güncellenmez. Rezervasyon yapmadan önce `setTopWindowCenter()` ile yeniden hesaplayın – bkz. [Yöntemler referansı](/developers/js-client/methods.md).

## İzleme parametreleri siparişlerde eksik

Bağımsız istemci, sayfanızın URL'sini okumaz. Parametreleri `tprm` içine kendiniz iletin – bkz. [İzleme ve izin](/developers/js-client/tracking-and-consent.md). `setTracking()` işlevinin nesnenin içine birleştirmek yerine nesnenin tamamını değiştirdiğini unutmayın; dolayısıyla daha sonraki bir çağrı, önceki parametreleri sessizce kaldırabilir.
