# 1. Versiyon Tarihçesi

<table data-full-width="true"><thead><tr><th width="138">Versiyon No</th><th width="167">Güncelleme Tarihi</th><th>Açıklama</th></tr></thead><tbody><tr><td>V01</td><td>01.10.2018</td><td>İlk versiyon.</td></tr><tr><td>V02</td><td>17.12.2018</td><td>Ön validasyon eklendi.</td></tr><tr><td>V03</td><td>21.02.2019</td><td>Birkaç düzeltme.</td></tr><tr><td>V04</td><td>21.04.2019</td><td>Sadece taksitleri getiren servis eklendi.</td></tr><tr><td>V05</td><td>21.06.2019</td><td>İlk requestte seçili taksit var ise direkt sms kod girişi sayfası açılacak şekilde düzenleme yapıldı.</td></tr><tr><td>V06</td><td>10.07.2019</td><td>İşlem iade modülü eklendi.</td></tr><tr><td>V07</td><td>20.08.2019</td><td>Ondalık sayı problemi düzeltildi. Bütün ondalık sayılar 100 ile çarpılarak tam sayı olarak gönderilecektir.</td></tr><tr><td>V08</td><td>16.09.2019</td><td>Ödeme Planı modülü eklendi.</td></tr><tr><td>V09</td><td>22.11.2019</td><td>Başvuru yapanın soyadı bilgisi ayrı parametre olarak gönderiliyor.</td></tr><tr><td>V10</td><td>27.11.2020</td><td>Ödeme formu servisindeki zorunlu alanların güncellenmesi.</td></tr><tr><td>V11</td><td>12.07.2021</td><td>Tek butonla Haso ödeme formuna geçiş.</td></tr><tr><td>V12</td><td>29.09.2021</td><td>GetCustomerInformation endpointi hazırlandı.</td></tr><tr><td>V13</td><td>07.10.2021</td><td>Request parametreleri sadeleştirildi.</td></tr><tr><td>V14</td><td>14.10.2021</td><td><ul><li>Hata kodları listesi.</li><li>Limit belirleme servisleri.</li><li>Ödeme planının geldiği servislere TotalAmount ve Fee eklendi.</li></ul></td></tr><tr><td>V15</td><td>15.10.2021</td><td>Limit belirleme servisine ilave parametreler eklendi.</td></tr><tr><td>V16</td><td>15.10.2021</td><td>İşlem ekleme servisi yapıldı.</td></tr><tr><td>V17</td><td>16.10.2021</td><td>SetPaidPayment ve RefundTransaction endpointleri eklendi.</td></tr><tr><td>V18</td><td>19.10.2021</td><td>Limit tanımlama servisleri için test modu eklendi.</td></tr><tr><td>V19</td><td>01.11.2021</td><td>GetCustomerInformation cevabında güncelleme.</td></tr><tr><td>V20</td><td>23.11.2021</td><td>Müşteri İşlemlerini Getir endpointi yapıldı.</td></tr><tr><td>V21</td><td>29.12.2021</td><td><ul><li>RefundTransaction endpointine RefundId zorunlu parametresi eklendi.</li><li>CheckRefund endpointi eklendi.</li></ul></td></tr><tr><td>V22</td><td>12.01.2022</td><td>Yeniden Kkb Pin Kodu Gönderilmesi için endpoint eklendi.</td></tr><tr><td>V23</td><td>22.01.2022</td><td>Günlük mutabakat servisleri eklendi.</td></tr><tr><td>V24</td><td>08.03.2022</td><td><ul><li>GetCustomerInformation ve GetInstallment servislerine “basketList” parametresi eklendi.</li><li>GetCustomerInformation, GetInstallement ve CreateTransaction servislerine “NotCalculateFees” eklendi.</li></ul></td></tr><tr><td>V25</td><td>14.03.2022</td><td><ul><li>RefundTransaction endpoint response Paymentplan eklendi.</li><li>CreateTransaction ednpointine installment id değil installment no alınması.</li><li>GetCustomerPayments endpointi eklendi.</li><li>GetCustomerInformation endpointinde payment plan altına fee amount bilgisi de eklendi.</li></ul></td></tr><tr><td>V26</td><td>19.03.2022</td><td>Ön tanımlı limit geliştirmesi.</td></tr><tr><td>V26.1</td><td>30.03.2022</td><td>Müşteri Ödemeleri Getir endpointinde request ve response parametrelerine eklemeler.</td></tr><tr><td>V26.2</td><td>13.04.2022</td><td>Taksit sınırları için GetCustomerInformation ve CreateTransaction endpointlerine skuList parametresi eklendi.</td></tr><tr><td>V26.3</td><td>28.04.2022</td><td>GetCustomerInformation response parametrelerine limitValidityDate eklendi.</td></tr><tr><td>V26.4</td><td>30.05.2022</td><td><p></p><ul><li>CreateTransaction için definedIdList request parametresi eklendi.</li><li>Taksitlerin döndüğü responselara “originalFee” fieldı eklendi.</li></ul></td></tr><tr><td>V26.5</td><td>09.06.2022</td><td>GetCustomerInformation response parametrelerine initialLimit ve totalRemainingAmount eklendi.</td></tr><tr><td>V26.6</td><td>17.06.2022</td><td>GetCustomerInformation ve CreateTransaction request parametrelerine RevisedFeeRate eklendi.</td></tr><tr><td>V26.7</td><td>30.06.2022</td><td>Belirli skularda geçerli ek limit kullanılabilir.</td></tr><tr><td>V27</td><td>04.07.2022</td><td><ul><li>SendExecutionTransaction</li><li>PaidExecutionTransaction endpointleri</li></ul></td></tr><tr><td>V27.1</td><td>29.07.2022</td><td>GetCustomerInformation response modeline diffExtraAndCustomerLimit eklendi.</td></tr><tr><td>V28</td><td>23.08.2022</td><td>ChangeCustomerGsmNo endpoint eklendi.</td></tr><tr><td>V29</td><td>31.08.2022</td><td>GetCustomerInformation ve CreateTransaction request parametrelerine Basket modeli eklendi. Response parametrelerine de MerchantContributions eklendi.</td></tr><tr><td>V30</td><td>14.10.2022</td><td>SetCustomerStatusAsSuspend endpointi yapıldı.</td></tr><tr><td>V31</td><td>20.02.2023</td><td><ul><li>HasoAuthSendInfo endpointine forceToPredefinedLimit eklendi.</li><li> GetCustomerInformation ve CreateTransaction endpointlerine ForceRiskFreeEvaluate eklendi.</li></ul></td></tr><tr><td>V32</td><td>31.03.2023</td><td>SendTransactionExpense endpointi eklendi. GetCustomerTransactions ve GetCustomerPayments için yeni response parametreler eklendi.</td></tr><tr><td>V33</td><td>14.04.2023</td><td>Haso Başvuru kullanılacaksa modeli bu dökümandan ayrıldı.</td></tr><tr><td>V34</td><td>14.07.2023</td><td>Müşteriye Özel limit tanımlanması için kullanılır.</td></tr><tr><td>V35</td><td>31.07.2023</td><td>Müşteri hesabına bakiye yüklemek için yeni endpoint eklendi.</td></tr><tr><td>V36</td><td>31.10.2023</td><td>GetCustomerInformation ve CreateTransaction response modele feeDiscountCampaigns eklendi.</td></tr><tr><td>V37</td><td>07.12.2023</td><td>SetBulkPaidPayment endpointi eklendi.</td></tr><tr><td>V38</td><td>21.12.2023</td><td>GetPaymentPlanByDealerSegment endpointi eklendi.</td></tr><tr><td>V39</td><td>07.06.2024</td><td>SetPreDefinedLimit endpointi eklendi.</td></tr><tr><td>v40</td><td>12.08.2024</td><td><ul><li>SetLimitFromKds endpointi eklendi.</li><li>GetCustomerInformation request modele "availableLimit" parametresi eklendi.</li><li>CreateTransaction request modele "availableLimit" parametresi eklendi.</li></ul></td></tr><tr><td>v41</td><td>03.02.2025</td><td>GetInstallmentRates endpointi eklendi.</td></tr><tr><td>v42</td><td>12.06.2025</td><td>SetPreDefinedLimit endpointine LimitReductionFlag request parametresi eklendi</td></tr></tbody></table>


# 2. Gereksinimler

Servisleri kullanmaya başlamadan aşağıdaki işlemleri yaptığınızdan ve gerekli bilgileri temin  ettiğinizden emin olunuz.

* Bu dokümanın yayınlanmış son versiyon olduğunu kontrol ediniz.
* Haso ile iletişime geçerek servislere erişim sağlayacağınız IP bilgilerini yazılı olarak iletiniz.
* Servisi kullanabilmek için gerekli merchant\_id, merchant\_key ve merchant\_salt bilgilerini temin ediniz.
* Sandbox ortamı ile live ortamının kullanım bilgileri farklıdır. Servisi kullanmak için edindiğiniz size özel bilgilerin sandbox/live bilgileri olduğunu kontrol ediniz.
* Servis isteği yaptığınız sunucunuzun TLS 1.2 desteği olduğundan emin olunuz.
* Bilgi ve destek için <info@haso.com.tr>


# 3. Servis Erişim Bilgileri

Servis erişim bilgileri için bizimle iletişime geçiniz.


# 4. Kullanım Amacı

Bu servis sayesinde Haso sisteminde müşteri sorgulayabilir, limit alabilir ve işlem  oluşturabilirsiniz.

* Haso işlemi oluşturmak için 2 yöntem vardır. Haso UI ekranlarını kullanacaksanız “Haso\_UI\_v1” isimli dökümana sahip olmalısınız. Bu dökümanda sadece rest endpoint apileri bulunmaktadır.
* Başvuru formu kendi sayfanızda olacaksa bu dökümanda bahsedilen rest api servislerini kullanarak verileri hasoya post edebilirsiniz. Haso limit almak için gerekli bilgiler (Tckn, Ad Soyad, Mobil No, Doğum tarihi, İşlem Tutarı vb) kendi sayfanızda müşteriden alınır, backendten Hasoya gönderilir. Sipariş isteğinde ise öncelikle müşterinin sipariş tutarına göre ne kadar taksit seçebileceği gösterilerek sonrasında taksit seçimi ile birlikte Haso Servlet sayfasına post edilir. Taksit seçeneği sizin tarafta yapıldığı için httppost isteği sonrasında başarılı veya başarısız olma durumuna göre ilgili sayfalarınızı müşteriye gösterebilirsiniz.
* Her metod çağrısı için token oluşturmanız gerekir. Her metod için token oluşturma argoritması farklıdır. Bu yüzden token oluşturmayı örnek kodlardan bakabilirsiniz.


# 5. Servis Metodları


