# 2. Tekrarlı Düzenle

## Tekrarlı Ödeme Düzenle

<mark style="color:orange;">`PUT`</mark> `{{Base Adres}}/api/paywall/recurring`

{% hint style="info" %}
Önemli: **Tekrarlı Ödeme Düzenleme** servisini kullanabilmeniz için 'Header' alanında '**apikeypublic**' ve '**apiclientpublic**' parametrelerini göndermeniz gerekmektedir.\
\
[<mark style="color:green;">**PaymentAPI Adresi**</mark>](https://developer.paywall.one/ortam)
{% endhint %}

<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>Üye işyeri panelinden temin etmiş olduğunuz Public Key.</td></tr><tr><td>apiclientpublic</td><td>string</td><td>Evet</td><td>Üye işyeri panelinden temin etmiş olduğunuz Public Client.</td></tr></tbody></table>

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

<table><thead><tr><th width="296">Parametre</th><th width="112">Tip</th><th width="118">Zorunlu</th><th width="336">Açıklama</th></tr></thead><tbody><tr><td>SubscriptionMerchantCode</td><td>string</td><td>Evet</td><td>Tekrarlı ödemeye ait sizin tarafınızdan verilen tekil takip numarası.<br><br><mark style="color:blue;">Oluşturma esnasında kullandığınız ile aynı olmalıdır</mark></td></tr><tr><td>SubscriptionType</td><td>int</td><td>Evet</td><td>Üyelik tipi. Şimdilik sadece 1 desteklenmektedir<br><br><a href="../sistem-verileri"><mark style="color:red;">Sistem verilerinden takip edebilirsiniz</mark></a></td></tr><tr><td>CurrencyId</td><td>int</td><td>Evet</td><td>Para birimi</td></tr><tr><td>Amount</td><td>decimal</td><td>Evet</td><td>Tekrarlı ödeme tutarı. Her seferinde karttan çekilecek tutar</td></tr><tr><td>CallbackUrl</td><td>string</td><td>Evet</td><td>Ödeme sonuçlarının POST atılacak adres<br><br>bkz. <a href="../sistem-verileri/tekrarli-odeme"><strong>Post Body</strong></a></td></tr><tr><td>HasTrial</td><td>bool</td><td>Evet</td><td>Üyeliğe uygulanan bir deneme süresi var mı?</td></tr><tr><td>TrialDay</td><td>int</td><td>Evet</td><td>Üyeliğe uygulanan deneme süresinin günü. Ödeme aylık periyotta 02/07 'de oluşturulduysa ve 10 gün deneme süresi varsa ilk ödeme 12/08 'de alınıyor olacak.</td></tr><tr><td>RecurringPeriodType</td><td>int</td><td>Evet</td><td>Ödemenin tekrarlanacağı periyot tipi<br><br><a href="../sistem-verileri"><mark style="color:red;">Sistem verilerinden takip edebilirsiniz</mark></a></td></tr><tr><td>FailAttempt</td><td>int</td><td>Evet</td><td>Ödemenin başarısız olması durumunda tekrar deneme adedi. <mark style="color:red;">Max: 5</mark></td></tr><tr><td>FailAttemptPendingHour</td><td>int</td><td>Evet</td><td>Başarısız ödeme tekrarlarının arasında Paywall'un bekleyeceği saat dilimi. <mark style="color:red;">Max: 24</mark></td></tr><tr><td><strong>Items</strong>:Type</td><td>int</td><td>Evet</td><td>Ödemeye konu olan satışın tipi<br><br><a href="../sistem-verileri"><mark style="color:red;">Sistem verilerinden takip edebilirsiniz</mark></a></td></tr><tr><td><strong>Items</strong>:Name</td><td>string</td><td>Evet</td><td>Ödemeye konu olan satışın adı</td></tr><tr><td><strong>Items</strong>:Amount</td><td>decimal</td><td>Evet</td><td>Ödemeye konu olan satışın tutarı <br><br><mark style="color:red;">Items nesnesi bir array'dir ve girilen item'lerin Amount bilgisi toplam tutara eşit olmalıdır</mark></td></tr><tr><td>ApplyForPendingJob</td><td>bool</td><td>Hayır</td><td>Uygulanan değişiklik, bekleyen ödemelere de etki etsin mi? Örnek: 1000TL olan üyeliği 1500TL yaptığında alınması bekleyen 1000TL'lik işlem de güncellensin mi?</td></tr></tbody></table>

**Servise gönderilecek örnek&#x20;**<mark style="color:green;">**JSON**</mark>**&#x20;ve&#x20;**<mark style="color:green;">**örnek kodlar**</mark>**&#x20;aşağıdaki gibidir.**

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

```json5
{
    "SubscriptionMerchantCode": "65FSDOMBNA59DA5ASGHD",
    "SubscriptionType": 1,
    "CurrencyId": 2,
    "Amount": 12,
    "CallbackUrl": "https://webhook.site/8d70cb8e-fe1b-478b-8ee3-823870549ef2",
    "HasTrial": true,
    "TrialDay": 1,
    "RecurringPeriodType": 4,
    "FailAttempt": 1,
    "FailAttemptPendingHour": 2,
    // Items parametresi için bir değişiklik yoksa oluşturma
    // anında göndediğiniz ile aynı olmalıdır
    "Items": [
        {
            "Type": 1,
            "Name": "Gold Package",
            "Amount": 12
        }
    ],
    "ApplyForPendingJob": false
}
```

{% endcode %}
{% endtab %}

{% tab title="C#" %}

```csharp
// Soon
```

{% endtab %}

{% tab title="GO" %}

```go
// Soon
```

{% endtab %}

{% tab title="Java" %}

```java
// Soon
```

{% endtab %}

{% tab title="PHP" %}

```php
// Soon
```

{% endtab %}

{% tab title="Python" %}

```python
// Soon
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
// Soon
```

{% endtab %}

{% tab title="TypeScript" %}

```typescript
// Soon
```

{% endtab %}

{% tab title="Curl" %}

```sh
// Soon
```

{% endtab %}
{% endtabs %}

Servisten dönen parametreler şu şekildedir:

<table><thead><tr><th width="189">Parametre</th><th width="100.33333333333331">Tip</th><th>Açıklama</th></tr></thead><tbody><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</td></tr><tr><td>Body</td><td>nesne</td><td><em>Detay dönmemektedir</em></td></tr></tbody></table>

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

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

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.paywall.one/tekrarli-odeme-servisi/2.-tekrarli-duzenle.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
