# Ödeme

Ödeme servisi, ödeme işlemlerinin API üzerinden güvenli ve standart bir şekilde gerçekleştirilmesini sağlar.

{% hint style="warning" %}
**Önemli:** Bu servisi kullanabilmek için geçerli bir **API Key** bilgisine sahip olmanız gerekir. API Key temini ve yetkilendirme süreci hakkında detaylı bilgi için **“**[**Nasıl Erişirim?**](/postapos-api/nasil-erisirim.md)**”** sayfasını inceleyebilirsiniz.
{% endhint %}

Servis Url Adresi:

{% hint style="success" %}
<https://api.postapos.com/v2/**payment>\*\*
{% endhint %}

**Servis Açıklaması**\
Bu endpoint, ödeme işlemlerinin Postapos API üzerinden başlatılmasını ve tamamlanmasını sağlar.

Ödeme isteğinin başarılı şekilde işlenebilmesi için, ödeme akışından önce **installments** servisinin çağrılması gerekmektedir. Bu servis sonucunda dönen ve seçilen taksit seçeneğine ait **ins\_id** ve **pos\_id** alanlarının, ödeme isteği ile birlikte iletilmesi zorunludur.

`ins_id` ve `pos_id` değerlerinin eksik, hatalı veya ödeme akışıyla uyumsuz şekilde gönderilmesi durumunda ödeme işlemi başarıyla tamamlanamayacaktır.

**Önemli:** Ödeme isteği başarılı şekilde işlendiğinde servis `200 OK` yanıtı ile birlikte `redirect_url` alanını döner. İstemci uygulamanın, kullanıcıyı bu alanda dönen adrese yönlendirmesi gerekmektedir. Ödeme akışı, kullanıcının `redirect_url` üzerinden ilgili 3D Secure / ödeme sayfasına aktarılmasıyla devam eder.

**Akış:**

* İstek sonucunda HTTP durum kodu `200 OK` dönerse, yanıt içindeki `redirect_url` değeri alınmalıdır.
* Kullanıcı, bu URL'e yönlendirilerek ödeme adımına geçirilmelidir.
* `redirect_url` alanı, ödeme işleminin 3D Secure doğrulama / ödeme ekranı başlangıç adresini ifade eder.

{% tabs %}
{% tab title="Servis Paremetreleri" %}

<table><thead><tr><th>Adı</th><th>Tipi</th><th width="174">Zorunlu</th><th>Açıklama</th></tr></thead><tbody><tr><td>ins_id</td><td>int</td><td>Evet</td><td>Seçilen taksit değerindeki ins_id değeri alınmalıdır</td></tr><tr><td>pos_id</td><td>text</td><td>Evet</td><td>Seçilen taksit değerindeki pos_id değeri alınmalıdır</td></tr><tr><td>binNumber</td><td>int</td><td>Evet</td><td>Kartın ilk 6 hanesi</td></tr><tr><td>cardHolderName</td><td>txt</td><td>Evet</td><td>Kart sahibi adı soyadı</td></tr><tr><td>cardNumber</td><td>int</td><td>Evet</td><td>Kredi kart numarası</td></tr><tr><td>expiryDate</td><td>txt</td><td>Evet</td><td>Son kullanım Tarihi (Format : 02/30)</td></tr><tr><td>cvv</td><td>int</td><td>Evet</td><td>Kartın güvenlik kodu</td></tr><tr><td>amount</td><td>decimal</td><td>Evet</td><td>Tutar (1500.00-1500.60) formatına uygun</td></tr><tr><td>commissionStatus</td><td>int</td><td>Evet</td><td>Komisyon hizmeti (1- hariç) / (2-dahil)</td></tr><tr><td>description</td><td>txt</td><td>Hayır</td><td>Açıklama/Not/Mesaj</td></tr><tr><td>ipAddress</td><td>txt</td><td>Evet</td><td>Ip adresiniz</td></tr><tr><td>return_url</td><td>txt</td><td>Evet</td><td>Sizin url adresiniz. Tarafınıza başarılı veya başarısız işlem durumu Post edilecektir</td></tr></tbody></table>
{% endtab %}

{% tab title="Request" %}

```json
{
    "ins_id" : "123497",
    "pos_id" : "CU04074*******",
    "binNumber" : "123456",
    "cardHolderName" : "Ayşe Yılmaz",
    "cardNumber" : "1234567890718006",
    "expiryDate" : "02/30",
    "cvv" : "123",
    "amount" : "1500.60",
    "commissionStatus" : 1,
    "description": "eticaret sanal pos ödeme",
    "ipAddress" : "192.168.2.1",
    "return_url": "https://example.com/12345/return"
}
```

{% endtab %}

{% tab title="Response" %}

```json
{
    "status": 200,
    "guid": "0AF94989-9E28-492F-A530-7FE7917A5B3C",
    "redirect_url": "/payment/3d/secure?tk=0AF94989-9E28-492F-A530-7FE7917A5B3C"
}
```

{% endtab %}
{% endtabs %}

{% hint style="warning" icon="arrow-u-turn-up-left" %}
3D Sonucunda tarafında gönderilen post değerlerini kontrol etmek için Ödeme Sonuç sayfasına gidin. Tarafınıza sonuç bilgisi gönderilmesi zorunludur lütfen **return\_url** bilginizi doğru ve eksiksiz gönderin.
{% endhint %}


---

# 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://postapos.gitbook.io/postapos-api/api/odeme.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.
