# 1. Oturum Oluştur

## Oturum Oluştur

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

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 - Oturum Oluştur** 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="175">Zorunlu</th><th>Açıklama</th></tr></thead><tbody><tr><td>ReferenceCode</td><td>string</td><td>Evet</td><td>İlgili oturumun tekil takip numarası</td></tr><tr><td>UserId</td><td>string</td><td>Evet</td><td>Ödeme ekranındaki kullanıcının sisteminizdeki tekil kimlik numarası</td></tr><tr><td>UserPhone</td><td>string</td><td>Evet</td><td>Ödeme ekranındaki kullanıcının doğrulanmış telefon numarası</td></tr><tr><td>Force3D</td><td>bool</td><td>Hayır</td><td>İlgili parametrenin true gönderilmesi durumunda, tüm ödeme süreçleri 3D olarak ilerleyecektir</td></tr><tr><td>PhoneVerifiedByMerchant</td><td>bool</td><td>Hayır</td><td>İlgili telefon numarasını sisteminizde doğruladıysanız, bu parametre <code>true</code> olarak gönderilmelidir. Böylece Masterpass, telefon numarası doğrulamasını tekrar yapmaz</td></tr></tbody></table>

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

```json5
{
    "ReferenceCode": "{{$guid}}",
    "UserId": "72812393211", // Kullanıcının sisteminizdeki tekil kimlik bilgisi
    "UserPhone": "905123456710", // Kullanıcının sisteminizdeki doğrulanmış telefon numarası
    "Force3D": false, // Kullanıcı tüm ödeme akışında 3D'ye zorlansın mı?
    "PhoneVerifiedByMerchant": true // Telefon doğrulaması yapıldı mı?
}
```

{% 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><mark style="color:blue;">Body</mark></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>

**Servisten dönen cevap (**<mark style="color:blue;">**Body**</mark>**):**

<table><thead><tr><th width="181">Parametre</th><th width="83.33333333333331">Tip</th><th>Açılama</th></tr></thead><tbody><tr><td>SessionId</td><td><mark style="color:$primary;">Guid</mark></td><td>İlgili oturumun kimlik bilgisidir. Tüm süreçte yetkilendirme için kullanılmaktadır. Bu bilgi süreç tamamlanana kadar tarafınızda saklanmalıdır</td></tr><tr><td>SessionExpiryDate</td><td>DateTime</td><td>Oturumun son kullanılma tarihidir. Otomatik olarak yenilendiğinde diğer Masterpass servislerinin cevap nesneleri içinde yeni SessionId ve yeni SessionExpiryDate bilgileri dönmektedir</td></tr></tbody></table>

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

```json5
{
    "ErrorCodeType": 1,
    "ErrorMessage": null,
    "ErrorCode": 0,
    "Result": true,
    "Message": "",
    "Body": {
        "SessionId": "9b27433e-f36b-1410-80e5-004205aa382d",
        "SessionExpiryDate": "2025-07-27T11:24:57"
    }
}
```

{% 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/masterpass-entegrasyonu/1.-oturum-olustur.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.