# 5.1. Müşteri Limit Bilgilerini Getir

Müşteri bilgilerini ve/veya taksit planını getirmek için kullanılır. Eğer müşteri daha önce Haso başvurusu yapmışsa başvuru servisinde dönen ödeme planı cevabında işlemi yapan müşterinin CustomerId parametresi de döner. Müşteriye özel üretilen bu unique bilgiyi kendi veritabanınıza kaydettiğinizde müşteri tekrar ödeme sayfanıza geldiğinde taksitler ile birlikte müşterinin limit bilgilerini de bu servis ile gösterebilirsiniz.&#x20;

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

<table data-full-width="true"><thead><tr><th>Parametre adı</th><th width="153">Parametre  Tipi</th><th width="66">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>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>customerId</td><td>String</td><td>O</td><td>Müşterinin önceki başvurusu cevabında size gönderilen müşteriyi tanımlayan unique değerdir. Eğer yeni müşteri ise null gönderebilirsiniz.</td></tr><tr><td>orderAmount</td><td>String</td><td>Z</td><td>Sipariş tutarı. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır.</td></tr><tr><td>notCalculateFees</td><td>Bool</td><td>O</td><td>Ekstra ücret hesaplanmaması isteniyorsa true gönderilmeli.</td></tr><tr><td>forceRiskFreeEvaluate</td><td>Bool</td><td>O</td><td>true geldiğinde riskli müşterilerden ilk taksiti peşin olarak almayacak şekilde ayarlanır</td></tr><tr><td>postponeSelected</td><td>Bool</td><td>O</td><td>Taksitler ertelemeli olarak hesaplanacak ise true gönderilir. False ise taksitlerde erteleme yapılmaz.</td></tr><tr><td>RevisedFeeRate</td><td>İnt</td><td>O</td><td>Fee değerinde yapılacak değişikliği belirten değerdir. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır. 0 gönderilirse veya gönderilmezse fee değerinde değişiklik yapılmaz. 20 gönderilirse yeni fee değeri orjinal feenin %20’sidir.</td></tr><tr><td>availableLimit</td><td>int</td><td>O</td><td>Satıcı tarafında müşterinin anlık limiti tutuluyorsa peşin ödeme hesabı için <strong>availableLimit</strong> hasoya bu parametre ile gönderilir. Ondalık sayıdan kurtarmak için 100 ile çarparak gönderiniz.<br><mark style="color:purple;"><strong>Dikkat</strong>: Bu parametre 0'dan büyük gönderilirse Haso tarafında limit kontrolü yapılmaz.</mark> Sadece limit aşımı peşin ödeme hesaplaması yapılır.</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><mark style="color:red;">merchantId + ipAddress + customerId + orderAmount + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr><tr><td>basketList</td><td>List model</td><td>O</td><td>Sepette bulunan ürünleri aşağıdaki bilgileri gönderilirse erteleme, peşinat, taksit sayısı ve işlem ücreti gibi hesaplamalarda özelleştirme yapılabilir.</td></tr><tr><td>basketList.skuCode</td><td>String</td><td>O</td><td>Ürününüzün sku kodudur.</td></tr><tr><td>basketList.skudefinitionId</td><td>String</td><td>O</td><td>Ürün grubu kodudur.</td></tr><tr><td>basketList.skuAmount</td><td>İnt</td><td>O</td><td>Ürün tutarının 100 ile çarpılmış halidir.</td></tr><tr><td>basketList.skuMerchant</td><td>String</td><td>O</td><td>Ürünün satan satıcıya verdiğiniz koddur.</td></tr><tr><td>basketList.skuMerchantContributionRate</td><td>İnt</td><td>O</td><td>Taksit planında çıkan fee değerinin ürünün sepetteki oranına göre hangi satıcı ürünü için ne kadar fee olacağı hesaplanabilir. Böylelikle satıcı bazlı fee hesaplanabilir.</td></tr></tbody></table>

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

#### **Çıkış Parametreleri**

<table data-full-width="true"><thead><tr><th>Parametre adı</th><th>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 müşteri limit bilgileri ile taksit değerleri vardır. Data parametresi içeriği ise şöyledir:

<table data-full-width="true"><thead><tr><th width="357">Parametre adı</th><th width="117">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Data[“FirstPaymentDate”]</td><td>DateTime</td><td>İlk ödeme günüdür.</td></tr><tr><td>Data[“DownPaymentAmount”]</td><td>Decimal</td><td>Limit aşımı durumunda peşin alınacak tutar değeridir.</td></tr><tr><td>Data["DownPaymentType"]</td><td>string</td><td>Limit aşımında peşin alma olacaksa hangi kuraldan olduğunu belirten değerdir.</td></tr><tr><td>Data[“PostponeEnabled”]</td><td>Bool</td><td>Taksit Erteleme seçilip seçilemeyeceğini belirtir.</td></tr><tr><td>Data[“CustomerInfo”]</td><td></td><td>Müşteri limit bilgilerini içeren modeldir. Bu modele ait parametreler şöyledir.</td></tr><tr><td>CustomerInfo.customerID</td><td>String</td><td>Requestte gönderilen CustomerId değeridir.</td></tr><tr><td>CustomerInfo.customerLimit</td><td>Decimal</td><td>Müşterinin kullanılabilir limitidir.</td></tr><tr><td>CustomerInfo.specialLimit</td><td>Decimal</td><td>Müşteriye atanan özel limit değeridir.</td></tr><tr><td>CustomerInfo.initialLimit</td><td>Decimal</td><td>Müşterinin ilk limit aldığı andaki değerdir.</td></tr><tr><td>CustomerInfo.extraLimit</td><td>Decimal</td><td>Müşterinin belirli skularda kullanabileceği ek limit değeridir.</td></tr><tr><td>CustomerInfo.diffExtraAndCustomerLimit</td><td>Decimal</td><td>Müşterinin ek limiti ile geçerli limiti arasındaki farktır.</td></tr><tr><td>CustomerInfo.hasOverduePayments</td><td>Bool</td><td>Müşterinin vadesi geçen ödenmemiş ödeme kaydı olup olmadığı bilgisini verir.</td></tr><tr><td>CustomerInfo.totalOrderedAmount</td><td>Decimal</td><td>Müşterinin toplam başarılı sipariş tutarıdır.</td></tr><tr><td>CustomerInfo.totalPaidAmount</td><td>Decimal</td><td>Müşterinin taplam ödeme yaptığı tutardır.</td></tr><tr><td>CustomerInfo.totalRemainingAmount</td><td>Decimal</td><td>Müşterinin ödemesi gereken toplam tutardır.</td></tr><tr><td>CustomerInfo.balanceAmount</td><td>Decimal</td><td>Müşterinin sahip olduğu bakiye tutarıdır.</td></tr><tr><td>CustomerInfo.isNeedLimitRequest</td><td>Bool</td><td>Eğer bu parametre True ise Limit sorgusu yapılması gerekmektedir.</td></tr><tr><td>CustomerInfo.limitIncreased</td><td>Bool</td><td>Farklı zamanlarda segment cap limitlerinde değişiklik yapılabilir. Müşterinin de limitinde artış meydana gelebilir. Eğer limiti artmışsa bu parametre true yapılır. Müşteriye limitinin arttığını bilgilendirmek isteyebilirsiniz.</td></tr><tr><td>CustomerInfo.dealerSegment</td><td>String</td><td>Müşterinin geçerli satıcı segmentidir.</td></tr><tr><td>CustomerInfo.hasoSegment</td><td>String</td><td>Müşterinin geçerli haso segmentidir.</td></tr><tr><td>CustomerInfo.limitValidityDate</td><td>DateTime</td><td>Limit geçerlilik tarihidir.</td></tr><tr><td>Data[“Installments”]</td><td>List</td><td>Sipariş tutarına göre kaç taksit olacaksa o sayıda item’a sahip bir liste gelir.</td></tr></tbody></table>

#### Listenin içindeki her bir taksit modeline ait alanlar ise şöyledir.

<table data-full-width="true"><thead><tr><th width="416">Parametre adı</th><th width="95">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Installments.InstallmentNo</td><td>Int</td><td>Kaç taksit olacağını belirten taksit sayısıdır.</td></tr><tr><td>Installments.Price</td><td>Decimal</td><td>Taksit tutarıdır.</td></tr><tr><td>Installments.TransactionPrice</td><td>Decimal</td><td>Sipariş tutarıdır. Ekstra ücretler eklenmiş taksitler ilave olan tutar değildir. Taksitleri getirmek için orderAmount parametresi olarak gönderdiğiniz değerdir.</td></tr><tr><td>Installments.TotalAmount</td><td>Decimal</td><td>Toplam işlem tutarıdır.</td></tr><tr><td>Installments.downPayment</td><td>Decimal</td><td>Taksit kaydı eğer peşin alınacak ise bu tutar ile gösterilir.</td></tr><tr><td>Installments.downPaymentType</td><td>String</td><td>peşin alma olacaksa hangi kuraldan dolayı olduğunu belirtir</td></tr><tr><td>Installments.Fee</td><td>Decimal</td><td>Sipariş tutarı haricinde ödenecek toplam ekstra tutardır.</td></tr><tr><td>Installments.originalFee</td><td>Decimal</td><td>Fee değerinde indirim yapıldığını göstermek için kullanılır. üstü çizili değerdir. İşlem ücreti listelerindeki değerdir.</td></tr><tr><td>Installments.feeDiscountCampaigns</td><td>List</td><td>Fee indirimi uygulanan kampanya adı ve indirim oranlarını listeler</td></tr><tr><td>Installments.merchantContributions</td><td>List</td><td>Requestte basketList parametresinde gönderilen skuMerchantContributionRate değerine göre hangi satıcının ne kadar işlem ücretini karşılayacağı gösterilir.</td></tr><tr><td>Installments.merchantContributions.skuCode</td><td>string</td><td>basketList ile gönderilen sku</td></tr><tr><td>Installments.merchantContributions.skuMerchant</td><td>string</td><td>basketList ile gönderilen merchant kodu</td></tr><tr><td>Installments.merchantContributions. skuMerchantContributionAmount</td><td>Decimal</td><td>Merchant için hesaplanan işlem ücreti katkı bedeli</td></tr><tr><td>Installments.PaymentPlan</td><td>List</td><td>Her taksit değeri için ödeme planını list olarak gösterir. Bu modele ait alt parametreler ise şöyledir.</td></tr><tr><td>Installments.PaymentPlan. InstallmentNo</td><td>Int</td><td>Ödeme planındaki taksit numarasıdır.</td></tr><tr><td>Installments.PaymentPlan. installmentPayment</td><td>Decimal</td><td>Ödeme planındaki taksitin tutarıdır.</td></tr><tr><td>Installments.PaymentPlan. termDate</td><td>Date</td><td>Ödeme planındaki taksidin vade tarihidir.</td></tr><tr><td>Installments.PaymentPlan.fee</td><td>Decimal</td><td>İşlemdeki fee değerinin taksit başına düşen değeri</td></tr><tr><td>Installments.PaymentPlan.originalFee</td><td>Decimal</td><td>İşlemdeki original fee değerinin taksit başına düşen değeri</td></tr></tbody></table>


