> For the complete documentation index, see [llms.txt](https://developer.paywall.one/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.paywall.one/cuzdan-servisleri/8.-komisyon-yonetimi/1.-olustur-sistem-seviyesi.md).

# 1. Oluştur (Sistem Seviyesi)

## Sistem Genelinde Komisyon Oluştur

<mark style="color:yellow;">`POST`</mark>`{{WalletUrl}}/api/v1/commission/by/merchant`&#x20;

{% hint style="info" %}
Not: Bu servisin kullanılabilmesi için **apikeypublic** ve **apiclientpublic** parametrelerinin Header alanına eklenmiş olması zorunludur.

\
[<mark style="color:green;">**WalletAPI Adresi**</mark>](/ortam.md)
{% endhint %}

**Gerekli header ve istek parametreleri:**

<details>

<summary><strong>Zorunlu header parametreleri</strong></summary>

<table><thead><tr><th width="162">Parametre</th><th width="79">Tip</th><th width="107">Zorunlu</th><th width="403">Açıklama</th></tr></thead><tbody><tr><td>apikeypublic</td><td>string</td><td>Evet</td><td>Servise erişim için kullanılan genel anahtar bilgisidir.</td></tr><tr><td>apiclientpublic</td><td>string</td><td>Evet</td><td>Uygulamanın kimliğini temsil eden genel erişim anahtarıdır.</td></tr></tbody></table>

</details>

<details>

<summary><strong>İstek gövdesi parametreleri</strong></summary>

<table><thead><tr><th width="172">Parametre</th><th width="105">Tip</th><th width="107">Zorunlu</th><th width="403">Açıklama</th></tr></thead><tbody><tr><td>TransactionType</td><td>integer</td><td>Evet</td><td>Komisyonun uygulanacağı işlem tipi</td></tr><tr><td>FeeType</td><td>integer</td><td>Evet</td><td>Komisyon ücret tipi. <code>1</code> = <code>Fixed</code> (Sabit tutar), <code>2</code> = <code>Percentage</code> (Yüzde)</td></tr><tr><td>FeeValue</td><td>decimal</td><td>Evet</td><td>Komisyon değeri. <code>FeeType</code> = <code>Fixed</code> ise sabit tutar, <code>Percentage</code> ise yüzde değeri. <code>0</code> ile <code>1000</code> arasında olmalıdır</td></tr><tr><td>CurrencyCode</td><td>string</td><td>Evet</td><td>Komisyonun geçerli olduğu para birimi kodu. 3 karakter olmalıdır.</td></tr><tr><td>ConditionType</td><td>integer</td><td>Hayır</td><td>Komisyonun uygulanma koşulu tipi</td></tr><tr><td>ConditionThreshold</td><td>decimal</td><td>Evet</td><td>Komisyon koşulunun eşik değeri. Sıfır veya sıfırdan büyük olmalıdır</td></tr></tbody></table>

</details>

<details>

<summary><i class="fa-memo-circle-info">:memo-circle-info:</i>   <mark style="color:blue;"><strong><code>İş Kuralları</code></strong></mark></summary>

{% hint style="info" %}

* `CurrencyCode` sistemde tanımlı ve geçerli bir para birimine karşılık gelmelidir.
* Aynı `TransactionType` ve `CurrencyCode` kombinasyonu için yalnızca bir komisyon tanımı oluşturulabilir. Bu kombinasyon için mevcut bir kayıt varsa yeni kayıt oluşturulamaz.
* `ConditionType` değeri `None` dışında seçildiğinde `ConditionThreshold` alanı koşul eşik değeri olarak kullanılır.
  {% endhint %}

</details>

**Servise gönderilecek örnek bir JSON dosyası şu şekildedir :**

{% tabs %}
{% tab title="JSON" %}

```json
{
    "TransactionType": 1,
    "FeeType": 1,
    "FeeValue": 12.00,
    "CurrencyCode": "TRY",
    "ConditionType": 1,
    "ConditionThreshold": 1.00
}
```

{% endtab %}
{% endtabs %}

**Servisten dönen parametreler şu şekildedir:**

<details>

<summary><strong>Parametreler ve açıklamaları</strong></summary>

<table><thead><tr><th width="234.05859375">Parametre</th><th width="162.38671875">Tip</th><th width="348.94140625">Açıklama</th></tr></thead><tbody><tr><td>IsFailure</td><td>bool</td><td>İşlemin başarısız olup olmadığını belirtir. true ise hata olmuştur.</td></tr><tr><td>IsSuccess</td><td>bool</td><td>İşlemin başarılı olup olmadığını belirtir. true ise başarıyla tamamlanmıştır.</td></tr><tr><td>Errors</td><td>Array</td><td>Oluşan hata/hatalar varsa detaylarını içeren dizi.</td></tr><tr><td>Value</td><td>Array</td><td>Başarılı yanıt durumunda dönen asıl veri içeriğini barındırır.</td></tr><tr><td>Id</td><td>Guid</td><td>Komisyona ait benzersiz kimlik numarası.</td></tr><tr><td>Level</td><td>string</td><td>Komisyon seviyesi<br><br>Bkz: <a href="/pages/ACAfPze7oCfne9o0D4f4">Komisyon Seviyeleri</a></td></tr><tr><td>MerchantId</td><td>int</td><td>Üye işyeri (sizin) Paywall kimlik bilginiz</td></tr><tr><td>TransactionType</td><td>string</td><td>Komisyonun alınacağı işlemin tipi<br><br>Bkz: <a href="/pages/QEOVFuQcZJCoS7x5zE4c">İşlem Tipleri</a></td></tr><tr><td>FeeType</td><td>string</td><td>Komisyonun alınacağı tip bilgisi<br><br>Bkz: <a href="/pages/BcidZpSf8tyYEOuK5QQ7">Maliyet Tipleri</a></td></tr><tr><td>FeeValue</td><td>decimal</td><td>Komisyon maliyetinin değeri</td></tr><tr><td>ConditionType</td><td>string</td><td>Komisyonun koşul tipi<br><br>Bkz: <a href="/pages/lPBupitvvqzHYZNOPUq8">Koşul Tipleri</a></td></tr><tr><td>ConditionThreshold</td><td>decimal</td><td>Komisyonun koşul değeri</td></tr><tr><td>CurrencyCode</td><td>string</td><td>Komisyonun uygulanacağı para birimi</td></tr><tr><td>IsActive</td><td>bool</td><td>Komisyonun aktiflik durumu</td></tr><tr><td>CreatedAt</td><td>DateTime</td><td>Kaydın oluşturulma tarihi</td></tr><tr><td>UpdatedAt</td><td>DateTime</td><td>Kaydın güncellenme tarihi</td></tr></tbody></table>

</details>

{% tabs %}
{% tab title="JSON" %}

```json
{
    "IsSuccess": true,
    "IsFailure": false,
    "Value": {
        "Id": "ff99509c-8f41-4adf-bd43-fdfffa4c6e12",
        "Level": "Merchant",
        "TransactionType": "Withdrawal",
        "FeeType": "Fixed",
        "FeeValue": 12,
        "ConditionType": "TransactionCount",
        "ConditionThreshold": 1,
        "CurrencyCode": "EUR",
        "IsActive": true,
        "CreatedAt": "2025-08-20T15:10:30.0603275Z",
        "UpdatedAt": null
    }
}
```

{% endtab %}
{% endtabs %}
