> 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/odeme-servisi/9.-iade/2.-paywall-islem-numarasi.md).

# 2. Paywall İşlem Numarası

## Paywall İşlem Numarası ile İade

<mark style="color:green;">`POST`</mark> `{{Private Base Address}}/api/paywall/private/refund/by/uniquecode`

Yukarıda verilmiş olan adrese istek atmanız yeterli olacaktır. Test ortamı ve Gerçek ortam için 'Base Address' istediğiniz gibi kullanabilirsiniz.

{% hint style="info" %}
Önemli: **Paywall İşlem Numarası ile İade** servisini kullanabilmeniz için 'Header' alanında '**apikeyprivate**' ve '**apiclientprivate**' parametrelerini göndermeniz gerekmektedir.\
\
[<mark style="color:green;">**PaymentPrivateAPI Adresi**</mark>](/ortam.md)
{% endhint %}

**Gerekli header ve istek parametreleri:**

<details>

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

<table><thead><tr><th width="182">Parametre</th><th width="76.33333333333331">Tip</th><th width="97">Zorunlu</th><th>Açıklama</th></tr></thead><tbody><tr><td>apikeyprivate</td><td>string</td><td>Evet</td><td>Üye işyeri panelinden temin etmiş olduğunuz Private Key.</td></tr><tr><td>apiclientprivate</td><td>string</td><td>Evet</td><td>Üye işyeri panelinden temin etmiş olduğunuz Private Client.</td></tr></tbody></table>

</details>

<details>

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

<table><thead><tr><th width="215">Parametre</th><th width="78">Tip</th><th width="96">Zorunlu</th><th>Açıklama</th></tr></thead><tbody><tr><td>Date</td><td>date</td><td>Evet</td><td>Ödeme'nin gerçekleştiği tarih bilgisi</td></tr><tr><td>UniqueCode</td><td>Guid</td><td>Evet</td><td>Ödeme başlatma sonrasında Paywall'dan gelen cevap nesnesi içerisinde yer alan <code>UniqueCode</code> parametresi içerisindeki bilgidir</td></tr><tr><td>MarketPlace:DeleteExistingRecords</td><td>bool</td><td>Hayır</td><td>Pazaryeri kapsamında ilgili ödemenin hakediş onayının verilmesi durumunda, bu parametre true gönderilmelidir. True gönderilmesi durumunda var olan hakedişler, iptal emrinin başarılı olması sonrasında silinir</td></tr><tr><td>CompletePartialRefund</td><td>bool</td><td>Hayır</td><td>İlgili ödeme için öncesinde kısmi iade yapıldıya, yapılan kısmi iade ana tutardan düşülür ve kalan tutar için tekrar kısmi iade emriyle, iade işlemi tamamlanır</td></tr></tbody></table>

</details>

**Servise gönderilmesi gereken parametreler şu şekildedir :**

{% tabs %}
{% tab title="Json" %}
{% code overflow="wrap" lineNumbers="true" %}

```json5
{
    "Date": "2023-02-07",
    "UniqueCode": "0000-0000-0000-0000-0000",
    "CompletePartialRefund": false,
    "MarketPlace": { // nullable
        "DeleteExistingRecords": false
    }
}
```

{% endcode %}
{% endtab %}

{% tab title="C#" %}

```csharp
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

public class Program
{
    private static readonly HttpClient client = new HttpClient();

    private static async Task Main()
    {
        var data = new 
        {
            Date = "2023-02-07",
            MerchantUniqueCode = "AA90T0SD0ASF99"
        };
        var content = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json");
        content.Headers.Add("apikeyprivate", "%PRIVATEKEY%");
        content.Headers.Add("apiclientprivate", "%PRIVATECLIENT%");

        var response = await client.PostAsync("{{Private Base Address}}/api/paywall/private/refund", content);

        var responseString = await response.Content.ReadAsStringAsync();
        Console.WriteLine(responseString);
    }
}
```

{% endtab %}

{% tab title="GO" %}