# 5.2. Limit Belirle

Müşterinin sipariş vermeden sadece limitinin belirlenmesi için kullanılır. Kkb isteği yapılır veya ön tanımlı satıcı limiti tanımlanır. Ön tanımlı limit var ve sıfırdan büyük ise kkb isteği yapılmaz. 3 adımdan oluşur.


# 5.2.1 Limit İsteğinin Başlatılması

Müşterinin bilgileri ile Kkb talebinin veya ön tanımlı limit isteğinin başlatıldığı servistir. Gönderilen Tckn eğer sistemde yoksa öncelikle müşteri Haso sistemine kaydedilir. Eğer müşteri Haso sisteminde kayıtlı değil ise veya kayıtlı olmasına rağmen limit belirlenmesi gerekiyorsa Kkb talebi yapılır. Kkb talebi başarılı yapıldı ise Kkb tarafından müşterinin telefonuna Pin Kodu gönderilir. 2. Adımda girilecek olan PinKodu ile birlikte gönderilmek üzere KkbRefNo parametresi çıkış parametrelerinde yer alır. Kkb talebi başarısız ise hata kodu geri döner. Eğer müşteri Haso sisteminde kayıtlı ve limit belirlenmesine ihtiyaç yoksa response olarak müşterinin mevcut limitini içeren CustomerInfo modeli döner. Ön tanımlı limit verilmek isteniyorsa PreDefinedLimit request parametresi sıfırdan büyük gönderilmelidir. PreDefinedLimit>0 ise kkb isteği yapılmadan otp doğrulaması ile satıcı limiti müşteriye tanımlanır.&#x20;

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="221">Parametre adı</th><th width="144">Parametre Tipi </th><th width="65">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>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>shopperName</td><td>String</td><td>Z</td><td>Müşterinin adı bilgisidir. Tckn doğrulamada kullanıldığı için müşterinin kimliğinde nasıl yazıyorsa aynen girilmesi gerekir. Eğer orta adı var ise o da girilmelidir.</td></tr><tr><td>shopperSurname</td><td>String</td><td>Z</td><td>Müşterinin soyadı bilgisidir. Tckn doğrulamada kullanıldığı için müşterinin kimliğinde nasıl yazıyorsa aynen girilmesi gerekir.</td></tr><tr><td>tckn</td><td>String(11)</td><td>Z</td><td>Müşterinin 11 haneli tckn bilgisidir.</td></tr><tr><td>mobileNumber</td><td>String(10)</td><td>Z</td><td>Başında ülke kodu veya sıfır olmadan girilen 10 haneli cep telefonu numarasıdır. Örneğin 5161112233 formatında gönderilmelidir.</td></tr><tr><td>email</td><td>String</td><td>Z</td><td>Müşterinin sisteme kayıt olacağı email adresidir.</td></tr><tr><td>dealerSegment</td><td>String(10)</td><td>Z</td><td>Müşterinin satıcı tarafındaki segmentidir.</td></tr><tr><td>birthDate</td><td>DateTime</td><td>Z</td><td>“yyyy-mm-dd” olarak gönderilmesi gereken doğum tarihi parametresidir. Tckn doğrulamada doğum yılı gerektiği için önemli bir parametredir.</td></tr><tr><td>PreDefinedLimit</td><td>String</td><td>O</td><td>Ön tanımlı limit tutarıdır. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır.</td></tr><tr><td>setHasoSegment</td><td>string</td><td>O</td><td>Kkb sorgusu yapılması gereken limit isteklerinde bu parametre satıcı tarafından gönderilirse kkb sorgusu yapılmadan bu parametre değerine ait limit değeri müşteriye atanır. Sms doğrulaması satıcı tarafından yapılır.</td></tr><tr><td>testOn</td><td>Bool</td><td>O</td><td>Gerçek Kkb isteği yapmamak için kullanılır. Eğer true gönderilirse gerçek kkb isteği yapılmaz. Sadece sandbox ortamında çalışır.</td></tr><tr><td>skipTcknValidation</td><td>Bool</td><td>O</td><td>True gönderilirse nvi servislerinden tckn doğrulaması yapılmaz. Sadece tckn’nin 11 karakterli nümerik olması kontrolü yapılır.</td></tr><tr><td>SpecialLimit</td><td>String</td><td>O</td><td>Müşterinin alacağı kendi limitine ilave olarak özel limit tanımlanmak isterse bu parametre ile özel limit değeri gönderilebilir.</td></tr><tr><td>forceToPredefinedLimit</td><td>Bool</td><td>O</td><td>Ön tanımlı limit göderildiğinde başka şarta bakmadan ön tanımlı limitin kullanıcıya tanımlanması zorlanır.</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><p></p><p><mark style="color:red;">merchantId + ipAddress + shopperName + shopperSurname</mark></p><p><mark style="color:red;">+ tckn + birthDate + mobileNumber + email + dealerSegment + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</p></td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="157">Parametre adı </th><th width="224">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Success</td><td>bool</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, object</mark>></td><td>Eğer success=true ise key-value şeklinde data döner.</td></tr></tbody></table>

Müşteri Haso sisteminde kayıtlı değilse veya olmasına rağmen Kkb sorgusu ihtiyacı varsa kkb talebi yapılır. Bu durumda Data parametresi içeriğinde şu key değerleri olur.

<table data-full-width="true"><thead><tr><th width="196">Parametre Adı</th><th width="121">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Data[“KkbRefNo”]</td><td>String</td><td><p></p><ol start="2"><li>ve 3. adımda request olarak kullanılacaktır.</li></ol></td></tr><tr><td>Data[“Message”]</td><td>String</td><td>Bilgi mesajıdır.</td></tr><tr><td>Data[“KkbPhones”]</td><td>List&#x3C;string></td><td>Kkb’de tanımlı olan telefon numaralarının maskelenmiş formatıdır.</td></tr><tr><td>Data[“CustomerId”]</td><td>String</td><td>Kaydedilen müşteri için verilen unique değerdir. Bu değeri kendi sisteminizde müşteri ile eşleştirmek için kullanabilirsiniz.</td></tr><tr><td>Data[“OtpCode”]</td><td>String</td><td>Öntanımlı limiti gönderilmiş ise otp sms işlemini satıcı kendisi gönderecekse müşteriye gönderilecek sms içeriğinde yer alacak olan kod değeridir.</td></tr></tbody></table>

Eğer müşteri zaten Hasoda kayıtlı ve Kkb sorgu ihtiyacı yoksa CustomerId ve güncel limit bilgisini içeren CustomerInfo model döner. Normalde müşterinin limit ihtiyacı yok ise zaten bu endpoint çağrılmamalıdır.

<table data-full-width="true"><thead><tr><th width="211">Parametre Adı</th><th width="83">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Data[“CustomerInfo”]</td><td>Model</td><td>GetCustomerInformation endpointinde de bulunan response modeldir.</td></tr></tbody></table>


# 5.2.2. Limit Talebinin Pin Kodu ile Onaylanması

Limit belirlemenin ilk adımında başarılı bir şekilde talep başlatıldı ise müşteriye Pin kodu  gönderilmiştir. Gönderilen pin kodu ile talebin onaylandığı servistir.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="156">Parametre adı</th><th width="146">Parametre Tipi</th><th width="66">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>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>kkbRefNo</td><td>String</td><td>Z</td><td>İlk adımda dönen referans no bilgisidir.</td></tr><tr><td>pinCode</td><td>String</td><td>Z</td><td>Müşterinin telefonuna gönderilen Pin Kodunu sayfanızda girdiği değerdir.</td></tr><tr><td>testResult</td><td>String</td><td>O</td><td>Eğer 1. Adımda testOn=true gönderilmişse bu parametre ile istenen Kkb sonucu belirtilir. testResult dolu ise PinCode parametresinine herhangi bir değer verilebilir. testResult in (“A”,”B”,”C,”D”,”E”,”F”) gönderilirse sonuç başarılı ve bir limit değeri döner. E ve F için limit=0’dır. testResult=”RETRY” gönderilirse Kkb raporu henüz olaylanmamış tekrar deneyiniz gibi response döner.</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><mark style="color:red;">merchantId + ipAddress + kkbRefNo + pinCode + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz. </td></tr></tbody></table>

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

&#x20;Pin kodu ile talep onaylanırsa kkb rapor sonucu da kkbden talep edilir. Eğer kkb rapor sonucunu dönerse müşterinin limiti sonucu belli olur. Eğer reddedildiyse Success=false ile hata olarak response gelir. Reddedilmediyse rapor sonucu analiz edilerek müşterinin limiti oluşturulur. Bu durumda 3. Adıma gerek kalmayacaktır. Eğer kkbden rapor sonucu gelmez ise müşterinin limiti bu anda belirlenemez. Sistem tarafından belli aralıklarla rapor sonucu sorgulanacak ve rapor oluştuğu anda müşteri limiti sisteme kaydedilecektir. Siz de manuel olarak rapor sonucunu almak istediğinizde 3. Adımdaki servis çağrılmalıdır.

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="155">Parametre adı</th><th width="227">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>

Rapor sonucu belli olmamışsa 3. Adımda kullanılmak üzere KkbRefNo ve durumu belirten Message değerleri Data içinde yer alır.

<table data-full-width="true"><thead><tr><th width="185">Parametre adı</th><th width="80">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Data[“KkbRefNo”]</td><td>String</td><td><p></p><ol start="3"><li>adımda request olarak kullanılacaktır.</li></ol></td></tr><tr><td>Data[“Message”]</td><td>String</td><td>M101 kodu ile 3.adımın çağrılabileceği belirtilir.</td></tr></tbody></table>

Büyük olasılıkla rapor oluşacaktır. Bu durumda CustomerId ve güncel limit bilgisini içeren CustomerInfo model döner.

<table data-full-width="true"><thead><tr><th width="212">Parametre adı</th><th width="94">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Data[“CustomerInfo”]</td><td>Model</td><td>GetCustomerInformation endpointinde de bulunan response modeldir.</td></tr></tbody></table>


# 5.2.3. KKB Rapor Sonucu Kontrolü

