# 5.9 Müşteri İşlemlerini Getir

Haso sisteminde tanımlı bir müşterinin onaylanmış işlemlerinin güncel ödeme planını (taksit detaylarını) istediğiniz zaman bu metod ile alabilirsiniz. İşlemler yeniden eskiye göre sayfalama ile listelenir.

Servis Url: <mark style="color:red;">{SERVIS\_URL}/Index/GetCustomerTransactions</mark>

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="182">Parametre adı </th><th width="123">Parametre Tipi</th><th width="63">Z/O</th><th>Açıklama</th></tr></thead><tbody><tr><td>merchantId</td><td>String</td><td>Z</td><td>Haso tarafından size verilen sabit parametredir.</td></tr><tr><td>customerId</td><td>String(10)</td><td>Z</td><td>Haso sisteminde müşterinin sahip olduğu unique değerdir. Limit tanımında size gönderilmişti.</td></tr><tr><td>ipAddress</td><td>String</td><td>O</td><td>İstek yapan istemcinin ip adresi. (Önemli: Lokal makinenizde yapacağınız denemelerde mutlaka dış IP adresini gönderdiğinizden emin olun)</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><mark style="color:red;">merchantId + customerId + ipAddress + merchantSalt</mark> parametrelerinden oluşan string parametre sha256 algoritması ve HMAC(http://en.wikipedia.org/wiki/Hash-based_message_authentication_code) yöntemi ile şifreleyerek token oluşturur. Sonrasında token'ı base64 hale dönüştürür. Örnek token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr><tr><td>transactionCodes</td><td>List&#x3C;String></td><td>O</td><td>Müşterinin bazı işlemlerinin ödeme planını almak isterseniz transactionCode değerlerini array olarak gönderebilirsiniz.</td></tr><tr><td>pageNo</td><td>Int</td><td>O</td><td>Geçerli sayfa numarasıdır. Gönderilmezse varsayılan 1 kabul edilir.</td></tr><tr><td>pageSize</td><td>Int</td><td>O</td><td>Bir sayfada kaç adet işlem gelmesini istiyorsanız bu parametreyi kullanabilirsiniz. Gönderilmezse varsayılan 50 değerini alır.</td></tr></tbody></table>

Giriş parametreleri Servis Url adresine WebRequest ile post isteği yapılır. İstek sonucunda Json olarak çıkış döner.

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="156">Parametre adı</th><th width="225">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Success</td><td><mark style="color:blue;">bool</mark></td><td>Yapılan isteğin başarılı sonuç dönüp dönmediğini bildirir. False dönerse Errors parametresi doludur. True dönerse Data parametresi doludur.</td></tr><tr><td>Errors</td><td>List&#x3C;<mark style="color:blue;">string</mark>></td><td>Success=false ise işlem ile ilgili hataları liste şeklinde getirir.</td></tr><tr><td>Data</td><td>Dictionary&#x3C;<mark style="color:blue;">string</mark>, <mark style="color:blue;">object</mark>></td><td>Eğer success=true ise key-value şeklinde data döner.</td></tr></tbody></table>

Data parametresinde işlem listesi vardır. Data parametresi içeriği ise şöyledir:

<table data-full-width="true"><thead><tr><th>Parametre adı</th><th>c</th><th>Açıklama</th></tr></thead><tbody><tr><td>Data[“<mark style="color:red;">Transactions</mark>”]</td><td>String</td><td>İşleme ait ödeme planını içerek json modeldir.</td></tr></tbody></table>

Transactions Model içeriği şöyledir.

<table data-full-width="true"><thead><tr><th width="468">Parametre adı</th><th width="140">Parametre adı</th><th>Açıklama</th></tr></thead><tbody><tr><td>Transactions.TransactionCode</td><td>String</td><td>Her işlem için unique olan işlem kodu değeridir.</td></tr><tr><td>Transactions.MerchantOid</td><td>String</td><td>Eticaret lokal sipariş numarasıdır.</td></tr><tr><td>Transactions.CustomerId</td><td>String</td><td>İşlemin sahibi olan müşteriyi tanımlayan unique bir değerdir.</td></tr><tr><td>Transactions.TotalAmount</td><td>Decimal</td><td>Toplam işlem tutarıdır.</td></tr><tr><td>Transactions.Fee</td><td>Decimal</td><td>Sipariş tutarı haricinde ödenecek toplam ekstra tutardır.</td></tr><tr><td>Transactions.counterPartyAttorneyFee</td><td>Decimal</td><td>İcraya verilen işlem için KYVU değeri</td></tr><tr><td>Transactions.expenseAmount</td><td>decimal</td><td>İcraya verilen işlem için masraf değeri</td></tr><tr><td>Transactions.transactionStatus</td><td>Int</td><td>İşlemin durumun bildiren durum kodudur.</td></tr><tr><td>Transactions.transactionStatusText</td><td>Int</td><td>İşlem durumunun açıklamasıdır.</td></tr><tr><td>Transactions.TransactionPayments</td><td>List</td><td>Ödeme planında kaç taksit varsa o kadar item içeren listedir. Listedeki elemanların parametreleri şunlardır.</td></tr><tr><td>Transactions.TransactionPayments.InstallmentNo</td><td>Integer</td><td>Kaçıncı taksit olduğunu belirten değerdir.</td></tr><tr><td>Transactions.TransactionPayments.InstallmentPayment</td><td>Decimal</td><td>Taksit tutarını belirten değerdir.</td></tr><tr><td>Transactions.TransactionPayments.TermDate</td><td>DateTime</td><td>Taksit vade tarihidir.</td></tr><tr><td>Transactions.TransactionPayments.PaymentStatus</td><td>Int</td><td>Taksit durum kodudur.</td></tr><tr><td>Transactions.TransactionPayments.PaymentStatusText</td><td>String</td><td>Taksitin durumunu gösteren string ifadedir</td></tr><tr><td>Transactions.TransactionPayments.PaymentCode</td><td>String</td><td>Her ödeme kaydı için verilen unique bir değer.</td></tr><tr><td>Transactions.TransactionPayments.totalExpenseAmount</td><td>Decimal</td><td>İcraya verilen işlem için ktvu ve diğer masraflar toplamının taksite yansıtılan değer</td></tr></tbody></table>
