# Satış Ortaklığı Kancaları

https://dev.wisecp.com/tr/satis-ortakligi-kancalari

Katılım, komisyon, yönlendirme tıklaması ve ödeme talebinin dört kancası.

## Genel Bakış

Satış ortaklığının dört anı burada: bir müşteri programa **katılır**, bağlantısına **tıklanır**, bir satıştan **komisyon** doğar ve kazancının **ödenmesini ister**.

Bir ayrım baştan bilinmeli: ortaklık kaydının kimliği ile müşterinin kimliği **ayrı numaralardır** ve kancalar ikisini de ayrı taşır.

## Referans

### Ortaklık katılımını izleme

actionuser.affiliate_activated

`ClientAffiliate` katılım anı

Bir müşteri satış ortaklığı programına katıldıktan sonra çalışır.

Parametreler 2

$user_idintOrtak olan hesabın kimliği.

$aff_idintOluşan ortaklık kaydının kimliği. Bu, müşteri kimliğinden **farklı** bir numaradır; kardeş kancalar ikisini ayrı ayrı taşır.

Dönüş 1

voidDönüş yoksayılır.

Dinleyici PHP

```php
Hook::add('action:user.affiliate_activated', 10, function ($user_id, $aff_id) {
    // Iki kimlik farkli: ortaklik kaydi ile musteri ayni numara degil.
    Acme::openPartnerDashboard($user_id, $aff_id);
});
```

### Komisyon oluşmasını izleme

actionuser.affiliate_commission_created

`ClientAffiliate` satış ve yenileme

Bir ortağa komisyon yazıldıktan sonra çalışır. Hem ilk satış hem yenileme bu kancaya düşer.

Parametreler 4

$affiliate_idintKomisyonu alan ortağın kaydı.

$servicearrayKomisyona konu hizmet: tutarı, para birimi ve sahibi.

$transaction_typestring`sale` ilk satış, `renewal` yenileme. Yenilemede komisyon her dönem tekrar oluşur: tek seferlik bir ödül vereceksen bu ayrımı gözet.

$commissionfloatHesaplanan komisyon tutarı.

Dönüş 1

voidDönüş yoksayılır.

Dinleyici PHP

```php
Hook::add('action:user.affiliate_commission_created', 10,
    function ($affiliate_id, $service, $transaction_type, $commission) {
        // Yenilemede komisyon her donem tekrar olusur.
        if ($transaction_type === 'sale') Acme::rewardFirstSale($affiliate_id);
    });
```

### Yönlendirme tıklamasını izleme

actionuser.affiliate_referral_clicked

`ClientAffiliate` her tıklamada

Bir ortağın bağlantısına tıklandığında çalışır. **Her** tıklamada çalışır: satış olmasa da, ziyaretçi giriş yapmasa da.

Parametreler 2

$ownerIdintOrtağın müşteri kimliği; kayıt anahtarı budur.

$contextarrayTıklama bağlamı: ortaklık kaydı, gelinen adres ve ziyaretçinin adresi. Gelinen adres **boş olabilir**; kişisel veri sayılabileceği için sakladığınız süreye dikkat edin.

Dönüş 1

voidDönüş yoksayılır.

Dinleyici PHP

```php
Hook::add('action:user.affiliate_referral_clicked', 10, function ($ownerId, $context) {
    // Her tiklamada calisir: agir is koymayin.
    Acme::countClick($ownerId);
});
```

### Ödeme talebini izleme

actionuser.affiliate_withdrawal_requested

`ClientAffiliate` ödeme henüz yapılmadı

Ortak kazancının ödenmesini istediğinde çalışır. **Ödeme yapılmamıştır**: kayıt beklemede açılır.

Parametreler 6

$uidintTalep eden müşteri.

$affIdintOrtaklık kaydı; müşteri kimliği **değildir**.

$amountfloatTalep edilen tutar; veritabanına yazılanla birebir aynıdır.

$cidintOrtağın para birimi.

$gatewaystringSeçilen ödeme kanalı.

$widintOluşan talep kaydı; her zaman sıfırdan büyüktür.

Dönüş 1

voidDönüş yoksayılır.

Dinleyici PHP

```php
Hook::add('action:user.affiliate_withdrawal_requested', 10,
    function ($uid, $affId, $amount, $cid, $gateway, $wid) {
        // Odeme YAPILMADI: talep beklemede acildi.
        Acme::queuePayout($wid, $affId, $amount, $gateway);
    });
```

## Tuzaklar

> **Ortaklık kaydı ile müşteri ayrı numaralardır**
> 
> Ödeme talebi kancası hem müşteri kimliğini hem ortaklık kaydını taşır ve **bunlar aynı sayı değildir**. Ortaklık kaydını müşteri kimliği sanmak, kazancı yanlış hesaba yazar.

> **Yenilemede komisyon her dönem tekrar doğar**
> 
> Komisyon kancası hem ilk satışta hem her yenilemede çalışır. Tek seferlik bir ödül veriyorsanız işlem türüne bakın; yoksa aynı müşteri için ödülü her ay yeniden verirsiniz.

## İlgili Makaleler

- [Müşteri Hesabı Kancaları](https://dev.wisecp.com/tr/musteri-hesabi-kancalari)
- [Fatura Yaşam Döngüsü Kancaları](https://dev.wisecp.com/tr/fatura-yasam-dongusu-kancalari)
- [Kancalar Nasıl Çalışır](https://dev.wisecp.com/tr/kancalar-nasil-calisir)