Eğer 2. Adım olan Kkb Talebinin Onaylanması servisinden rapor sonucu gelmemiş ise bu servis ile  rapor sonucu kontrol edilebilir.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="155">Parametre adı</th><th width="148"> Parametre Tipi </th><th width="67">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>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>kkbRefNo</td><td>String</td><td>Z</td><td>İkinci adımda dönen referans no bilgisidir.</td></tr><tr><td>testResult</td><td>String</td><td>O</td><td>Eğer 1. Adımda testOn=true gönderilmişse bu parametre ile istenen Kkb sonucu belirtilir. testResult dolu ise PinCode parametresinine herhangi bir değer verilebilir. testResult in (“A”,”B”,”C,”D”,”E”,”F”) gönderilirse sonuç başarılı ve bir limit değeri döner. E ve F için limit=0’dır. testResult=”RETRY” gönderilirse Kkb raporu henüz olaylanmamış tekrar deneyiniz gibi response döner.</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><mark style="color:red;">merchantId + ipAddress + kkbRefNo + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr></tbody></table>

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

Onaylanan Kkb talebinin raporunun oluşturulup oluşturulmadığı kontrol edilir. Eğer kkb rapor sonucunu dönerse müşterinin limiti sonucu belli olur. Eğer reddedildiyse Success=false ile hata olarak response gelir. Reddedilmediyse rapor sonucu analiz edilerek müşterinin limiti oluşturulur. Eğer kkbden rapor sonucu gelmez ise müşterinin limiti bu anda belirlenemez. Sistem tarafından belli aralıklarla rapor sonucu sorgulanacak ve rapor oluştuğu anda müşteri limiti sisteme kaydedilecektir. Bu servis ile dilerseniz manuel olarak rapor sonucunu tekrar kontrol edebilirsiniz.

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="160">Parametre adı</th><th width="223">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>

Rapor sonucu belli olmamışsa bu adımda tekrar kullanılmak üzere KkbRefNo ve durumu belirten Message değerleri Data içinde yer alır.

<table data-full-width="true"><thead><tr><th width="185">Parametre adı </th><th width="85">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Data[“KkbRefNo”]</td><td>String</td><td><p></p><ol start="3"><li>adımda request olarak kullanılacaktır.</li></ol></td></tr><tr><td>Data[“Message”]</td><td>String</td><td>M101 kodu ile 3.adımın tekrar çağrılabileceği belirtilir.</td></tr></tbody></table>

Büyük olasılıkla rapor oluşacaktır. Bu durumda CustomerId ve güncel limit bilgisini içeren CustomerInfo model döner.

<table data-full-width="true"><thead><tr><th width="209">Parametre adı </th><th width="95">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Data[“CustomerInfo”]</td><td>Model</td><td>GetCustomerInformation endpointinde de bulunan response modeldir.</td></tr></tbody></table>


# 5.2.4. Yeniden KkbPin Kodu Gönderilmesi

Rapor talebinin pin ile onaylanması için yeni pin üretmek amacıyla kullanılacak metoddur. Kkbden gönderilen sms’in kullanıcıya ulaşmamış olması durumunda, bu metod ile tekrar pin üreterek, müşteriye yeniden iletimi sağlanabilir.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="160">Parametre adı</th><th width="144">Parametre Tipi</th><th width="65">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>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>kkbRefNo</td><td>String</td><td>Z</td><td>İlk adımda dönen referans no bilgisidir.</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><mark style="color:red;">merchantId + ipAddress + kkbRefNo + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="160">Parametre adı</th><th width="223">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>

Yeniden pinkodu gönderdikten sonra 5.8.2 KKB Talebinin Onaylanması adımında kullanılmak üzere Data.KkbRefNo parametresi kullanılır.

<table data-full-width="true"><thead><tr><th width="187">Parametre adı</th><th width="79">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Data[“KkbRefNo”]</td><td>String</td><td><p></p><ol start="2"><li>adımda request olarak kullanılacaktır.</li></ol></td></tr><tr><td>Data[“Message”]</td><td>String</td><td>Yeniden pin gönderme başarılı ise RS100</td></tr></tbody></table>


# 5.2.5 Ön Tanımlı Limit Gönderimi

Satıcı tarafından gönderilen ön tanımlı limitleri sms doğrulamasına ihtiyaç olmadan kaydetmek için kullanılır. Müşterinin limit süresi bitmemiş olsa dahi gönderilen segmente ait olan limit mevcut limitinden büyük ise yeni segmenti ile müşteriye yeni limit değeri tanımlanır. Eğer müşterinin limiti sıfırlanıyorsa mevcut limitine bakılmaksızın müşterinin limit değeri 0 olarak tanımlanır.&#x20;

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="221">Parametre adı</th><th width="144">Parametre Tipi </th><th width="65">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>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>customerId</td><td>String</td><td>Z</td><td>Haso sisteminde müşterinin sahip olduğu unique değerdir.</td></tr><tr><td>dealerSegment</td><td>String(10)</td><td>Z</td><td>Müşterinin satıcı tarafındaki segmentidir.</td></tr><tr><td>limitReductionFlag</td><td>bool</td><td>O</td><td>LimitReductionFlag true gönderilirse ön tanımlı ise limit düşse bile yeni limiti ataması yapılır. yeni segment ön tanımlı değilse limiti expire yapılır</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><p></p><p><mark style="color:red;">merchantId + customerId+ dealerSegment+ ipAddress + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</p></td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="157">Parametre adı </th><th width="224">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Success</td><td>bool</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, object</mark>></td><td>Eğer success=true ise key-value şeklinde data döner.</td></tr></tbody></table>

Eğer işlem başarılı ise Data parametresi içeriğinde şu key değerleri olur.

<table data-full-width="true"><thead><tr><th width="211">Parametre Adı</th><th width="83">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Data[“CustomerInfo”]</td><td>Model</td><td>GetCustomerInformation endpointinde de bulunan response modeldir.</td></tr></tbody></table>


# 5.2.6 Kds limiti Gönderimi

Satıcı tarafından kendi kds sistemi ile müşteriye atanan limit değeri bu endpoint ile Haso tarafına iletilir. Haso tarafında bu limitin kaydedilmesinde hasoda tanımlı olan limit değerinin expire olup olmamasına bakmaksınız yeni değer kaydedilir. Müşterinin gecikmiş ödemesi varsa, müşteri durumu suspend durumunda ise kds limiti kaydedilmez ve hata mesajı geri yollanır.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="221">Parametre adı</th><th width="144">Parametre Tipi </th><th width="65">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>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>shopperName</td><td>String</td><td>Z</td><td>Müşterinin adı bilgisidir. Kds ile satıcı tarafında işlem yapıldığı için Tckn doğrulaması satıcı tarafında yapıldığı varsayılarak Haso tarafında yapılmamaktadır</td></tr><tr><td>shopperSurname</td><td>string</td><td>Z</td><td>Müşterinin soyadı bilgisidir.</td></tr><tr><td>tckn</td><td>string(11)</td><td>z</td><td>Müşterinin 11 haneli tckn bilgisidir.</td></tr><tr><td>mobileNumber</td><td>string(10)</td><td>z</td><td>Başında ülke kodu veya sıfır olmadan girilen 10 haneli cep telefonu numarasıdır. Örneğin 5161112233 formatında gönderilmelidir.<br>Gönderilen telefon numarası Haso veritabanında başka bir müşteride kayıtlı mı kontrolü yapılmaktadır.</td></tr><tr><td>email</td><td>string</td><td>Z</td><td>Müşterinin sisteme kayıt olacağı email adresidir.</td></tr><tr><td>birthDate</td><td>Datetime</td><td>Z</td><td>“yyyy-mm-dd” olarak gönderilmesi gereken doğum tarihi parametresidir.</td></tr><tr><td>dealerSegment</td><td>String(10)</td><td>Z</td><td>Müşterinin satıcı tarafındaki segmentidir.</td></tr><tr><td>kdsLimit</td><td>int</td><td>Z</td><td>Müşterinin satıcı tarafaında hesaplanan limit değeridir. 100 ile çarparak gönderiniz.</td></tr><tr><td>kdsSegment</td><td>string</td><td>O</td><td>Satıcı tarafında atanan segment değeridir. </td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><p></p><p><mark style="color:red;">merchantId + shopperName + shopperSurname + dealerSegment+ ipAddress + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</p></td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="157">Parametre adı </th><th width="224">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Success</td><td>bool</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, object</mark>></td><td>Eğer success=true ise key-value şeklinde data döner.</td></tr></tbody></table>

Eğer işlem başarılı ise Data parametresi içeriğinde şu key değerleri olur.

<table data-full-width="true"><thead><tr><th width="211">Parametre Adı</th><th width="83">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Data[“CustomerInfo”]</td><td>Model</td><td>GetCustomerInformation endpointinde de bulunan response modeldir.</td></tr></tbody></table>


# 5.3. Yeni İşlem Oluşturma

