# Müşteri Sepet ve Ödeme Kancaları

https://dev.wisecp.com/tr/musteri-sepet-ve-odeme-kancalari

Katalogdan tamamlanmış siparişe kadar yirmi dokuz yerleşim noktası.

## Genel Bakış

Müşterinin satın alma yolundaki yerleşim noktaları burada: katalog, ürün detayı, yapılandırma, sepet, ödeme ve tamamlanmış sipariş.

Bu yol boyunca eklediğiniz her şey **satın alma kararının önünde** durur. Ödeme adımına konan yavaş bir betik doğrudan tamamlanmayan siparişe dönüşür; ölçüm kodunu tamamlandı sayfasına koyun.

## Referans

### Plan listesinin üstü

uiclient.catalog.plans.before

`website/products` parametresiz

Katalog sayfasındaki plan kartlarının üstünde görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.catalog.plans.before', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Plan listesinin altı

uiclient.catalog.plans.after

`website/products` parametresiz

Plan kartlarının altında görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.catalog.plans.after', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Plan kartının altı

uiclient.plan_card.footer

`website/products` parametresiz

**Her plan kartının** altında ayrı ayrı görünür. Kartın kendisi geçilmez: hangi plan olduğunu buradan bilemezsiniz.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.plan_card.footer', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Ürün görsellerinin ardı

uiclient.product_detail.gallery.after

`website/products` parametresiz

Ürün detayındaki görsel alanının ardında görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.product_detail.gallery.after', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Satın alma kutusunun üstü

uiclient.product_detail.purchase.before

`website/products` parametresiz

Fiyat ve satın alma butonunun üstünde görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.product_detail.purchase.before', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Satın alma kutusunun altı

uiclient.product_detail.purchase.after

`website/products` parametresiz

Satın alma butonunun altında görünür. Güven veren bir not ya da ek koşul için uygundur.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.product_detail.purchase.after', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Ürün sekmelerinin sonu

uiclient.product_detail.tabs.end

`website/products` parametresiz

Ürün detayının sekme çubuğunun sonunda görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.product_detail.tabs.end', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Yazılım mağazası ızgarasının ardı

uiclient.software_store.grid.after

`website/products` parametresiz

Yazılım mağazası kartlarının ardında görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.software_store.grid.after', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Eklenti sayfasının ardı

uiclient.addon_page.after

`website/products` parametresiz

Eklenti satın alma sayfasının içeriğinin ardında görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.addon_page.after', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Yapılandırma bölümlerinin ardı

uiclient.configure.sections.after

`website/cart` parametresiz

Sipariş yapılandırma adımındaki bölümlerin ardında görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.configure.sections.after', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Yapılandırma eklentilerinin ardı

uiclient.configure.addons.after

`website/cart` parametresiz

Yapılandırma adımındaki eklenti seçiminin ardında görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.configure.addons.after', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Yapılandırma özetinin altı

uiclient.configure.summary.bottom

`website/cart` parametresiz

Yapılandırma adımının fiyat özetinin altında görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.configure.summary.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Sepet kalemlerinin üstü

uiclient.cart.items.top

`website/cart` parametresiz

Sepetteki kalemlerin üstünde görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.cart.items.top', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Sepet özetinin altı

uiclient.cart.summary.bottom

`website/cart` parametresiz

Sepet tutar özetinin altında görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.cart.summary.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Boş sepet iletisinin ardı

uiclient.cart.empty.after

`website/cart` parametresiz

Sepet boşken gösterilen iletinin ardında görünür. **Yalnız sepet boşsa** çalışır: ürün öneri alanı için doğru yerdir.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.cart.empty.after', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Ödeme başlığının sonu

uiclient.checkout.header.end

`website/checkout` parametresiz

Ödeme adımının başlık alanının sonunda görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.checkout.header.end', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Fatura bilgilerinin ardı

uiclient.checkout.billing.after

`website/checkout` parametresiz

Fatura adresi bölümünün ardında görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.checkout.billing.after', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Ödeme yöntemlerinin ardı

uiclient.checkout.methods.after

`website/checkout` parametresiz

Ödeme yöntemi seçiminin ardında görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.checkout.methods.after', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Saklı kartların üstü

uiclient.checkout.cards.top

`website/checkout` parametresiz

Saklı kart listesinin üstünde görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.checkout.cards.top', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Sözleşme onayının ardı

uiclient.checkout.terms.after

`website/checkout` parametresiz

Sözleşme onay kutusunun ardında görünür. Kendi ek onayınızı eklerseniz **zorunluluğunu kendiniz denetlemeniz** gerekir: çekirdek yalnız kendi kutusunu bilir.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.checkout.terms.after', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Ödeme özetinin altı

uiclient.checkout.summary.bottom

`website/checkout` parametresiz

Ödeme adımının tutar özetinin altında görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.checkout.summary.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Ödeme adımından önce

uiclient.checkout.payment.before

`website/checkout` parametresiz

Ödemeye geçilmeden hemen önce görünür. Son bir uyarı için uygundur.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.checkout.payment.before', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Ödeme alt bilgisinin sonu

uiclient.checkout.footer.end

`website/checkout` parametresiz

Ödeme adımının alt bilgisinde görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.checkout.footer.end', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Ödeme sayfasının üstü

uiclient.pay.body.top

`website/checkout` parametresiz

Ödeme sayfasının en üstünde görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.pay.body.top', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Ödeme sayfasının altı

uiclient.pay.body.bottom

`website/checkout` parametresiz

Ödeme sayfasının en altında görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.pay.body.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Kart formunun ardı

uiclient.pay.card.after

`website/checkout` parametresiz

Kart bilgisi formunun ardında görünür. Bu alan kart verisi taşır: buraya ekleyeceğiniz betiğin kart alanlarına erişebileceğini unutmayın.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.pay.card.after', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Ödendi bildiriminin ardı

uiclient.order_complete.paid.after

`website/checkout` parametresiz

Sipariş tamamlandı sayfasında ödeme onayının ardında görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.order_complete.paid.after', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Sipariş özetinin sonu

uiclient.order_complete.paid.details.end

`website/checkout` parametresiz

Tamamlanan siparişin özet bilgilerinin sonunda görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.order_complete.paid.details.end', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Tamamlandı sayfasının altı

uiclient.order_complete.body.bottom

`website/checkout` parametresiz

Sipariş tamamlandı sayfasının en altında görünür. Dönüşüm ölçümü için doğru yer burasıdır.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:client.order_complete.body.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

## Tuzaklar

> **Eklediğiniz onay kutusunu çekirdek denetlemez**
> 
> Sözleşme noktasına kendi onay kutunuzu koyarsanız, çekirdek onun işaretlenip işaretlenmediğine **bakmaz**: sipariş kutu boşken de tamamlanır. Zorunluluğu kendi tarafınızda kurmanız gerekir.

> **Ödeme yolundaki her gecikme satış kaybıdır**
> 
> Ödeme adımına konan ve dış servise giden bir betik, müşteriyi **ödeme yapmadan önce** bekletir. Dönüşüm ölçümü gibi işleri sipariş tamamlandı sayfasına taşıyın: orada bekletmenin bedeli yoktur.

## İlgili Makaleler

- [Müşteri Sitesi Kancaları](https://dev.wisecp.com/tr/musteri-sitesi-kancalari)
- Sipariş Kancaları
- Destek Talebi Kancaları
