# Event Parametreleri

| Event Parametreleri                | Açıklama                                                                                                                                        |
| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **Paynet.events.onCheckBin**       | Kredi kartı numarası girildiğinde callback almamızı sağlayan eventtir.[Detay için tıklayınız](#paynet-events-oncheckbin).                       |
| **Paynet.events.validationError**  | Sayfada validation hatası olduğunda validationları yakalamamıza yardımcı olan eventtir.[Detay için tıklayınız.](#paynet-events-validationerror) |
| **Paynet.events.onPaymentClick**   | Öde butonuna tıklandığında çalışan eventtir.[Detay için tıklayınız.](#paynet-events-onpaymentclick)                                             |
| **Paynet.events.onAuthentication** | Yetkilendirme aşamasında callback alabilmenizi sağlayan eventtir.[Detay için tıklayınız.](#paynet-events-onauthentication)                      |
| **Paynet.events.onTdsRedirect**    | 3D'li işlemlerde yönlendirme işleminde çalışan eventtir. [Detay için tıklayınız .](#paynet-events-ontdsredirect)                                |
| **Paynet.events.onCreateToken**    | Token oluşturma safhasında callback alabilmemizi sağlayan eventttir. [Detay için tıklayınız.](#paynet-events-oncreatetoken)                     |
| **Paynet.events.onLoad**           | Custom form sayfası yüklendiğinde çalışan eventtir. [Detay için tıklayınız.](#paynet-events-onload)                                             |
| **Paynet.events.onCheckCardBin**   | Kredi kartı hash seçimi checkCardBin servisinden callback alabileceğimiz eventtir. [Detay için tıklayınız.](#paynet-evets-oncheckcardbin)       |

### Paynet.events.onCheckBin

Kredi kartı numarası giriş esnasında checkbin servisinden callback alabileceğimiz eventtir.  Örnek olarak müşteri kartın ilk 6 hanesini girdiğinde oran bilgisini göstermek için kullanılır.

```javascript
///müşteri kartın ilk 6 hanesini girdiğinde oran 
///bilgisini göstermek için kullanılır.
Paynet.events.onCheckBin(function (d) {
              
     $('.installment-table').html('');
     d.bank.installments.sort(function (current, next) {
           if (current.instalment > next.instalment) return 1;
           if (current.instalment < next.instalment) return -1;
           return 0;
     });
                    
     $('#bankLogo').attr('src', d.bank.logoUrl);
     $('.bank_logo').show();
     ///seçtiği kart bilgilerine göre oran gösterilir
     for (var i = 0; i < d.bank.installments.length; i++) {
         $(".installment-table").append(
                                        
             "<li><input type=radio name='installment' value = "
             + d.bank.installments[i].instalment_key
             +" /> " 
             + d.bank.installments[i].desc 
             + "-  " 
             + d.bank.installments[i].instalment_amount 
             + " TL" 
             + "</li>
             ");
      }
                
      $('.installment-table').show();
                 
              
});
///müşterinin seçtiği oranı belirleme
$(document).on("click", "input[name=installment-table]:radio",function () {                            
                    $('#installmentKey').val($(this).val());                                        
});
```

#### Response Parametreleri

| Parametre İsmi         | Tip      | Açıklama                                |
| ---------------------- | -------- | --------------------------------------- |
| **bank\_id**           | char     | Bankanın Paynet sistemindeki kodu       |
| **bank\_logo**         | string   | Banka logo                              |
| **bank\_name**         | string   | Banka adı                               |
| **tds\_enable**        | bool     | 3D'li işleme izni                       |
| **instalment\_key**    | datetime | İşlemin tarihi                          |
| **instalment**         | int      | Taksit sayısı                           |
| **instalment\_amount** | decimal  | Kredi kartından çekilecek taksit tutarı |
| **desc**               | string   | Taksit açıklaması                       |
| **bank\_id**           | char     | Bankanın Paynet sistemindeki kodu       |
| **bank\_logo**         | string   | Banka logo                              |
| **bank\_name**         | string   | Banka adı                               |
| **ratio**              | float    | Ödeme sırasında kullanılan oran         |
| **total\_amount**      | decimal  | Kredi kartından çekilen toplam tutar    |
| **total\_net\_amount** | decimal  | Hizmet bedeli hariç tutar               |
| **comission**          | decimal  | Hizmet bedeli tutarı                    |
| **comission\_tax**     | decimal  | Hizmet bedeli vergisi                   |

### Paynet.events.validationError

Form’da giriş değerlerinde yanlışlık olduğunda callback alabileceğimiz eventtir.

### Paynet.events.onPaymentClick

Öde butonuna tıklandığında tetiklenen eventtir. Örneğin ; öde butonuna tıklandığında form submit edilmeden sayfadaki hata mesajlarının silinmesini çağıran metodun kullanılması. Aşağıdaki şekilde kullanabilirsiniz :

```javascript
Paynet.events.onPaymentClick(function () 
{ 
   clearError();
});
```

### Paynet.events.onAuthentication

Paynet api servislerine authenticate metodunun callback’ini alabileceğimiz eventtir. Örneğin api servislerine yollanan private key’in eşleşmemesi durumunda auth servisinden gelen hata mesajının ekranda gösterilmesi. Aşağıdaki şekilde kullanabilirsiniz:

```javascript
 Paynet.events.onAuthentication(function (c) {
                  if (!c.ok) {
                     showError(c.code, c.message);
                   }
}); 
```

#### Response Parametreleri

| Parametre İsmi   | Tip    | Açıklama                                                                                                                   |
| ---------------- | ------ | -------------------------------------------------------------------------------------------------------------------------- |
| **type**         | int    | Dönüş tipi                                                                                                                 |
| **message**      | string | Hata mesajı                                                                                                                |
| **code**         | string | HTTP Status Kodlar [Bakınız](https://doc.paynet.com.tr/genel-bilgiler/hata-kodlari/http-status-kodlar#http-status-kodlari) |
| **result\_code** | int    | Dönüş Kodları [Bakınız](https://doc.paynet.com.tr/genel-bilgiler/hata-kodlari/doenues-kodlari)                             |

### Paynet.events.onTdsRedirect

3D’li işlemlerde banka sistemine yönlendirilirken callback alabileceğimiz eventtir. Örneğin ; 3D’li bir işlemde banka sistemine yönlendirilmesinin console ekranına “3D doğrulama için yönlendiriliyorsunuz” şeklinde log atılması. Aşağıdaki şekilde kullanabilirsiniz:

```javascript
 Paynet.events.onTdsRedirect(function () {
         console.log('3D doğrulama için yönlendiriliyorsunuz');
 });     
```

### Paynet.events.onCreateToken

CreateToken servisinin callback’ini alabileceğimiz eventtir. Örneğin; girilen kart bilgisi ve seçilen ödeme koşulu api’ye gönderilirilen verilerin sonucunun başarısız olması durumunda form ekranında hata mesajı gösterilmesi. Aşağıdaki şekilde kullanabilirsiniz:

```javascript
Paynet.events.onCreateToken(function (c) {
           if (!c.ok) {
                     showError(c.code, c.message);
} });  
```

#### Response Parametreleri

| Parametre İsmi   | Tip    | Açıklama                                                                                                                    |
| ---------------- | ------ | --------------------------------------------------------------------------------------------------------------------------- |
| **token\_id**    | string | Sistem tarafından işlem için verilen id numarası                                                                            |
| **post\_url**    | string | 3D'li işlemlerde post edilecek url adresi                                                                                   |
| **is\_tds**      | bool   | İşlemin 3D'li olup olmadığını belirtir                                                                                      |
| **type**         | int    | Dönüş tipi                                                                                                                  |
| **message**      | string | Hata mesajı                                                                                                                 |
| **code**         | string | HTTP Status Kodlar. [Bakınız](https://doc.paynet.com.tr/genel-bilgiler/hata-kodlari/http-status-kodlar#http-status-kodlari) |
| **result\_code** | int    | Dönüş Kodları. [Bakınız](https://doc.paynet.com.tr/genel-bilgiler/hata-kodlari/doenues-kodlari)                             |

### Paynet.events.onLoad

Paynet-custom.js kütüphanesi sayfaya yüklendiği an callback’ini alabileceğimiz eventtir. Aşağıdaki şekilde kullanabilirsiniz:

```javascript
 Paynet.events.onLoad(function () {
                         console.log('paynet library loaded');
 });
                        
```

### Paynet.evets.onCheckCardBin

Kredi kartı hash seçimi checkCardBin servisinden callback alabileceğimiz eventtir. Örnek olarak kart numarası inputu herhangi bir bin numarası ile eşleşmediği takdirde hata mesajı yazdırabilmemiz için kullanabiliriz. Aşağıdaki şekilde kullanabilirsiniz:

```
Paynet.events.onCheckBin(function (d){  
   if (d && d.ok)   {  
      for (i = 0; i < d.data.Lenght; i++)      {  
         //Taksit bilgisini yaz
      }
   }   else   {  
      //Servisten hata alındığı zaman
   }
});
```