Limiti olan (Kkb sorgusuna ihtiyaç olmayan) bir müşterinin CustomerId’si ile yeni işlem oluşturabilmek için kullanılır. Gönderilen sipariş tutarına göre müşteri ve satıcı limitleri ile diğer validasyonlar kontrol edilerek uygunluk sağlanırsa işlem sonucunda Ödeme Planı servis edilir. Aksi durumda hata mesajı kontrol edilmelidir.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="213">Parametre adı </th><th width="148">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>ipAddress</td><td>String</td><td>O</td><td>İstek yapan istemcinin ip adresi</td></tr><tr><td>orderAmount</td><td>String</td><td>Z</td><td>Sipariş tutarı. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır.</td></tr><tr><td>selectedInstallment</td><td>İnt</td><td>Z</td><td>Müşterinin seçtiği taksit kaydının <strong>InstallmentNo</strong> değeridir.</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>basketList</td><td>List model</td><td>O</td><td>Sipariş içeriğindeki ürün bilgileri şu modelde gönderilebilir. Her ne kadar opsiyonel olsa da gönderilmesi durumunda peşinat gibi çeşitli kontroller daha iyi yapılabilmektedir.<br>"basketList": [ { "skuCode": "Barkod veya Ürün Kodu", "skudefinitionId": "Kategori", "skuAmount": 71999, "skuMerchant": "Marka veya Satıcı", "skuMerchantContributionRate": 0, "productName": "Ürün İsmi", "productUrl": "Ürünün Satıcının sitesindeki url adresi", "productImage": "Ürünün görseli url adresi" }, { "skuCode": "Barkod veya Ürün Kodu", "skudefinitionId": "Kategori", "skuAmount": 71999, "skuMerchant": "Marka veya Satıcı", "skuMerchantContributionRate": 0, "productName": "Ürün İsmi", "productUrl": "Ürünün Satıcının sitesindeki url adresi", "productImage": "Ürünün görseli url adresi" } ]</td></tr><tr><td>notCalculateFees</td><td>Bool</td><td>O</td><td>Ekstra ücret hesaplanmaması isteniyorsa true gönderilmeli.</td></tr><tr><td>forceRiskFreeEvaluate</td><td>Bool</td><td>O</td><td>true geldiğinde riskli müşterilerden ilk taksiti peşin olarak almayacak şekilde ayarlanır.</td></tr><tr><td>PostponeSelected</td><td>bool</td><td>O</td><td>Taksitler ertelemeli olarak hesaplanacak ise true gönderilir. False ise taksitlerde erteleme yapılmaz.</td></tr><tr><td>RevisedFeeRate</td><td>İnt</td><td>O</td><td>Fee değerinde yapılacak değişikliği belirten değerdir. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır. 0 gönderilirse veya gönderilmezse fee değerinde değişiklik yapılmaz. 20 gönderilirse yeni fee değeri orjinal feenin %20’sidir.</td></tr><tr><td>availableLimit</td><td>int</td><td>0</td><td>Satıcı tarafında müşterinin anlık limiti tutuluyorsa peşin ödeme hesabı için <strong>availableLimit</strong> hasoya bu parametre ile gönderilir. Ondalık sayıdan kurtarmak için 100 ile çarparak gönderiniz.<br><mark style="color:purple;"><strong>Dikkat</strong>: Bu parametre 0'dan büyük gönderilirse Haso tarafında limit kontrolü yapılmaz.</mark> Sadece limit aşımı peşin ödeme hesaplaması yapılır.</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><mark style="color:red;">merchantId + customerId + merchantOid + selectedInstallment + ipAddress + orderAmount + merhant_salt</mark> parametreleri ile 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>merchantOid</td><td>String(20)</td><td>Z</td><td>Kendi sisteminizde oluşturduğunuz sipariş için unique verdiğiniz sipariş numaranızdır.</td></tr><tr><td>userAddress</td><td>Model</td><td>O</td><td>Siparişin teslimat adresi bilgileri şu modelde gönderilebilir. Her ne kadar optiyonel olsa da gönderilmesi durumunda fraud kontrolleri daha iyi yapılabilmektedir.<br>"userAddress": { "userNameSurname": "Nilüfer Bursalı", "countryName": "TÜRKİYE", "cityName": "BURSA", "townName": "NİLÜFER", "detail": "Abc Mahallesi Abc Caddesi Abc Sitesi B Blok D:1", "postalCode": "16240", "phone": "+90 516 111 22 33" }</td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="168">Parametre adı </th><th width="222">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Form["<mark style="color:red;">Success</mark>"]</td><td><mark style="color:blue;">bool</mark></td><td>işlemin başarılı sonuç dönüp dönmediğini bildirir. False dönerse Errors parametresi doludur. True dönerse ödeme planını kendi veritabanınıza kaydedebilir ve siparişinizi aktif edebilirsiniz.</td></tr><tr><td>Form["<mark style="color:red;">Errors</mark>"]</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>Form["<mark style="color:red;">Data</mark>"]</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>

Success=true olduğunda Form\["<mark style="color:red;">Data</mark>"]\["<mark style="color:red;">TransactionPayments</mark>"] parametresi içeriği şöyledir.

<table data-full-width="true"><thead><tr><th width="386">Parametre adı </th><th width="104">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>TransactionCode</td><td>String</td><td>Haso sistemindeki işlem numarası.Bu numarayı kendi sipariş numaranız ile birlikte kendi veritabanınızda saklamanızı tavsiye ederiz.</td></tr><tr><td>MerchantOid</td><td>String</td><td>Başvuru esnasında gönderdiğiniz kendi sipariş numaranız.</td></tr><tr><td>CustomerId</td><td>String</td><td>İşlemin sahibi olan müşteriyi tanımlayan unique bir değerdir.</td></tr><tr><td>TotalAmount</td><td>Decimal</td><td>Toplam işlem tutarıdır.</td></tr><tr><td>downPayment</td><td>Decimal</td><td>Bu işlem için müşteriden alınması gereken peşinat tutarını gösterir.</td></tr><tr><td>downPaymentType</td><td>String</td><td>Peşinat alınacaksa hangi kuraldan dolayı alınacağı belirtilir.</td></tr><tr><td>Fee</td><td>Decimal</td><td>Sipariş tutarı haricinde ödenecek toplam ekstra tutardır.</td></tr><tr><td>TransactionPayments</td><td>List</td><td>İşleminize ait ödeme planınızdır. Liste halinde aşağıdaki alanları içerir.</td></tr><tr><td>TransactionPayments.InstallmentNo</td><td>Int</td><td>Taksit numarasıdır.</td></tr><tr><td>TransactionPayments.InstallmentPayment</td><td>Decimal</td><td>Ödenmesi gereken taksit tutarıdır.</td></tr><tr><td>TransactionPayments.TermDate</td><td>DateTime</td><td>Taksitin vade tarihidir.</td></tr><tr><td>TransactionPayments.PaymentCode</td><td>String</td><td>Her ödeme kaydı için verilen unique bir değer.</td></tr><tr><td>TransactionPayments.fee</td><td>Decimal</td><td>Taksit kaydına düşen fee değeridir.</td></tr><tr><td>TransactionPayments.feeDiscountCampaigns</td><td>List</td><td>Fee indirimi uygulanan kampanya adı ve indirim oranlarını listeler</td></tr></tbody></table>

ÖNEMLİ: Bu aşamada yani Başvuru isteğini gönderip success aldığınızda Haso tarafında işlem henüz aktiflenmemiştir. İşlem “Sipariş Durumu Bekleniyor” durumunda olacaktır. Başvuru isteğinden success aldıktan sonra kendi siparişinizi sisteminizde aktif edip sonrasında Hasoya <mark style="color:red;">UpdateTransaction</mark> ile tekrar bir istekde bulunarak işlemi aktif etmeniz gerekmektedir. Aksi halde işlem Haso tarafında işlem aktif olmayacak ve müşteri limiti düşmeyecektir.


# 5.4. İşlem Durumunu Aktifleştirme

Haso sisteminde bulunan işlemlerinizin durumunu izin verilen durumlarda değiştirmenizi sağlar. İşlemi aktif etmek için kullanılabilir.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="183">Parametre adı </th><th width="147">Parametre Tipi</th><th width="62">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>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 + merchantOid + transactionCode + transactionStatus + 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>transactionCode</td><td>String</td><td>Z</td><td>Durumunu değiştirmek istediğiniz işlemin Haso sistemindeki işlem numarasıdır. Başvuru sonucunda okUrl’e düşen response parametrelerinde bu değer vardır.</td></tr><tr><td>merchantOid</td><td>String</td><td>Z</td><td>Haso işlem numarası ile eşleştirilmiş kendi sipariş numaranızdır.</td></tr><tr><td>transactionStatus</td><td>String</td><td>Z</td><td>Aktiflemek için <mark style="color:red;">"Completed"</mark> göndermelisiniz.</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="154">Parametre adı </th><th width="227">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 taksit değerleri vardır. Data parametresi içeriği ise şöyledir:

<table data-full-width="true"><thead><tr><th>Parametre adı </th><th>Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Data[“<mark style="color:red;">message</mark>”]</td><td>String</td><td>Aktifleme işleminin başarılı olduğuna dair mesaj bulunur.</td></tr></tbody></table>


# 5.5 Ödeme Planını Getir

Haso sisteminde onaylanmış bir işlemin güncel ödeme planını (taksit detaylarını) istediğiniz zaman bu metod ile alabilirsiniz.

İşlem ilk onaylandığında başvuru sonucunda size zaten ödeme planı döner. Gelen ödeme planını kendi sisteminize kaydetmenizi ve müşterinize gerekli gördüğünüz yerlerde kendi sisteminizden göstermenizi tavsiye ederiz. Bu metodun kullanılma amacı ise iptal, iade veya zamanla taksitlerde ödeme yapılması durumunda taksit durumları değişeceği için kendi sisteminizdeki ödeme planı tablonuzu güncellemenizi sağlamaktır.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="171">Parametre adı</th><th width="146">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>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><p></p><p><mark style="color:red;">merchantId + merchantOid + transactionCode + 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.</p></td></tr><tr><td>transactionCode</td><td>String</td><td>Z</td><td>Ödeme planını getirmek istediğiniz işlemin Haso sistemindeki işlem numarasıdır. Başvuru sonucunda okUrl’e düşen response parametrelerinde bu değer vardır</td></tr><tr><td>merchantOid</td><td>String</td><td>Z</td><td>Haso işlem numarası ile eşleştirilmiş kendi sipariş numaranızdı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="155">Parametre adı </th><th width="224">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Success</td><td>bool</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 taksit değerleri vardır. Data parametresi içeriği ise şöyledir:

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

Transaction Payments Model içeriği şöyledir.

<table data-full-width="true"><thead><tr><th width="363">Parametre adı </th><th width="104">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>TransactionCode</td><td>String</td><td>Request olarak gönderilen transactionCode ile karşılaştırılması için kullanılabilecek bir değerdir.</td></tr><tr><td>MerchantOid</td><td>String</td><td>Request olarak gönderilen merchantOid ile karşılaştırılması için kullanılabilecek bir değerdir.</td></tr><tr><td>CustomerId</td><td>String</td><td>İşlemin sahibi olan müşteriyi tanımlayan unique bir değerdir.</td></tr><tr><td>TotalAmount</td><td>Decimal</td><td>Toplam işlem tutarıdır.</td></tr><tr><td>Fee</td><td>Decimal</td><td>Sipariş tutarı haricinde ödenecek toplam ekstra tutardır.</td></tr><tr><td>Downpayment</td><td>Decimal</td><td>Bu işlem için müşteriden alınması gereken peşinat tutarını gösterir.</td></tr><tr><td>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>TransactionPayments.InstallmentNo</td><td>Integer</td><td>Kaçıncı taksit olduğunu belirten değerdir.</td></tr><tr><td>TransactionPayments.InstallmentPayment</td><td>Decimal</td><td>Taksit tutarını belirten değerdir.</td></tr><tr><td>TransactionPayments.TermDate</td><td>DateTime</td><td>Taksit vade tarihidir.</td></tr><tr><td>TransactionPayments.PaymentStatusText</td><td>String</td><td>Taksitin durumunu gösteren string ifadedir. “Ödendi” vs gibi değerler içerir.</td></tr><tr><td>TransactionPayments.PaymentCode</td><td>String</td><td>Her ödeme kaydı için verilen unique bir değer.</td></tr><tr><td>TransactionPayments.Fee</td><td>Decimal</td><td>Taksit için geçerli ekstra ücrettir.</td></tr></tbody></table>


# 5.6 Ödendi Bilgisinin Gönderilmesi&#x20;