```go
package main

import (
    "bytes"
    "fmt"
    "io/ioutil"
    "net/http"
    "encoding/json"
)

func main() {
    url := "{{Private Base Address}}/api/paywall/private/refund"
    data := map[string]string{
        "Date": "2023-02-07",
        "MerchantUniqueCode": "AA90T0SD0ASF99",
    }
    reqBody, _ := json.Marshal(data)
    
    req, _ := http.NewRequest("POST", url, bytes.NewBuffer(reqBody))
    req.Header.Set("Content-Type", "application/json")
    req.Header.Set("apikeyprivate", "%PRIVATEKEY%")
    req.Header.Set("apiclientprivate", "%PRIVATECLIENT%")
    
    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()
    
    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}
```

{% endtab %}

{% tab title="Java" %}

```java
import java.net.http.HttpClient;
import java.net.http.HttpHeaders;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import java.net.http.HttpResponse.BodyHandlers;
import java.util.HashMap;
import java.util.Map;

public class Main {

    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();

        Map<String, String> values = new HashMap<String, String>() {{
            put("Date", "2023-02-07");
            put("MerchantUniqueCode", "AA90T0SD0ASF99");
        }};

        String requestBody = new ObjectMapper().writeValueAsString(values);

        HttpRequest request = HttpRequest.newBuilder()
                .uri(new URI("{{Private Base Address}}/api/paywall/private/refund"))
                .setHeader("Content-Type", "application/json")
                .setHeader("apikeyprivate", "%PRIVATEKEY%")
                .setHeader("apiclientprivate", "%PRIVATECLIENT%")
                .POST(HttpRequest.BodyPublishers.ofString(requestBody))
                .build();

        HttpResponse<String> response = client.send(request, BodyHandlers.ofString());

        System.out.println(response.body());
    }
}
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php
$url = '{{Private Base Address}}/api/paywall/private/refund';
$data = array(
    "Date" => "2023-02-07",
    "MerchantUniqueCode" => "AA90T0SD0ASF99",
);
$options = array(
    'http' => array(
        'header'  => "Content-type: application/json\r\n" .
                     "apikeyprivate: %PRIVATEKEY%\r\n" . 
                     "apiclientprivate: %PRIVATECLIENT%\r\n",
        'method'  => 'POST',
        'content' => json_encode($data),
    ),
);
$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) { /* Handle error */ }

// Decode
$response = json_decode($result);

// ErrorCode-Result-Message
echo "ErrorCode: " . $response->ErrorCode . "\n";
echo "Result: " . ($response->Result ? "true" : "false") . "\n";
echo "Message: " . $response->Message . "\n";
?>
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import json

url = '{{Private Base Address}}/api/paywall/private/refund'
headers = {
    'Content-Type': 'application/json',
    'apikeyprivate': '%PRIVATEKEY%',
    'apiclientprivate': '%PRIVATECLIENT%',
}
data = {
    "Date": "2023-02-07",
    "MerchantUniqueCode": "AA90T0SD0ASF99",
}
response = requests.post(url, headers=headers, data=json.dumps(data))

response_data = response.json()

print('ErrorCode:', response_data['ErrorCode'])
print('Result:', response_data['Result'])
print('Message:', response_data['Message'])
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse("{{Private Base Address}}/api/paywall/private/refund")
http = Net::HTTP.new(uri.host, uri.port)

request = Net::HTTP::Post.new(uri.request_uri, {
    'Content-Type' => 'application/json',
    'apikeyprivate' => '%PRIVATEKEY%',
    'apiclientprivate' => '%PRIVATECLIENT%'
})
request.body = {Date: "2023-02-07", MerchantUniqueCode: "AA90T0SD0ASF99"}.to_json

response = http.request(request)

puts response.body
```

{% endtab %}

{% tab title="TypeScript" %}

```typescript
const axios = require('axios');

const data = {
    Date: "2023-02-07",
    MerchantUniqueCode: "AA90T0SD0ASF99"
};

axios.post('{{Private Base Address}}/api/paywall/private/refund', data, {
    headers: {
        'Content-Type': 'application/json',
        'apikeyprivate': '%PRIVATEKEY%',
        'apiclientprivate': '%PRIVATECLIENT%',
    }
})
.then((response) => {
    console.log(response.data);
})
.catch((error) => {
    console.error(error);
});
```

