> 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/2.-cuzdan/13.-para-transferi-wallet.md).

# 13. Para Transferi (Wallet)

## Cüzdan 'Id' ile **Para Transferi**

<mark style="color:yellow;">`POST`</mark> `{{WalletUrl}}/api/v1/wallet/transfer`

{% 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>Servisi kullanabilmek için gerekli olan genel API anahtarı.</td></tr><tr><td>apiclientpublic</td><td>string</td><td>Evet</td><td>Servis erişimi için gerekli olan istemci kimliği.</td></tr></tbody></table>

</details>

<details>

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

<table><thead><tr><th width="162">Parametre</th><th width="99">Tip</th><th width="102">Zorunlu</th><th width="403">Açıklama</th></tr></thead><tbody><tr><td>SourceWalletId</td><td>Guid</td><td>Evet</td><td>Para'nın çıkacağı hesabın kimlik bilgisi</td></tr><tr><td>DestinationWalletId</td><td>Guid</td><td>Evet</td><td>Para'nın iletileceği hesabın kimlik bilgisi</td></tr><tr><td>Amount</td><td>decimal</td><td>Evet</td><td>Transfer edilecek tutar.</td></tr><tr><td>Description</td><td>string</td><td>Hayır</td><td>İşleme ait açıklama veya not. Opsiyoneldir.</td></tr><tr><td>ExternalReference</td><td>string</td><td>Evet</td><td>Kendi sisteminizdeki işleme ait benzersiz referans numarası. Aynı referansın tekrar gönderilmesi durumunda işlem reddedilebilir</td></tr><tr><td>ExternalTransactionTypeId</td><td>Guid</td><td>Hayır</td><td>Kendi sisteminizdeki işlem tipini UUID olarak belirtir. <code>ExternalTransactionTypeEnum</code> ile birlikte kullanılabilir, ikisi birbirinin alternatifidir.</td></tr><tr><td>ExternalTransactionTypeEnum</td><td>string</td><td>Hayır</td><td>Kendi sisteminizdeki işlem tipini string olarak belirtir. <code>ExternalTransactionTypeId</code> ile birlikte kullanılabilir, ikisi birbirinin alternatifidir.</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" %}

* Kaynak ve hedef cüzdanların Merchant altında aktif olarak kayıtlı olması gerekmektedir.
* Kaynak ve hedef cüzdan farklı olmalıdır, aynı cüzdana transfer yapılamaz.
* Transfer yalnızca aynı para birimine sahip cüzdanlar arasında gerçekleştirilebilir.
* Silinmiş veya dondurulmuş kaynak ya da hedef cüzdanlar üzerinde işlem gerçekleştirilemez.
* `Amount` sıfırdan büyük olmalıdır.
* `ExternalReference` aynı Merchant kapsamında benzersiz olmalıdır.
* `ExternalTransactionType` gönderildiğinde sistemde tanımlı ve aktif olmalıdır. İlgili işlem tipine özel limitler uygulanır, genel transfer limitleri dikkate alınmaz.
* `ExternalTransactionType` gönderilmediğinde genel transfer limitleri uygulanır.
* İşlem öncesinde kaynak cüzdanın kullanılabilir bakiyesi, transfer tutarı ve varsa komisyon tutarını karşılamalıdır.
* Aynı kaynak cüzdana 2 saniye içinde tekrar gönderilen transfer istekleri reddedilir.
* Kaynak ve hedef cüzdanlar için ayrı komisyon hesaplanabilir; her komisyon ilgili cüzdanın bakiyesinden düşülür.
* Transfer işlemlerinde cashback veya bonus uygulanmaz.
  {% endhint %}

</details>

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

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

```json
{
    "SourceWalletId": "eb6d76b1-eddc-4ce4-8538-93696ff15fa2",
    "DestinationWalletId": "1fef5f3f-3c7b-4aa7-b0dd-713ba391765d",
    "Amount": 10.00,
    "Description": "transfer",
    "ExternalReference": "4dcac110-5511-4cdf-9047-c27bfdb203fb",
    "ExternalTransactionTypeId": null,
    "ExternalTransactionTypeEnum": null
}
```

{% 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.</td></tr><tr><td>IsSuccess</td><td>bool</td><td>İşlemin başarılı olup olmadığını belirtir.</td></tr><tr><td>Errors</td><td>Array</td><td>İşlem sırasında oluşan hata mesajlarını içerir.</td></tr><tr><td>Value</td><td>Array&#x3C;Items></td><td>İşlem sonucu dönen veri kümesini içerir.</td></tr><tr><td>TransferId</td><td>Guid</td><td>Transfer işleminin kimlik bilgisi</td></tr><tr><td>SourceTransactionId</td><td>Guid</td><td>Kaynak cüzdan hesabı için üretilmiş işlemin kimlik bilgisi</td></tr><tr><td>DestinationTransactionId</td><td>Guid</td><td>Alıcı cüzdan hesabı için üretilmiş işlemin kimlik bilgisi</td></tr><tr><td>SourceWalletId</td><td>Guid</td><td>Kaynak cüzdan kimlik bilgisi</td></tr><tr><td>DestinationWalletId</td><td>Guid</td><td>Alıcı cüzdan kimlik bilgisi</td></tr><tr><td>SourceWalletBalanceAfterTransaction</td><td>decimal</td><td>Kaynak cüzdanın işlem sonrasındaki bakiyesi</td></tr><tr><td>DestinationWalletBalanceAfterTransaction</td><td>decimal</td><td>Alıcı cüzdanın işlem sonrasındaki bakiyesi</td></tr></tbody></table>

</details>

{% tabs %}
{% tab title="JSON" %}
{% code lineNumbers="true" %}

```json
{
    "IsSuccess": true,
    "IsFailure": false,
    "Value": {
        "TransferId": "58b33aa2-815d-4e03-977d-a7ce72615988",
        "SourceTransactionId": "6077149a-6eb2-4a18-844b-54afcfd1346f",
        "DestinationTransactionId": "644f2da5-7404-40bf-9284-3a3800407a9d",
        "SourceWalletId": "7883fb19-2359-4a9b-b917-f08a259898ed",
        "DestinationWalletId": "2ea244d1-6ed2-4eca-a84b-273c62f64606",
        "SourceWalletBalanceAfterTransaction": 0.80,
        "DestinationWalletBalanceAfterTransaction": 2.00
    }
}
```

{% endcode %}
{% endtab %}
{% endtabs %}