Haso dışında bir yapıdan ödeme alındığı zaman ödeme kaydının durumunu hasoda da Ödendi  yapılması için bu servis kullanılır.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="228">Parametre adı</th><th width="108">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>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>paymentCode</td><td>String</td><td>Z</td><td>Hangi ödeme kaydının durumunu değiştirileceği bu parametre ile belirlenir. Başvuru sonucunda ödeme planında size bu bilgi gönderilir.</td></tr><tr><td>merchantOid</td><td>String(20)</td><td>Z</td><td>Kendi sisteminizde oluşturduğunuz sipariş için unique verdiğiniz sipariş numaranızdır.</td></tr><tr><td>paymentDate</td><td>DateTime</td><td>Z</td><td>Ödemenin müşteriden alındığı tarihtir.</td></tr><tr><td>paymentReferenceCode</td><td>String</td><td>O</td><td>Kendi sisteminizde ödemenin alındığı ödeme kanalına ait referans numarasıdır. Opsiyoneldir.</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><mark style="color:red;">merchantId + merchantOid + paymentCode + paymentReferenceCode + paymentDate.ToString("yyyy-MM-dd") + ipAddress + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="217">Parametre adı </th><th width="224">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><tr><td>Data[“Message”]</td><td>String</td><td>RS100 kodu ile işlemin başarılı olduğunu belirtir.</td></tr><tr><td>Data[“paymentfunds”]</td><td>Dictionary&#x3C;<mark style="color:blue;">string</mark>, <mark style="color:blue;">object</mark>></td><td>Eğer payment fona aktarılmış ise fon bilgileri bu modelde aktarılır.</td></tr></tbody></table>


# 5.7 İşlemin İadesi

Başarılı bir işlemin tamamın veya bir kısmının iadesi gerçekteştirilir. Daha önce iade isteği başarılı olan refundId gönderilmiş ise H307 kodu ile iadenin daha önce yapıldığı bilgisi döner. Bu durumda CheckRefund servisi ile iade sonucu alınabilir.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="174">Parametre adı </th><th width="147">Parametre  Tipi</th><th width="64">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>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>transactionCode</td><td>String</td><td>Z</td><td>Her işlemin sahip olduğu unique bir değerdir. Başvuru sonucunda ödeme planında size bu bilgi gönderilir.</td></tr><tr><td>merchantOid</td><td>String(20)</td><td>Z</td><td>Kendi sisteminizde oluşturduğunuz sipariş için unique verdiğiniz sipariş numaranızdır.</td></tr><tr><td>refundAmount</td><td>String</td><td>Z</td><td>İade edilecek tutar. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır. <mark style="color:red;">refundAmount</mark> siparişteki toplam ürün tutarı veya fazla gönderilir ise bütün ödeme kayıtlarını ve işlemi iptal eder. Az gönderilirse Kısmi İade olur.</td></tr><tr><td>refundId</td><td>String(36)</td><td>Z</td><td>Sizin tarafınızda oluşturulan İade işlemi için unique olacak maximum 36 karakter içerebilen parametredir. CheckRefund endpointinde bu parametre ile iadeyi kontrol edebilirsiniz.</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><mark style="color:red;">merchantId + merchantOid + transactionCode + refundAmount + refundId + ipAddress + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="301">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><tr><td>Data[“Message”]</td><td>String</td><td>RS100 kodu ile işlemin başarılı olduğunu belirtir.</td></tr><tr><td>Data[“hasoRefundAmount”]</td><td>Decimal</td><td>İade edilen tutarın içinde bulunan, Müşterinin daha önceden ödeme yaptığı değerdir. Bu tutar kadar kredi kartı iadesi yapılabilir.</td></tr><tr><td>Data[“hasoRefundFeeAmount”]</td><td>Decimal</td><td>İşlemin tamamı iade edilmişse ekstra tutar değeri bu parametre ile gönderilir.</td></tr><tr><td>Data[“PaymentPlan”]</td><td>List</td><td>Her taksit değeri için ödeme planını list olarak gösterir. Bu modele ait alt parametreler ise şöyledir.</td></tr><tr><td>PaymentPlan.InstallmentNo</td><td>İnt</td><td>Ödeme planındaki taksit numarasıdır.</td></tr><tr><td>PaymentPlan.installmentPayment</td><td>Decimal</td><td>Ödeme planındaki taksitin tutarıdır.</td></tr><tr><td>PaymentPlan.termDate</td><td>Date</td><td>Ödeme planındaki taksidin vade tarihidir.</td></tr></tbody></table>


# 5.8 İşlem İadesi Kontrolü

RefundTransaction servisinde gönderilmiş olan RefundId parametresi ile iade işleminin durumunu  kontrol eder. Eğer H308 kodu ile hata gelirse İade işlemi bulunamadı anlamına gelmektedir.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="157">Parametre adı </th><th width="149">Parametre  Tipi</th><th width="64">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>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>refundId</td><td>String(36)</td><td>Z</td><td>Sizn tarafınızda oluşturulan İade işlemi için unique olacak maximum 36 karakter içerebilen parametredir. CheckRefund endpointinde bu parametre ile iadeyi kontrol edebilirsiniz.</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><mark style="color:red;">merchantId + refundId + ipAddress + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="283">Parametre adı </th><th width="223">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><tr><td>Data[“Message”]</td><td>String</td><td>RS100 kodu ile işlemin başarılı olduğunu belirtir.</td></tr><tr><td>Data[“hasoRefundAmount”]</td><td>Decimal</td><td>İade edilen tutarın içinde bulunan, Müşterinin daha önceden ödeme yaptığı değerdir. Bu tutar kadar kredi kartı iadesi yapılabilir.</td></tr><tr><td>Data[“hasoRefundFeeAmount”]</td><td>Decimal</td><td>İşlemin tamamı iade edilmişse ekstra tutar değeri bu parametre ile gönderilir.</td></tr></tbody></table>


# 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>


# 5.10 Müşteri Ödemelerini Getir

Haso sisteminde tanımlı bir müşterinin onaylanmış ödemelerini istediğiniz zaman bu metod ile  alabilirsiniz. İşlemler yeniden eskiye göre sayfalama ile listelenir.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="179">Parametre adı</th><th width="144">Parametre Tipi</th><th width="62">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>paymentStatuses</td><td>List&#x3C;int></td><td>O</td><td>Ödeme durumuna göre filtre yapılmak istenirse kullanılabilir. 0-Ödenmedi, 1-Ödendi, 2-Kısmi Ödeme, 3-Vadesi Geçmiş Ödeme, 4-İptal Edildi</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>Parametre adı </th><th>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>Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Data[“<mark style="color:red;">Payments</mark>”]</td><td>array</td><td>Müşteriye ait ödeme planını içerek json modeldir.</td></tr></tbody></table>

Payments Model içeriği şöyledir.

<table data-full-width="true"><thead><tr><th width="283">Parametre adı </th><th width="104">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Payments.paymentCode</td><td>String</td><td>Her ödeme için unique olan ödeme kodu değeridir.</td></tr><tr><td>Payments.merchantOid</td><td>String</td><td>Satıcı sipariş numarasıdır</td></tr><tr><td>Payments.InstallmentNo</td><td>Integer</td><td>Kaçıncı taksit olduğunu belirten değerdir.</td></tr><tr><td>Payments.InstallmentPayment</td><td>Decimal</td><td>Taksit tutarını belirten değerdir.</td></tr><tr><td>Payments.TermDate</td><td>DateTime</td><td>Taksit vade tarihidir.</td></tr><tr><td>Payments.PaymentStatus</td><td>Int</td><td>Taksit durum kodudur.</td></tr><tr><td>Payments.PaymentStatusText</td><td>String</td><td>Taksitin durumunu gösteren string ifadedir</td></tr><tr><td>Payments.overdueAmount</td><td>Decimal</td><td>Taksite ait gecikme ücreti</td></tr><tr><td>Payments.overdueRate</td><td>Decimal</td><td>Taksite ait gecikme oranı</td></tr><tr><td>Payments.overdueDate</td><td>DateTime</td><td>Taksite ait gecikmenin başlayacağı tarih</td></tr><tr><td>Payments.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>


# 5.11 Günlük Mutabakat servisleri

Günlük olarak sipariş, yapılan ödeme ve iade tutarlarını dönen servislerdir. Toplam tutarları  ve detaylı olarak dönüş yapan 2 endpoint bulunmaktadır.


# 5.11.1 Genel Mutabakat Servisi

Gönderilen tarih parametresine göre sipariş, yapılan ödeme ve iade toplam tutarlarını geri  döndürür.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="159">Parametre adı </th><th width="147">Parametre  Tipi</th><th width="64">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>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>settlementDate</td><td>Date</td><td>Z</td><td>Toplam tutarları öğrenmek istediğiniz tarih bilgisidir. Tarih formarı "yyyy-MM-dd" olmalıdır</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><mark style="color:red;">merchantId + ipAddress + settlementDate + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th>Parametre adı </th><th>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><tr><td>Data[“order”]</td><td>Dictionary&#x3C;<mark style="color:blue;">string</mark>, <mark style="color:blue;">object</mark>></td><td>Başarılı siparişlere ait Count ve TotalAmount değerlerini barındıran parametredir.</td></tr><tr><td>Data[“payment”]</td><td>Dictionary&#x3C;<mark style="color:blue;">string</mark>, <mark style="color:blue;">object</mark>></td><td>Belirtilen tarihde alınan ödeme kayıtlarının count ve Total Amount değerlerini içerir.</td></tr><tr><td>Data[“refund”]</td><td>Dictionary&#x3C;<mark style="color:blue;">string</mark>, <mark style="color:blue;">object</mark>></td><td>Belirtilen tarihlerde yapılan başarılı iadelerin count ve TotalAmount değerlerini içerir. TotalAmount değeri müşteriye iade edilecek tutardır (hasoRefundAmount)</td></tr></tbody></table>


# 5.11.2 Mutabakat Detay Servisi

Gönderilen tarih parametresine göre sipariş, yapılan ödeme ve iade tutarlarını sipariş numarası  ile birlikte array olarak geri döndürür.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="164">Parametre adı</th><th width="148">Parametre  Tipi</th><th width="62">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>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>settlementDate</td><td>Date</td><td>Z</td><td>Detaylı tutarları öğrenmek istediğiniz tarih bilgisidir. Tarih formarı "yyyy-MM-dd" olmalıdır</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><mark style="color:red;">merchantId + ipAddress + settlementDate + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="178">Parametre adı </th><th width="223">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><tr><td>Data[“order”]</td><td>Dictionary&#x3C;<mark style="color:blue;">string</mark>, <mark style="color:blue;">object</mark>></td><td>Başarılı siparişlere ait orderId ve Amount değerlerini içeren array parametredir.</td></tr><tr><td>Data[“payment”]</td><td>Dictionary&#x3C;<mark style="color:blue;">string</mark>, <mark style="color:blue;">object</mark>></td><td>Belirtilen tarihde alınan ödeme kayıtlarının orderId ve Amount değerlerini içeren array parametredir.</td></tr><tr><td>Data[“refund”]</td><td>Dictionary&#x3C;<mark style="color:blue;">string</mark>, <mark style="color:blue;">object</mark>></td><td>Belirtilen tarihlerde yapılan başarılı iadelerin orderId ve Amount değerlerini içeren array parametredir. Amount değeri müşteriye iade edilecek tutardır (hasoRefundAmount)</td></tr></tbody></table>