{% endtab %}

{% tab title="Curl" %}

```sh
curl -X POST "{{Private Base Address}}/api/paywall/private/refund" \
-H "Content-Type: application/json" \
-H "apikeyprivate: %PRIVATEKEY%" \
-H "apiclientprivate: %PRIVATECLIENT%" \
-d '{
    "Date": "2023-02-07",
    "MerchantUniqueCode": "AA90T0SD0ASF99"
}'
```

{% endtab %}
{% endtabs %}

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

<details>

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

<table><thead><tr><th width="156">Parametre</th><th width="83.33333333333331">Tip</th><th>Açılama</th></tr></thead><tbody><tr><td>Body</td><td>object</td><td>Ödemeye ilişkin detay içeren JSON (opsiyonel)</td></tr><tr><td>ErrorCode</td><td>int</td><td>Hata kodu. İşlem başarılı ise '0' değerini döner.</td></tr><tr><td>Result</td><td>bool</td><td>True ya da false değeri döner. İşlem başarılı iste 'true' değerini döner</td></tr><tr><td>Message</td><td>string</td><td>İşlem hatalıysa, bu hataya dair belirtilen mesajdır, locale parametresine göre dil desteği sunar.</td></tr></tbody></table>

</details>

{% tabs %}
{% tab title="Json" %}
{% code overflow="wrap" lineNumbers="true" %}

```json5
{
    "ErrorCode": 0,
    "Result": true,
    "Message": "Success",
    "Body": null
}
```

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

## Paywall İşlem Numarası ile İade V2

<mark style="color:green;">`POST`</mark> `{{Private Base Address}}/api/paywall/private/refund/v2/by/uniquecode`

Yukarıda verilmiş olan adrese istek atmanız yeterli olacaktır. Test ortamı ve Gerçek ortam için 'Base Address' istediğiniz gibi kullanabilirsiniz.

{% hint style="info" %}
Önemli: **Paywall İşlem Numarası ile İade** servisini kullanabilmeniz için 'Header' alanında '**apikeyprivate**' ve '**apiclientprivate**' parametrelerini göndermeniz gerekmektedir.\
\
[<mark style="color:green;">**PaymentPrivateAPI Adresi**</mark>](/ortam.md)
{% endhint %}

**Gerekli header ve istek parametreleri:**

<details>

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

<table><thead><tr><th width="182">Parametre</th><th width="76.33333333333331">Tip</th><th width="97">Zorunlu</th><th>Açıklama</th></tr></thead><tbody><tr><td>apikeyprivate</td><td>string</td><td>Evet</td><td>Üye işyeri panelinden temin etmiş olduğunuz Private Key.</td></tr><tr><td>apiclientprivate</td><td>string</td><td>Evet</td><td>Üye işyeri panelinden temin etmiş olduğunuz Private Client.</td></tr></tbody></table>

</details>

<details>

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

<table><thead><tr><th width="215">Parametre</th><th width="78">Tip</th><th width="96">Zorunlu</th><th>Açıklama</th></tr></thead><tbody><tr><td>Date</td><td>date</td><td>Evet</td><td>Ödeme'nin gerçekleştiği tarih bilgisi</td></tr><tr><td>UniqueCode</td><td>Guid</td><td>Evet</td><td>Ödeme başlatma sonrasında Paywall'dan gelen cevap nesnesi içerisinde yer alan <code>UniqueCode</code> parametresi içerisindeki bilgidir</td></tr><tr><td>MarketPlace:DeleteExistingRecords</td><td>bool</td><td>Hayır</td><td>Pazaryeri kapsamında ilgili ödemenin hakediş onayının verilmesi durumunda, bu parametre true gönderilmelidir. True gönderilmesi durumunda var olan hakedişler, iptal emrinin başarılı olması sonrasında silinir</td></tr><tr><td>CompletePartialRefund</td><td>bool</td><td>Hayır</td><td>İlgili ödeme için öncesinde kısmi iade yapıldıya, yapılan kısmi iade ana tutardan düşülür ve kalan tutar için tekrar kısmi iade emriyle, iade işlemi tamamlanır</td></tr></tbody></table>

</details>

