> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tahsilat.com/llms.txt
> Use this file to discover all available pages before exploring further.

# İade İşlemi

> Modern ödeme altyapısı için güçlü ve esnek API çözümü

Tamamlanmış ödemelerinizin iadesini Tahsilat API üzerinden gerçekleştirebilirsiniz. İade isteğiniz, onay beklemeden anında bankaya iletilir ve yanıt kesindir: `status: true` dönerse iade **tamamlanmış** ve tutar bakiyenizden düşülmüştür; `status: false` dönerse iade **gerçekleşmemiştir**.

***

<Note>
  Bir işlem için iade ya da kısmi iade sonuçlanana kadar aynı işlem üzerinde yeni bir iade başlatılamaz.
</Note>

<Warning>
  İade işlemi geri alınamaz. Tutar gönderilmediği takdirde işlem tutarının tamamı iade edilir; kısmi iade için `amount` parametresini kullanın.
</Warning>

<br />

İstek:

<CodeGroup>
  ```php PHP theme={null}
  $tahsilat = new TahsilatClient('sk_test_rwwg...');

  $transaction = $tahsilat->transactions->refund([
      'transaction_id' => 12345678912345,
      'amount' => 10050,
      'description' => 'Test refund description',
  ]);
  ```

  ```csharp .NET theme={null}
  var tahsilat = new TahsilatClient("sk_test_rwwg...");

  var request = new RefundCreateRequest
   {
       TransactionId = 12345678912345,
       Amount = 10050,
       Description = "Test refund description"
   };

  var response = await tahsilat.Transactions.RefundAsync(request);
  ```

  ```curl cURL theme={null}
  curl -L 'https://api.tahsilat.com/v1/transaction/refund' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Accept-Language: tr' \
  -H 'Authorization: Bearer {access_token}' \
  -d 'transaction_id=1234567891234' \
  -d 'amount=61900' \
  -d 'description=Test Refund'
  ```
</CodeGroup>

Yanıt:

<CodeGroup>
  ```php PHP theme={null}
  ^ Tahsilat\Resource\Refund {
      "status": true
      "message": "İade işlemi başarıyla gerçekleştirildi ve tutar bakiyenizden düşüldü."
      "errors": []
      "error_code": null
      "data": null
  }
  ```

  ```csharp .NET theme={null}
  {
  	"Status": true,
  	"Message": "İade işlemi başarıyla gerçekleştirildi ve tutar bakiyenizden düşüldü.",
  	"ErrorCode": null,
  	"Data": null
  }
  ```
</CodeGroup>

<Warning>
  Banka iadeyi kabul etmezse yanıt `status: false` döner ve `message` alanında bankanın gerekçesi yer alır. `status: false` yanıtında iade **gerçekleşmemiştir**; işlem eski durumuna döner ve aynı istekle yeniden deneyebilirsiniz.
</Warning>

## Zorunlu ve İsteğe Bağlı Parametreler

<ResponseField name="transaction_id" type="integer" required>
  Ödeme ile ilişkili işlem ID'si. Bu değer, Tahsilat API tarafından oluşturulan benzersiz bir kimliktir ve her işlem için gereklidir.
</ResponseField>

<ResponseField name="amount" type="integer" required>
  İade edilecek tutar. Bu parametre isteğe bağlıdır, ancak iade tutarını belirlemek için önerilir. Gönderilmediği takdirde, iade tutarı işlem tutarı ile aynı olacaktır.
</ResponseField>

<ResponseField name="description" type="string" required>
  İade için zorunlu açıklama. Bu parametre, iade işleminin nedenini belirtmek için kullanılabilir.
</ResponseField>

<div className="panels">
  <Panel>
    İstek

    <CodeGroup>
      ```php PHP theme={null}
      $tahsilat = new TahsilatClient('sk_test_rwwg...');

      $transaction = $tahsilat->transactions->refund([
          'transaction_id' => 12345678912345,
          'amount' => 10050,
          'description' => 'Test refund description',
      ]);
      ```

      ```csharp .NET theme={null}
      var tahsilat = new TahsilatClient("sk_test_rwwg...");

      var request = new RefundCreateRequest
      {
          TransactionId = 12345678912345,
          Amount = 10050,
          Description = "Test refund description"
      };

      var response = await tahsilat.Transactions.RefundAsync(request);
      ```

      ```curl cURL theme={null}
      curl -L 'https://api.tahsilat.com/v1/transaction/refund' \
      -H 'Content-Type: application/x-www-form-urlencoded' \
      -H 'Accept-Language: tr' \
      -H 'Authorization: Bearer {access_token}' \
      -d 'transaction_id=1234567891234' \
      -d 'amount=61900' \
      -d 'description=Test Refund'
      ```
    </CodeGroup>

    <br />

    Yanıt

    <CodeGroup>
      ```php PHP theme={null}
      ^ Tahsilat\Resource\Refund {
          "status": true
          "message": "İade işlemi başarıyla gerçekleştirildi ve tutar bakiyenizden düşüldü."
          "errors": []
          "error_code": null
          "data": null
      }
      ```

      ```csharp .NET theme={null}
      {
        "Status": true,
        "Message": "İade işlemi başarıyla gerçekleştirildi ve tutar bakiyenizden düşüldü.",
        "ErrorCode": null,
        "Data": null
      }
      ```
    </CodeGroup>

    <Note>
      Bu uç nokta yalnızca secret key ile alınan access token üzerinden çağrılır.
      Secret key sadece arka uçta kullanılmalı ve asla istemci tarafında açıkta olmamalıdır.
    </Note>
  </Panel>
</div>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.