# 5.12. İcraya gönderilen işlemin Bildirilmesi

İcraya verilen müşterinin ilgili işlemin Hasoya bildirilmesi için kullanılır.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="171">Parametre adı</th><th width="143">Parametre Tipi</th><th width="66">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>transactionCode</td><td>String(20)</td><td>Z</td><td>Haso sistemindeki işlem numarası.</td></tr><tr><td>merchantOid</td><td>String(20)</td><td>Z</td><td>Kendi sisteminizde oluşturduğunuz sipariş için unique verdiğiniz sipariş numaranızdır.</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 + merchantOid + transactionCode + 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></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="226">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>


# 5.13. İcraya verilmiş işlemin Ödenmesi

İcraya verilmiş işlemin ödemesi alınırsa bu endpoint ile kayıt ödendi yapılır.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="227">Parametre adı </th><th width="144">Parametre Tipi </th><th width="67">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>transactionCode</td><td>String(20)</td><td>Z</td><td>Haso sistemindeki işlem numarası.</td></tr><tr><td>merchantOid</td><td>String(20)</td><td>Z</td><td>Kendi sisteminizde oluşturduğunuz sipariş için unique verdiğiniz sipariş numaranızdır.</td></tr><tr><td>PaymentDate</td><td>DateTime</td><td>Z</td><td>Ödemenin müşteriden alındığı tarihtir.</td></tr><tr><td>PaymentReferenceCode</td><td>String(60)</td><td>O</td><td>Kendi sisteminizde ödemenin alındığı ödeme kanalına ait referans numarasıdır. Opsiyoneldir.</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 + merchantOid + transactionCode + PaymentReferenceCode + PaymentDate + 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></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="223">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>


# 5.14 İcraya Verilen işlem için masraf tutarı girişi

İcraya verilen işlemler için KTVU ve diğer masraf tutarı gönderilir. Aynı işlem için farklı zamanlarda farklı masraflar gönderilirse toplam masraf değeri gönderilmelidir. Toplam masraf tutarı son taksite eklenir.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="234">Parametre adı </th><th width="150">Parametre  Tipi</th><th width="62">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>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>transactionCode</td><td>String</td><td>Z</td><td>Her işlemin sahip olduğu unique bir değerdir. Başvuru sonucunda ödeme planında size bu bilgi gönderilir.</td></tr><tr><td>merchantOid</td><td>String(20)</td><td>Z</td><td>Kendi sisteminizde oluşturduğunuz sipariş için unique verdiğiniz sipariş numaranızdır.</td></tr><tr><td>counterPartyAttorneyFee</td><td>String</td><td>Z</td><td>Ktvu tutarıdır. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır.</td></tr><tr><td>expenseAmount</td><td>String</td><td>Z</td><td>İcrada çıkan toplam masraf tutarıdır. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır.</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><mark style="color:red;">merchantId + merchantOid + transactionCode + counterPartyAttorneyFee + expenseAmount + ipAddress + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="307">Parametre adı</th><th width="224">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><tr><td>PaymentPlan.InstallmentNo</td><td>İnt</td><td>Ödeme planındaki taksit numarasıdır.</td></tr><tr><td>PaymentPlan.installmentPayment</td><td>Decimal</td><td>Ödeme planındaki taksitin tutarıdır.</td></tr><tr><td>PaymentPlan.termDate</td><td>Date</td><td>Ödeme planındaki taksidin vade tarihidir.</td></tr><tr><td>PaymentPlan.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>


# 5.15 Müşterinin GsmNo Değiştirilmesi

Sistemde var olan müşterinin telefon numarasını değiştirmek için kullanılır. Yeni telefon numarası müşterinin tckn’si ile kkb sisteminde sorgulanır. Kkb’de tanımlı olmayan telefon numarası reddedilir.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="157">Parametre adı</th><th width="145">Parametre Tipi </th><th width="66">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</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>newGsmNo</td><td>String(10)</td><td></td><td>Başında ülke kodu veya sıfır olmadan girilen 10 haneli cep telefonu numarasıdır. Örneğin 5161112233 formatında gönderilmelidir.</td></tr><tr><td>ipAddress</td><td>String</td><td>0</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 + ipAddress + customerId + newGsmNo + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="157">Parametre adı</th><th width="223">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><tr><td>data.message</td><td>String</td><td>Haso tarafından belirlenen açıklamalardır.</td></tr></tbody></table>


# 5.16 Müşterinin Durumunu Askıya Alınması

Fraud şüphesi görünen müşterinin durumunun askıya alınabilmesi için kullanılır. Askıya alınan  müşteri yeni işlem oluşturamaz.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="156">Parametre adı </th><th width="144">Parametre Tipi</th><th width="65">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</td><td>O*</td><td>Haso sisteminde müşterinin sahip olduğu unique değerdir. Limit tanımında size gönderilmişti.</td></tr><tr><td>merchantOid</td><td>String(20)</td><td>O*</td><td>Kendi sisteminizde oluşturduğunuz sipariş için unique verdiğiniz sipariş numaranızdır.</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 + merchantOid + customerId + ipAddress + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr></tbody></table>

&#x20;\* customerId veya merchantOid dolu olmalıdır.

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="157">Parametre adı </th><th width="223">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><tr><td>data.message</td><td>String</td><td>Haso tarafından belirlenen açıklamalardır.</td></tr></tbody></table>


# 5.17 Hata Kodları Listesi

Opsiyonel bir metodtur. Sistemde var olan hata kodlarının güncel halini liste halinde veren  servistir.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="154">Parametre adı</th><th width="146">Parametre Tipi </th><th width="64">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>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 + ipAddress + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th>Parametre adı</th><th>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><tr><td>Data[“ErrorCodes”]</td><td>List</td><td>Hata kodları ve açıklamasını içeren modeldir. Bu modele ait parametreler şöyledir.</td></tr><tr><td>ErrorCodes.errorCode</td><td>String</td><td>Sistemde unique olan hata kodudur.</td></tr><tr><td>ErrorCodes.message</td><td>String</td><td>Haso tarafından belirlenen açıklamalardır.</td></tr></tbody></table>


# 5.18 Müşteriye Özel Limit Tanımlanması

Müşterinin kendi limitine ilave olarak çalışan özel limit tanımlanması isteniyorsa bu endpoint  kullanılır.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="156">Parametre adı </th><th width="143">Parametre Tipi</th><th width="62">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</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>specialLimit</td><td>String</td><td>Z</td><td>Özel limit değeridir. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır.</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 + specialLimit + ipAddress + merhant_salt</mark> parametreleri ile 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.</td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="201">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><tr><td>ErrorCodes.message</td><td>String</td><td>Haso tarafından belirlenen açıklamalardır.</td></tr></tbody></table>


# 5.19 Müşteriye Bakiye Yüklenmesi

Müşterinin hesabına bakiye yüklemek bu endpoint kullanılır. Müşterinin bakiye tutarı ödenmemiş  bir taksitini karşıladığı an taksit tutarı kadar bakiye düşülür ve ilgili taksit kapatılır.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="227">Parametre adı</th><th width="143">Parametre Tipi</th><th width="64">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</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>balanceAmount</td><td>String</td><td>Z</td><td>Yüklenecek olan bakiye tutarıdır. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır.</td></tr><tr><td>paymentDate</td><td>Date</td><td>Z</td><td>Müşterinin ödemeyi yaptığı tarih</td></tr><tr><td>paymentReferenceCode</td><td>String</td><td>O</td><td>Satıcı tarafında oluşturulan, Ödeme işlemini tanımlayan referans kodudur.</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 + balanceAmount + ipAddress + merhant_salt</mark> parametreleri ile 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.</td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="201">Parametre adı</th><th width="228">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><tr><td>ErrorCodes.message</td><td>String</td><td>Haso tarafından belirlenen açıklamalardır.</td></tr></tbody></table>


# 5.20 Toplu Olarak Ödendi Bilgisinin Gönderilmesi

Haso dışında bir yapıdan ödeme alındığı zaman ödeme kaydının durumunu hasoda da Ödendi  yapılması için bu servis kullanılır. Birden fazla PaymentCode array olarak gönderilebilir.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="226">Parametre adı </th><th width="144">Parametre Tipi</th><th width="64">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>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>paymentCodes</td><td>List&#x3C;String></td><td>Z</td><td>Alınan tahsilat hangi ödeme kayıtları için yapılmışsa bu kayıtların paymentCode değerleri array olarak gönderilir.</td></tr><tr><td>merchantOid</td><td>String(20)</td><td>Z</td><td>Kendi sisteminizde oluşturduğunuz sipariş için unique verdiğiniz sipariş numaranızdır.</td></tr><tr><td>paymentDate</td><td>DateTime</td><td>Z</td><td>Ödemenin müşteriden alındığı tarihtir.</td></tr><tr><td>paymentReferenceCode</td><td>String</td><td>O</td><td>Kendi sisteminizde ödemenin alındığı ödeme kanalına ait referans numarasıdır. Opsiyoneldir.</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><mark style="color:red;">merchantId + merchantOid + paymentReferenceCode + paymentDate.ToString("yyyy-MM-dd") + ipAddress + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="222">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><tr><td>Data[“Message”]</td><td>String</td><td>RS100 kodu ile işlemin başarılı olduğunu belirtir.</td></tr><tr><td>Data[“paymentfunds”]</td><td>Dictionary&#x3C;<mark style="color:blue;">string</mark>, <mark style="color:blue;">object</mark>></td><td>Eğer payment fona aktarılmış ise fon bilgileri bu modelde aktarılır.</td></tr></tbody></table>


# 5.21. Satıcı Segmenti ile Ödeme planının Getirilmesi

