# 1. Ödeme Bitir (PaymentId)

## Ödeme Bitir

<mark style="color:green;">`POST`</mark> `{{Base Address}}/api/paywall/masterpass/payment/commit/by/paymentid`

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: **Masterpass - Ödeme Bitir (PaymentId)** servisini kullanabilmeniz için 'Header' alanında '**apikeyprivate**' ve '**apiclientprivate**' parametrelerini göndermeniz gerekmektedir.\
\
[<mark style="color:green;">**PaymentAPI Adresi**</mark>](https://developer.paywall.one/ortam)
{% endhint %}

<table><thead><tr><th width="182">Parametre</th><th width="106.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>

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

<table><thead><tr><th width="228">Parametre</th><th width="106">Tip</th><th width="123">Zorunlu</th><th>Açıklama</th></tr></thead><tbody><tr><td>SessionId</td><td>Guid</td><td>Evet</td><td><a href="../1.-oturum-olustur">Oturum Kimliği</a> bilgisi</td></tr><tr><td>PaymentId</td><td>bigint</td><td>Evet</td><td>Ödeme başlatma anında Paywall servislerinden dönen cevap içerisinde yer almaktadır.</td></tr></tbody></table>

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

```json5
{
    "SessionId": "512b673e-f36b-1410-80e8-004205aa382d",
    "PaymentId": 8013143466
}
```

{% 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 cevap:**

<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>

{% tabs %}
{% tab title="Başarılı ✅" %}

```json5
{
    "ErrorCodeType": 1,
    "ErrorMessage": null,
    "ErrorCode": 0,
    "Result": true,
    "Message": "Commit successful",
    "Body": {
        "Session": {
            "SessionRenewed": false,
            "SessionId": "55555555-4444-3333-222222-11111111"
        },
        "Masterpass": {
            "Result": true,
            "Detail": {
                "PaymentId": 8013143466,
                "PaymentActivityId": 4413674,
                "UniqueCode": "aaaaaaa-33333-32222-0000-11111111111",
                "MerchantUniqueCode": "0000000-2664-4d3c-ae6e-000000000000",
                "TrackingCode": "0-0-0-0-0-0-0-0-0-0-0-0-0-0-0"
            },
            "Error": {
                "ProviderErrorCode": null,
                "ProviderErrorMessage": null
            }
        }
    }
}
```

{% endtab %}

{% tab title="Başarısız ❌" %}

1. **Ödeme Bulunamadı**

```json5
{
    "ErrorCodeType": 1,
    "ErrorMessage": null,
    "ErrorCode": 56,
    "Result": false,
    "Message": "Masterpass payment not found",
    "Body": {
        "Session": {
            "SessionRenewed": false,
            "SessionId": "dc27433e-f36b-1410-80e5-004205aa382d"
        },
        "Masterpass": null
    }
}
```

1. **AutoCommit Ödemeler Tekrar Bitirilemez**

```json5
{
    "ErrorCodeType": 1,
    "ErrorMessage": null,
    "ErrorCode": 92,
    "Result": false,
    "Message": "Auto commit payment cannot commit again",
    "Body": {
        "Session": {
            "SessionRenewed": false,
            "SessionId": "dc27433e-f36b-1410-80e5-004205aa382d"
        },
        "Masterpass": null
    }
}
```

{% endtab %}
{% endtabs %}