**Servise gönderilmesi gereken parametreler şu şekildedir :**

{% tabs %}
{% tab title="Json" %}
{% code overflow="wrap" lineNumbers="true" %}

```json5
{
    "Date": "2026-05-21",
    "UniqueCode": "aabbccdd-1122-3344-5566-aabbccddeeff",
    "CompletePartialRefund": false,
    "MarketPlace": { // nullable
        "DeleteExistingRecords": false
    }
}
```

{% endcode %}
{% endtab %}

{% tab title="C#" %}

```csharp
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

public class Program
{
    private static readonly HttpClient client = new HttpClient();

    private static async Task Main()
    {
        var data = new 
        {
            Date = "2023-02-07",
            MerchantUniqueCode = "AA90T0SD0ASF99"
        };
        var content = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json");
        content.Headers.Add("apikeyprivate", "%PRIVATEKEY%");
        content.Headers.Add("apiclientprivate", "%PRIVATECLIENT%");

        var response = await client.PostAsync("{{Private Base Address}}/api/paywall/private/refund", content);

        var responseString = await response.Content.ReadAsStringAsync();
        Console.WriteLine(responseString);
    }
}
```

{% endtab %}

{% tab title="GO" %}

```go
package main

import (
    "bytes"
    "fmt"
    "io/ioutil"
    "net/http"
    "encoding/json"
)

func main() {
    url := "{{Private Base Address}}/api/paywall/private/refund"
    data := map[string]string{
        "Date": "2023-02-07",
        "MerchantUniqueCode": "AA90T0SD0ASF99",
    }
    reqBody, _ := json.Marshal(data)
    
    req, _ := http.NewRequest("POST", url, bytes.NewBuffer(reqBody))
    req.Header.Set("Content-Type", "application/json")
    req.Header.Set("apikeyprivate", "%PRIVATEKEY%")
    req.Header.Set("apiclientprivate", "%PRIVATECLIENT%")
    
    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()
    
    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}
```

{% endtab %}

{% tab title="Java" %}

```java
import java.net.http.HttpClient;
import java.net.http.HttpHeaders;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import java.net.http.HttpResponse.BodyHandlers;
import java.util.HashMap;
import java.util.Map;

public class Main {

    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();

        Map<String, String> values = new HashMap<String, String>() {{
            put("Date", "2023-02-07");
            put("MerchantUniqueCode", "AA90T0SD0ASF99");
        }};

        String requestBody = new ObjectMapper().writeValueAsString(values);

        HttpRequest request = HttpRequest.newBuilder()
                .uri(new URI("{{Private Base Address}}/api/paywall/private/refund"))
                .setHeader("Content-Type", "application/json")
                .setHeader("apikeyprivate", "%PRIVATEKEY%")
                .setHeader("apiclientprivate", "%PRIVATECLIENT%")
                .POST(HttpRequest.BodyPublishers.ofString(requestBody))
                .build();

        HttpResponse<String> response = client.send(request, BodyHandlers.ofString());

        System.out.println(response.body());
    }
}
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php
$url = '{{Private Base Address}}/api/paywall/private/refund';
$data = array(
    "Date" => "2023-02-07",
    "MerchantUniqueCode" => "AA90T0SD0ASF99",
);
$options = array(
    'http' => array(
        'header'  => "Content-type: application/json\r\n" .
                     "apikeyprivate: %PRIVATEKEY%\r\n" . 
                     "apiclientprivate: %PRIVATECLIENT%\r\n",
        'method'  => 'POST',
        'content' => json_encode($data),
    ),
);
$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) { /* Handle error */ }

// Decode
$response = json_decode($result);

// ErrorCode-Result-Message
echo "ErrorCode: " . $response->ErrorCode . "\n";
echo "Result: " . ($response->Result ? "true" : "false") . "\n";
echo "Message: " . $response->Message . "\n";
?>
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import json

url = '{{Private Base Address}}/api/paywall/private/refund'
headers = {
    'Content-Type': 'application/json',
    'apikeyprivate': '%PRIVATEKEY%',
    'apiclientprivate': '%PRIVATECLIENT%',
}
data = {
    "Date": "2023-02-07",
    "MerchantUniqueCode": "AA90T0SD0ASF99",
}
response = requests.post(url, headers=headers, data=json.dumps(data))

response_data = response.json()

print('ErrorCode:', response_data['ErrorCode'])
print('Result:', response_data['Result'])
print('Message:', response_data['Message'])
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse("{{Private Base Address}}/api/paywall/private/refund")
http = Net::HTTP.new(uri.host, uri.port)

request = Net::HTTP::Post.new(uri.request_uri, {
    'Content-Type' => 'application/json',
    'apikeyprivate' => '%PRIVATEKEY%',
    'apiclientprivate' => '%PRIVATECLIENT%'
})
request.body = {Date: "2023-02-07", MerchantUniqueCode: "AA90T0SD0ASF99"}.to_json

response = http.request(request)

puts response.body
```