Satıcı segmenti ödeme planındaki işlem ücretini etkiler. Bu sebeple satıcı segmenti ve sipariş tutarı parametreleri ile oluşacak olan taksit planını getirmek için kullanılır.Eğer satıcı segmenti Haso tarafında birden fazla segment ile ilişkili ise en yüksek işlem ücreti çıkacak Haso segmenti oranı ile ödeme planı hesaplanır.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="353">Parametre adı</th><th width="148">Parametre  Tipi</th><th width="64">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>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>dealerSegment</td><td>String</td><td>O</td><td>Müşterinin satıcı tarafındaki segmentidir</td></tr><tr><td>orderAmount</td><td>String</td><td>Z</td><td>Sipariş tutarı. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır.</td></tr><tr><td>notCalculateFees</td><td>Bool</td><td>O</td><td>Ekstra ücret hesaplanmaması isteniyorsa true gönderilmeli.</td></tr><tr><td>forceRiskFreeEvaluate</td><td>Bool</td><td>O</td><td>true geldiğinde riskli müşterilerden ilk taksiti peşin olarak almayacak şekilde ayarlanır</td></tr><tr><td>postponeSelected</td><td>Bool</td><td>O</td><td>Taksitler ertelemeli olarak hesaplanacak ise true gönderilir. False ise taksitlerde erteleme yapılmaz.</td></tr><tr><td>RevisedFeeRate</td><td>İnt</td><td>O</td><td>Fee değerinde yapılacak değişikliği belirten değerdir. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır. 0 gönderilirse veya gönderilmezse fee değerinde değişiklik yapılmaz. 20 gönderilirse yeni fee değeri orjinal feenin %20’sidir.</td></tr><tr><td>requestToken</td><td>String</td><td>Z</td><td><mark style="color:red;">merchantId + ipAddress + dealerSegment + orderAmount + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr><tr><td>basketList</td><td>List model</td><td>O</td><td>Sepette bulunan ürünleri aşağıdaki bilgileri gönderilirse erteleme, peşinat, taksit sayısı ve işlem ücreti gibi hesaplamalarda özelleştirme yapılabilir.</td></tr><tr><td>basketList.skuCode</td><td>String</td><td>O</td><td>Ürününüzün sku kodudur.</td></tr><tr><td>basketList.skudefinitionId</td><td>String</td><td>O</td><td>Ürün grubu kodudur.</td></tr><tr><td>basketList.skuAmount</td><td>İnt</td><td>O</td><td>Ürün tutarının 100 ile çarpılmış halidir.</td></tr><tr><td>basketList.skuMerchant</td><td>String</td><td>O</td><td>Ürünün satan satıcıya verdiğiniz koddur.</td></tr><tr><td>basketList.skuMerchantContributionRate</td><td>İnt</td><td>O</td><td>Taksit planında çıkan fee değerinin ürünün sepetteki oranına göre hangi satıcı ürünü için ne kadar fee olacağı hesaplanabilir. Böylelikle satıcı bazlı fee hesaplanabilir.</td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="155">Parametre adı</th><th width="224">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 müşteri limit bilgileri ile taksit değerleri vardır. Data parametresi içeriği ise şöyledir:

<table data-full-width="true"><thead><tr><th width="280">Parametre adı</th><th width="109">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Data[“FirstPaymentDate”]</td><td>DateTime</td><td>İlk ödeme günüdür</td></tr><tr><td>Data[“DownPaymentAmount”]</td><td>Decimal</td><td>Limit aşımı durumunda peşin alınacak tutar değeridir.</td></tr><tr><td>Data[“PostponeEnabled”]</td><td>Bool</td><td>Taksit Erteleme seçilip seçilemeyeceğini belirtir.</td></tr><tr><td>Data[“Installments”]</td><td>List</td><td>Sipariş tutarına göre kaç taksit olacaksa o sayıda item’a sahip bir liste gelir.</td></tr></tbody></table>

Listenin içindeki her bir taksit modeline ait alanlar ise şöyledir.

<table data-full-width="true"><thead><tr><th width="415.6666666666667">Parametre adı</th><th width="95">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>Installments.InstallmentNo</td><td>Int</td><td>Kaç taksit olacağını belirten taksit sayısıdır.</td></tr><tr><td>Installments.Price</td><td>Decimal</td><td>Taksit tutarıdır.</td></tr><tr><td>Installments.TransactionPrice</td><td>Decimal</td><td>Sipariş tutarıdır. Ekstra ücretler eklenmiş taksitler ilave olan tutar değildir. Taksitleri getirmek için orderAmount parametresi olarak gönderdiğiniz değerdir.</td></tr><tr><td>Installments.TotalAmount</td><td>Decimal</td><td>Toplam işlem tutarıdır.</td></tr><tr><td>Installments.downPayment</td><td>Decimal</td><td>Taksit kaydı eğer peşin alınacak ise bu tutar ile gösterilir.</td></tr><tr><td>Installments.Fee</td><td>Decimal</td><td>Sipariş tutarı haricinde ödenecek toplam ekstra tutardır.</td></tr><tr><td>Installments.originalFee</td><td>Decimal</td><td>Fee değerinde indirim yapıldığını göstermek için kullanılır. üstü çizili değerdir. İşlem ücreti listelerindeki değerdir.</td></tr><tr><td>Installments.feeDiscountCampaigns</td><td>List</td><td>Fee indirimi uygulanan kampanya adı ve indirim oranlarını listeler</td></tr><tr><td>Installments.merchantContributions</td><td>List</td><td>Requestte basketList parametresinde gönderilen skuMerchantContributionRate değerine göre hangi satıcının ne kadar işlem ücretini karşılayacağı gösterilir.</td></tr><tr><td>Installments.merchantContributions.skuCode</td><td>string</td><td>basketList ile gönderilen sku</td></tr><tr><td>Installments.merchantContributions.skuMerchant</td><td>string</td><td>basketList ile gönderilen merchant kodu</td></tr><tr><td>Installments.merchantContributions. skuMerchantContributionAmount</td><td>Decimal</td><td>Merchant için hesaplanan işlem ücreti katkı bedeli</td></tr><tr><td>Installments.PaymentPlan</td><td>List</td><td>Her taksit değeri için ödeme planını list olarak gösterir. Bu modele ait alt parametreler ise şöyledir.</td></tr><tr><td>Installments.PaymentPlan. InstallmentNo</td><td>Int</td><td>Ödeme planındaki taksit numarasıdır.</td></tr><tr><td>Installments.PaymentPlan. installmentPayment</td><td>Decimal</td><td>Ödeme planındaki taksitin tutarıdır.</td></tr><tr><td>Installments.PaymentPlan. termDate</td><td>Date</td><td>Ödeme planındaki taksidin vade tarihidir.</td></tr><tr><td>Installments.PaymentPlan.fee</td><td>Decimal</td><td>İşlemdeki fee değerinin taksit başına düşen değeri</td></tr><tr><td>Installments.PaymentPlan.originalFee</td><td>Decimal</td><td>İşlemdeki original fee değerinin taksit başına düşen değeri</td></tr></tbody></table>


# 5.22 Müşterinin Durumunun Tekrardan Aktif Edilmesi

Müşterinin durumunun tekrardan aktif edilmesi için kullanılır.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="156">Parametre adı </th><th width="144">Parametre Tipi</th><th width="65">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</td><td>O*</td><td>Haso sisteminde müşterinin sahip olduğu unique değerdir. Limit tanımında size gönderilmişti.</td></tr><tr><td>merchantOid</td><td>String(20)</td><td>O*</td><td>Kendi sisteminizde oluşturduğunuz sipariş için unique verdiğiniz sipariş numaranızdır.</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 + merchantOid + customerId + ipAddress + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr></tbody></table>

&#x20;\* customerId veya merchantOid dolu olmalıdır.

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="157">Parametre adı </th><th width="223">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><tr><td>data.message</td><td>String</td><td>Haso tarafından belirlenen açıklamalardır.</td></tr></tbody></table>


# 5.23 Taksit Oran Tanımları Listesi

Opsiyonel bir metodtur. Taksit işlem ücreti oranları ve kategori koduna göre maksimum taksit bilgilerinin güncel halini liste halinde veren  servistir.

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

#### Giriş Parametreleri

<table data-full-width="true"><thead><tr><th width="154">Parametre adı</th><th width="146">Parametre Tipi </th><th width="64">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>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 + ipAddress + merhant_salt</mark> parametreleri ile 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. token oluşturma için örnek kodlarımızı inceleyiniz.</td></tr></tbody></table>

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

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="353">Parametre adı</th><th>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><tr><td>Data[“GetInstallmentRates”]</td><td>object</td><td>Endpointin response modelidir.</td></tr><tr><td>GetInstallmentRates.RateAmounts</td><td>List&#x3C;object></td><td>Taksite göre işlem ücreti oranı bilgisini içeren liste modeli. Modelin parametreleri aşağıdaki gibidir.</td></tr><tr><td>RateAmounts.Installment</td><td>int</td><td>Taksit numarası</td></tr><tr><td>RateAmounts.Rate</td><td>decimal</td><td>İşlem ücreti oran bilgisi</td></tr><tr><td>RateAmounts.MinAmount</td><td>decimal</td><td>Taksit minimum geçerlilik  fiyatı</td></tr><tr><td>RateAmounts.MaxAmount</td><td>decimal</td><td>Taksit maksimum geçerlilik fiyatı</td></tr><tr><td>GetInstallmentRates.InstallmentAmounts</td><td>List&#x3C;object></td><td>Kategori koduna göre maksimum taksit bilgilerini içeren liste. Model parametreleri aşağıdaki gibidir.</td></tr><tr><td>InstallmentAmounts.DefinitionId</td><td>string</td><td>Kategori kodu</td></tr><tr><td>InstallmentAmounts.MaxInstallment</td><td>int</td><td>Maksimum taksit sayısı</td></tr><tr><td>InstallmentAmounts.MinAmount</td><td>decimal</td><td>Taksit minimum geçerlilik  fiyatı</td></tr><tr><td>InstallmentAmounts.MaxAmount</td><td>decimal</td><td>Taksit maksimum geçerlilik fiyatı</td></tr></tbody></table>


# 6. Enum Tanımları


# 6.1. İşlem Statüleri

| Enum No | Name                      |
| ------- | ------------------------- |
| 0       | Tanımsız                  |
| 1       | Tamamlanmadı              |
| 2       | Tamamlandı                |
| 3       | Reddedildi                |
| 4       | Pin Bekleniyor            |
| 5       | Kkb Sonuç Bekleniyor      |
| 6       | Sipariş Sonucu Bekleniyor |
| 7       | İptal Edildi              |
| 8       | Kısmi İade                |
| 9       | Peşin Ödeme Bekleniyor    |


# 6.2. Taksit Statüleri

| Enum No | Name                        |
| ------- | --------------------------- |
| 0       | Ödenmedi                    |
| 1       | Ödendi                      |
| 2       | Kısmi Ödeme                 |
| 3       | Vadesi Geçmiş Ödeme         |
| 4       | İptal Edildi                |
| 5       | Kargo Ödemesi               |
| 6       | Ekstra Tutar olarak Eklendi |
| 7       | İcra takibinde              |
| 8       | İcraya Gönderildi           |
| 9       | İcradan Ödendi              |
| 10      | Temlik                      |


