> 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/21.-satis-harcama-iade.md).

# 21. Satış/Harcama İade

## Satın Alma İadesi Başlat&#x20;

<mark style="color:yellow;">`POST`</mark>`{{WalletUrl}}/api/v1/wallet/purchase/refund`&#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>API erişimi için kullanılan genel anahtar.</td></tr><tr><td>apiclientpublic</td><td>string</td><td>Evet</td><td>İstemci uygulamasını tanımlayan genel anahtar.</td></tr></tbody></table>

</details>

<details>

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

<table><thead><tr><th width="171">Parametre</th><th width="118.89192708333331">Tip</th><th width="106">Zorunlu</th><th>Açıklama</th></tr></thead><tbody><tr><td>ExternalReference</td><td>string</td><td>Hayır</td><td>Satış/Harcama işlemine ait takip numarası. İşlemin gerçekleştiği anda sizin tarafınızdan verilen değerdir</td></tr><tr><td>RollbackFee</td><td>bool</td><td>Evet</td><td>İlgili işlem sonucunda uygulanan (<mark style="color:blue;">uygulandıysa</mark>) komisyonlar geri çekilsin mi?</td></tr><tr><td>RollbackCashback</td><td>bool</td><td>Hayır</td><td>İlgili işlem sonucunda uygulanan (<mark style="color:blue;">uygulandıysa</mark>) cashback geri çekilsin mi?</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` zorunludur ve sistemde tanımlı geçerli bir para birimine karşılık gelmelidir.
* `LimitCategory` değeri `ExternalTransactionType` dışında bir değer iken `ExternalTransactionTypeId` veya `ExternalTransactionTypeEnum` gönderilemez.
* `LimitCategory` değeri `ExternalTransactionType` ise işlem tipinin `ExternalTransactionTypeId` veya `ExternalTransactionTypeEnum` aracılığıyla belirtilmesi zorunludur.
* `LimitCategory` değeri `ExternalTransactionType` ise belirtilen işlem tipi sistemde tanımlı ve aktif olmalıdır.
* Aynı `LimitType`, `LimitCategory`, `LimitApproach`, `CurrencyCode`, `RegionId` ve `ExternalTransactionType` kombinasyonuna sahip limit kaydı zaten varsa yeni kayıt oluşturulamaz.
  {% endhint %}

</details>

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

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

```json
{
  "ExternalReference": "bea70a60-c631-4c3e-963a-6188ef449601",
  "RollbackFee": true,
  "RollbackCashback": true
}
```

{% endtab %}
{% endtabs %}

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

<details>

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

<table><thead><tr><th width="180.05859375">Parametre</th><th width="121.38671875">Tip</th><th width="348.94140625">Açıklama</th></tr></thead><tbody><tr><td>Id</td><td>Guid</td><td>İşleme ait sistem tarafından üretilen benzersiz kimlik numarasıdır. UUID formatındadır.</td></tr><tr><td>WalletId</td><td>String</td><td>İşlemin yapıldığı cüzdanın sistemdeki kimlik numarasıdır. Hangi cüzdanla ilişkili olduğunu gösterir.</td></tr><tr><td>Alias</td><td>String</td><td>İşlemin yapıldığı cüzdanın alias'ı</td></tr><tr><td>TransactionType</td><td>String</td><td>İşlemin tipini belirtir. Örneğin "Ödeme", "İade", "Transfer" gibi işlemleri tanımlar.</td></tr><tr><td>Amount</td><td>Decimal</td><td>Gerçekleştirilen işlemin tutarıdır. Para birimi üzerinden ifade edilir.</td></tr><tr><td>GiftAmount</td><td>Decimal</td><td>İşlemde kullanılan hediye bakiye miktarıdır. Normal bakiyeden farklı olarak promosyonel kullanımı temsil eder.</td></tr><tr><td>Description</td><td>String</td><td>İşleme dair açıklayıcı bilgidir. Kullanıcı tarafından veya sistem tarafından yazılabilir.</td></tr><tr><td>ExternalReference</td><td>String</td><td>İşleme dış kaynaklı bir sistem üzerinden verilen referans numarasıdır. Genellikle entegrasyon sistemleri için kullanılır.</td></tr><tr><td>CreatedAt</td><td>DateTime</td><td>İşlemin oluşturulduğu tarih ve saat bilgisidir. UTC veya sistem saatine göre kaydedilir.</td></tr><tr><td>UpdatedAt</td><td>DateTime</td><td>İşlemin en son güncellendiği tarih ve saat bilgisidir. Bir değişiklik olduğunda güncellenir.</td></tr><tr><td>BalanceAfterTransaction</td><td>Decimal</td><td>İşlem gerçekleştikten sonra cüzdanda kalan bakiye miktarıdır. Hesap güncellemeleri sonrası değeri ifade eder.</td></tr><tr><td>SourceWalletId</td><td>Guid</td><td>Transfer işlemlerinde kaynak cüzdanın tanımlayıcısı</td></tr><tr><td>DestinationWalletId</td><td>Guid</td><td>Transfer işlemlerinde hedef cüzdanın tanımlayıcısı.</td></tr><tr><td>GiftBalanceId</td><td>Guid</td><td>Varsa işlemle ilişkili hediye bakiye kaydının tanımlayıcısı.</td></tr><tr><td>MainTransactionId</td><td>Guid</td><td>Varsa bu işlemin bağlı olduğu ana işlemin tanımlayıcısı</td></tr><tr><td>UniqueCode</td><td>String</td><td>İşleme ait benzersiz kod</td></tr><tr><td>UsedGiftBalances</td><td>array</td><td>İşlemde kullanılan hediye bakiyelerin listesi</td></tr><tr><td><mark style="color:yellow;">UsedGiftBalances</mark> > Id</td><td>guid</td><td>Kullanılan hediye bakiye kaydının benzersiz tanımlayıcısı</td></tr><tr><td><mark style="color:yellow;">UsedGiftBalances</mark> > Amount</td><td>decimal</td><td>Bu işlemde kullanılan hediye bakiye tutarı</td></tr><tr><td><mark style="color:yellow;">UsedGiftBalances</mark> > ExpirationDate</td><td>datetime</td><td>Hediye bakiyenin son kullanma tarihi. <code>null</code> ise süresizdir</td></tr><tr><td><mark style="color:yellow;">UsedGiftBalances</mark> > IsUnlimited</td><td>bool</td><td><code>ExpirationDate</code> değeri <code>null</code> ise <code>true</code> döner, hediye bakiyenin süresiz olduğunu belirtir</td></tr><tr><td><mark style="color:yellow;">UsedGiftBalances</mark> > Description</td><td>string</td><td>Hediye bakiyeye ait açıklama veya not</td></tr><tr><td>CashbackAmount</td><td>decimal</td><td>Varsa işleme ait cashback tutarı</td></tr><tr><td>ExternalTransactionTypeId</td><td>guid</td><td>Kendi sisteminizdeki işlem tipinin UUID tanımlayıcısı</td></tr><tr><td>ExternalTransactionTypeEnum</td><td>string</td><td>Kendi sisteminizdeki işlem tipinin string değeri</td></tr><tr><td>ExternalTransactionTypeName</td><td>string</td><td>Kendi sisteminizdeki işlem tipinin görünen adı</td></tr></tbody></table>

</details>

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

```json
{
    "IsSuccess": true,
    "IsFailure": false,
    "Value": {
        "Id": "c7cbc07d-1241-4e15-9717-4dcd844c5e82",
        "WalletId": "7883fb19-2359-4a9b-b917-f08a259898ed",
        "Alias": "2816220769",
        "TransactionType": "Refund",
        "Amount": 10.00,
        "GiftAmount": null,
        "Description": "Refund of Purchase 4dcac110-5511-4cdf-9047-c27bfdb203fb",
        "ExternalReference": "4dcac110-5511-4cdf-9047-c27bfdb203fb",
        "CreatedAt": "2025-08-20T11:58:38.6516191Z",
        "UpdatedAt": null,
        "BalanceAfterTransaction": 110.00,
        "BlockedBalanceAfterTransaction": 0.00,
        "AvailableBalanceAfterTransaction": 110.00,
        "GiftBalanceBalanceAfterTransaction": 0.00,
        "CurrencyCode": "TRY",
        "SourceWalletId": null,
        "DestinationWalletId": null,
        "GiftBalanceId": null,
        "MainTransactionId": "24d912c2-11b1-4fdf-b0e7-6483e526e523",
        "UniqueCode": "48d3f9b5-3bd4-4393-8b64-935ec0009fd8",
        "UsedGiftBalances": null,
        "CashbackAmount": 0.00,
        "ExternalTransactionTypeId": null,
        "ExternalTransactionTypeEnum": null,
        "ExternalTransactionTypeName": null
    }
}
```

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