{% endtab %}

{% tab title="TypeScript" %}

```typescript
const axios = require('axios');

const data = {
    Date: "2023-02-07",
    MerchantUniqueCode: "AA90T0SD0ASF99"
};

axios.post('{{Private Base Address}}/api/paywall/private/refund', data, {
    headers: {
        'Content-Type': 'application/json',
        'apikeyprivate': '%PRIVATEKEY%',
        'apiclientprivate': '%PRIVATECLIENT%',
    }
})
.then((response) => {
    console.log(response.data);
})
.catch((error) => {
    console.error(error);
});
```

{% endtab %}

{% tab title="Curl" %}

```sh
curl -X POST "{{Private Base Address}}/api/paywall/private/refund" \
-H "Content-Type: application/json" \
-H "apikeyprivate: %PRIVATEKEY%" \
-H "apiclientprivate: %PRIVATECLIENT%" \
-d '{
    "Date": "2023-02-07",
    "MerchantUniqueCode": "AA90T0SD0ASF99"
}'
```

{% endtab %}
{% endtabs %}

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

<details>

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

<table><thead><tr><th width="247">Parametre</th><th width="119.33333333333331">Tip</th><th>Açılama</th></tr></thead><tbody><tr><td>Body</td><td>object</td><td>Ödemeye ilişkin detay içeren JSON (opsiyonel)</td></tr><tr><td>ErrorCode</td><td>int</td><td>Hata kodu. İşlem başarılı ise '0' değerini döner.</td></tr><tr><td>Result</td><td>bool</td><td>True ya da false değeri döner. İşlem başarılı iste 'true' değerini döner</td></tr><tr><td>Message</td><td>string</td><td>İşlem hatalıysa, bu hataya dair belirtilen mesajdır, locale parametresine göre dil desteği sunar.</td></tr><tr><td><mark style="color:orange;">Payment.</mark>PaymentId</td><td>int</td><td>İade edilen ödemenin sistem tarafından atanan benzersiz kimlik numarası.</td></tr><tr><td><mark style="color:orange;">Payment.</mark>UniqueCode</td><td>string</td><td>Ödemeye ait sistem tarafından üretilen tekil UUID değeri.</td></tr><tr><td><mark style="color:orange;">Payment.</mark>MerchantUniqueKey</td><td>string</td><td>Üye işyerine ait tekil UUID anahtar değeri.</td></tr><tr><td><mark style="color:orange;">Payment.</mark>TrackingCode</td><td>string</td><td>İade işlemine ait takip kodu.</td></tr><tr><td><mark style="color:orange;">Payment.</mark>Installment</td><td>byte</td><td>İşlemde uygulanan taksit sayısı</td></tr><tr><td><mark style="color:orange;">Payment.</mark>PaymentGatewayId</td><td>int</td><td>İşlemin gerçekleştiği sağlayıcının bağlantısının kimlik bilgisi</td></tr><tr><td><mark style="color:orange;">Payment.</mark>PaymentGatewayName</td><td>string</td><td>İşlemin gerçekleştiği sağlayıcının bağlantısına verilen isim</td></tr><tr><td><mark style="color:orange;">Payment.</mark>PaymentGatewayProviderName</td><td>string</td><td>İşlemin gerçekleştiği sağlayıcının sistem ismi</td></tr><tr><td><mark style="color:orange;">Payment.</mark>PaymentGatewayProviderKey</td><td>string</td><td>İşlemin gerçekleştiği sağlayıcının sistemdeki anahtar kodu</td></tr><tr><td><mark style="color:orange;">Payment.</mark>RelationalId1</td><td>string</td><td>Kart ile ilişkilendirilen unique bilgi</td></tr><tr><td><mark style="color:orange;">Payment.</mark>RelationalId2</td><td>string</td><td>Kart ile ilişkilendirilen ikinci unique bilgi</td></tr><tr><td><mark style="color:orange;">Payment.</mark>RelationalId3</td><td>string</td><td>Kart ile ilişkilendirilen üçüncü unique bilgi</td></tr><tr><td><mark style="color:red;">Error.</mark>ProviderErrorCode</td><td>string</td><td>Ödeme sağlayıcısından dönen hata kodu. İşlem başarılı ise boş string döner.</td></tr><tr><td><mark style="color:red;">Error.</mark>ProviderErrorMessage</td><td>string</td><td>Ödeme sağlayıcısından dönen hata mesajı. İşlem başarılı ise boş string döner.</td></tr><tr><td><mark style="color:yellow;">ExternalInfo.</mark>PaymentActivityTypeId</td><td>int</td><td>Ödeme aktivite tipi kimliği. İade işlemleri için <code>2</code> değerini döner.</td></tr><tr><td><mark style="color:yellow;">ExternalInfo.</mark>PaymentExternalAuthCode</td><td>string</td><td>Ödeme sağlayıcısından dönen yetkilendirme kodu.</td></tr><tr><td><mark style="color:yellow;">ExternalInfo.</mark>PaymentExternalOrderId</td><td>string</td><td>Ödeme sağlayıcısındaki harici sipariş kimliği. Sağlayıcı tarafından dönülmüyorsa boş string olabilir.</td></tr><tr><td><mark style="color:yellow;">ExternalInfo.</mark>PaymentExternalTransId</td><td>string</td><td>Ödeme sağlayıcısındaki harici işlem kimliği. Genellikle <code>UniqueCode</code> ile aynı değeri taşır.</td></tr><tr><td><mark style="color:yellow;">ExternalInfo.</mark>PaymentExternalHostReference</td><td>string</td><td>Ödeme sağlayıcısının host sistemi tarafından atanan referans kodu.</td></tr><tr><td><mark style="color:yellow;">ExternalInfo.</mark>PaymentExternalMerchantId</td><td>string</td><td>Ödeme sağlayıcısındaki harici üye işyeri kimliği. Sağlayıcı tarafından dönülmüyorsa boş string olabilir.</td></tr></tbody></table>

</details>

{% tabs %}
{% tab title="Json" %}
{% code overflow="wrap" lineNumbers="true" %}

```json5
{
    "ErrorCodeType": 1,
    "ErrorMessage": null,
    "ErrorCode": 0,
    "Result": true,
    "Message": "Payment refunded successfully",
    "Body": {
        "Payment": {
            "PaymentId": 22904179,
            "UniqueCode": "f9948bf1-2258-4400-ad22-acae25e3ec17",
            "MerchantUniqueKey": "523f7742-dddb-4b03-90ab-63ef9e454836",
            "TrackingCode": "tracking-code-1234567890-for-documentation",
            "Installment": 1,
            "PaymentGatewayId": 1475,
            "PaymentGatewayName": "demoiyziWP",
            "PaymentGatewayProviderName": "Iyzico",
            "PaymentGatewayProviderKey": "Iyzico",
            "RelationalId1": "test24243252599390",
            "RelationalId2": "",
            "RelationalId3": ""
        },
        "Error": {
            "ProviderErrorCode": "",
            "ProviderErrorMessage": ""
        },
        "ExternalInfo": {
            "PaymentActivityTypeId": 2,
            "PaymentExternalAuthCode": "271149",
            "PaymentExternalOrderId": "",
            "PaymentExternalTransId": "f9948bf1-2258-4400-ad22-acae25e3ec17",
            "PaymentExternalHostReference": "mock00001iyzihostrfn",
            "PaymentExternalMerchantId": ""
        }
    }
}
```

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