> For the complete documentation index, see [llms.txt](https://docs.iyzico.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.iyzico.com/urunler/ceppos-app2app/in-store-api-v3.md).

# In-Store API V3

### **iyzico In-Store API V3 — Genel Bakış**

iyzico In-Store API V3, fiziksel satış noktalarında (POS) dijital ödeme deneyimi sunmak için tasarlanmış bir REST API'dir. Tüm istekler `x-api-key`, `x-secret-key` ve `x-merchant-id` header'ları ile kimlik doğrulamasından geçer; yanıtlar JSON formatında döner.

***

### **Entegrasyon Akışı**

```mermaid
sequenceDiagram
    participant App as Müşteri Uygulaması
    participant BE as Backend Sunucu
    participant CP as iyzico CepPOS

    Note over App,CP: 1. Kullanıcı Listeleme (Opsiyonel)
    App->>BE: Kullanıcı listesi talep et
    BE->>CP: GET /user/list
    CP-->>BE: userList 
    BE-->>App: Liste gösterilir
    App->>App: Kullanıcı seçilir (userId alınır)

    Note over App,CP: 2. Ödeme Başlatma
    App->>BE: Ödeme başlat 
    BE->>CP: POST /payment/init
    CP-->>BE: deepLinkUrl + paymentSessionToken + paymentId döner
    BE-->>App: deepLinkUrl iletilir
    App->>CP: deepLinkUrl ile iyzico uygulaması açılır
    App->>CP: Müşteri ödemeyi onaylar
    CP-->>BE: Şifreli data callback URL'e POST edilir

    Note over App,CP: 3. Şifre Çözme
    BE->>CP: POST /crypt/decrypt (data + paymentSessionToken)
    CP-->>BE: paymentStatus (SUCCESS/FAILURE) + amount + orderId döner
    BE-->>App: Ödeme sonucu gösterilir

    Note over App,CP: 4. Sorgulama 
    App->>BE: Ödeme durumu sorgula
    BE->>CP: GET /payment/query
    CP-->>BE: paymentStatus + amount + orderId + userId döner
    BE-->>App: Ödeme sonucu gösterilir
```

### **Kullanıcı Yönetimi**

Ödeme akışına dahil edilecek kullanıcıları bu servis grubu üzerinden yönetirsiniz. Yeni bir kullanıcı oluşturabilir, sistemden silebilir ya da mevcut kullanıcıları sayfalanmış şekilde listeleyebilirsiniz. Her kullanıcı, bağlı olduğu banka ve terminal bilgilerini (enrollment) taşır; bu bilgiler ödeme başlatma adımında otomatik olarak kullanılır.

## Kullanıcı Ekleme

> Yeni bir kullanıcı oluşturur ve kullanıcı bilgilerini döner.

```json
{"openapi":"3.0.3","info":{"title":"iyzico In-Store API","version":"3.0"},"tags":[{"name":"User","description":"Kullanıcı yönetimi servisleri"}],"servers":[{"url":"https://sandbox-api.iyzipay.com/v3/in-store","description":"Sandbox"}],"security":[{"ApiKeyAuth":[],"SecretKeyAuth":[],"MerchantIdAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"CreateUserRequest":{"type":"object","required":["userId"],"properties":{"userId":{"type":"string","description":"Kullanıcı kimliği"}}},"UserDetail":{"type":"object","properties":{"userId":{"type":"string","description":"Sisteme kayıtlı kullanıcının benzersiz kimliği."},"enrollments":{"type":"array","description":"Kullanıcının kayıtlı olduğu banka ve terminal bilgilerinin listesi.","items":{"$ref":"#/components/schemas/Enrollment"}}}},"Enrollment":{"type":"object","properties":{"enrolledBank":{"type":"string","description":"Kullanıcının kayıtlı olduğu bankanın adı."},"enrolledTerminalId":{"type":"string","description":"Bankaya ait fiziksel POS terminal kimliği."}}},"ErrorResponse":{"type":"object","properties":{"status":{"type":"string","description":"İşlemin sonucunu gösterir. Hata durumunda her zaman \"failure\" döner."},"errorCode":{"type":"string","description":"iyzico tarafından tanımlanmış hata kodu. Hatanın türünü programatik olarak ayırt etmek için kullanılır."},"errorMessage":{"type":"string","description":"Hatayı açıklayan, okunabilir hata mesajı. Loglama ve hata ayıklama amacıyla kullanılabilir."}}}}},"paths":{"/user":{"post":{"tags":["User"],"summary":"Kullanıcı Ekleme","description":"Yeni bir kullanıcı oluşturur ve kullanıcı bilgilerini döner.","operationId":"createUser","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserRequest"}}}},"responses":{"200":{"description":"Kullanıcı başarıyla oluşturuldu","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDetail"}}}},"400":{"description":"Geçersiz parametre veya eksik alan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Geçersiz veya eksik header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Sunucu hatası","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Kullanıcı Listeleme

> Sistemdeki kullanıcıların sayfalanmış (paginated) listesini döner.

```json
{"openapi":"3.0.3","info":{"title":"iyzico In-Store API","version":"3.0"},"tags":[{"name":"User","description":"Kullanıcı yönetimi servisleri"}],"servers":[{"url":"https://sandbox-api.iyzipay.com/v3/in-store","description":"Sandbox"}],"security":[{"ApiKeyAuth":[],"SecretKeyAuth":[],"MerchantIdAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"UserListResponse":{"type":"object","properties":{"userList":{"type":"array","description":"Sisteme kayıtlı kullanıcıların sayfalanmış listesi. Her kayıt kullanıcının banka ve terminal bilgilerini içerir.","items":{"$ref":"#/components/schemas/UserDetail"}}}},"UserDetail":{"type":"object","properties":{"userId":{"type":"string","description":"Sisteme kayıtlı kullanıcının benzersiz kimliği."},"enrollments":{"type":"array","description":"Kullanıcının kayıtlı olduğu banka ve terminal bilgilerinin listesi.","items":{"$ref":"#/components/schemas/Enrollment"}}}},"Enrollment":{"type":"object","properties":{"enrolledBank":{"type":"string","description":"Kullanıcının kayıtlı olduğu bankanın adı."},"enrolledTerminalId":{"type":"string","description":"Bankaya ait fiziksel POS terminal kimliği."}}},"ErrorResponse":{"type":"object","properties":{"status":{"type":"string","description":"İşlemin sonucunu gösterir. Hata durumunda her zaman \"failure\" döner."},"errorCode":{"type":"string","description":"iyzico tarafından tanımlanmış hata kodu. Hatanın türünü programatik olarak ayırt etmek için kullanılır."},"errorMessage":{"type":"string","description":"Hatayı açıklayan, okunabilir hata mesajı. Loglama ve hata ayıklama amacıyla kullanılabilir."}}}}},"paths":{"/user/list":{"get":{"tags":["User"],"summary":"Kullanıcı Listeleme","description":"Sistemdeki kullanıcıların sayfalanmış (paginated) listesini döner.","operationId":"listUsers","parameters":[{"name":"pageNumber","in":"query","description":"Sayfa numarası","schema":{"type":"integer","default":1}},{"name":"pageCount","in":"query","description":"Sayfa başına kullanıcı sayısı","schema":{"type":"integer","default":100}}],"responses":{"200":{"description":"Başarılı — kullanıcı listesi döner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserListResponse"}}}},"400":{"description":"Geçersiz parametre veya eksik alan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Geçersiz veya eksik header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Sunucu hatası","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Kullanıcı Silme

> Var olan bir kullanıcıyı sistemden siler.

```json
{"openapi":"3.0.3","info":{"title":"iyzico In-Store API","version":"3.0"},"tags":[{"name":"User","description":"Kullanıcı yönetimi servisleri"}],"servers":[{"url":"https://sandbox-api.iyzipay.com/v3/in-store","description":"Sandbox"}],"security":[{"ApiKeyAuth":[],"SecretKeyAuth":[],"MerchantIdAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"DeleteUserRequest":{"type":"object","required":["userId"],"properties":{"userId":{"type":"string","description":"Silinecek kullanıcı kimliği"}}},"DeleteUserResponse":{"type":"object","properties":{"userId":{"type":"string","description":"Başarıyla silinen kullanıcının kimliği. Silme işleminin doğrulanması amacıyla döner."}}},"ErrorResponse":{"type":"object","properties":{"status":{"type":"string","description":"İşlemin sonucunu gösterir. Hata durumunda her zaman \"failure\" döner."},"errorCode":{"type":"string","description":"iyzico tarafından tanımlanmış hata kodu. Hatanın türünü programatik olarak ayırt etmek için kullanılır."},"errorMessage":{"type":"string","description":"Hatayı açıklayan, okunabilir hata mesajı. Loglama ve hata ayıklama amacıyla kullanılabilir."}}}}},"paths":{"/user":{"delete":{"tags":["User"],"summary":"Kullanıcı Silme","description":"Var olan bir kullanıcıyı sistemden siler.","operationId":"deleteUser","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteUserRequest"}}}},"responses":{"200":{"description":"Kullanıcı başarıyla silindi","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteUserResponse"}}}},"400":{"description":"Geçersiz parametre veya eksik alan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Geçersiz veya eksik header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Sunucu hatası","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

### **Ödeme Başlatma**

Ödeme süreci `/payment/init` endpoint'i ile başlar. Başarılı bir istek, müşteriyi iyzico mobil uygulamasına yönlendiren bir `deepLinkUrl` ve sonraki adımda şifre çözmek için kullanılacak bir `paymentSessionToken` döner. Müşteri uygulamayı açıp ödemeyi onayladıktan sonra sonuç, sizin belirlediğiniz `x-callback-url` adresine şifreli olarak iletilir.

## Ödeme Başlatma

> Müşterinin ödeme sürecini başlatır.\
> Başarılı yanıt içindeki \`deepLinkUrl\` ile müşteri iyzico uygulamasına yönlendirilir.\
> \
> \*\*Entegrasyon Akışı:\*\*\
> 1\. Bu endpoint ile \`deepLinkUrl\` ve \`paymentSessionToken\` alınır.\
> 2\. Müşteri \`deepLinkUrl\` ile yönlendirilir (iyzico uygulaması açılır).\
> 3\. Müşteri ödemeyi tamamlar.\
> 4\. Callback URL'e şifreli sonuç iletilir.\
> 5\. \`/crypt/decrypt\` ile şifreli data çözülür.<br>

```json
{"openapi":"3.0.3","info":{"title":"iyzico In-Store API","version":"3.0"},"tags":[{"name":"Payment","description":"Ödeme işlemleri servisleri"}],"servers":[{"url":"https://sandbox-api.iyzipay.com/v3/in-store","description":"Sandbox"}],"security":[{"ApiKeyAuth":[],"SecretKeyAuth":[],"MerchantIdAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"PaymentInitRequest":{"type":"object","required":["userId","orderId","amount"],"properties":{"userId":{"type":"string","description":"Ödemeyi yapacak kullanıcı ID'si"},"orderId":{"type":"string","description":"Sipariş referans numarası"},"amount":{"type":"BigDecimal","description":"Ödeme tutarı"}}},"PaymentInitResponse":{"type":"object","properties":{"status":{"type":"string","description":"İşlemin sonucunu gösterir. Başarılı durumlarda \"success\" döner."},"errorCode":{"type":"string","nullable":true,"description":"Hata oluşması durumunda iyzico hata kodunu içerir, aksi hâlde null döner."},"errorMessage":{"type":"string","nullable":true,"description":"Hata oluşması durumunda açıklayıcı mesajı içerir, aksi hâlde null döner."},"deepLinkUrl":{"type":"string","description":"Müşterinin iyzico mobil uygulamasına yönlendirileceği deep link URL'i. Bu link açıldığında uygulama ödeme ekranını başlatır."},"paymentSessionToken":{"type":"string","description":"Ödeme oturumuna özgü token. Ödeme tamamlandıktan sonra /crypt/decrypt adımında şifre çözmek için kullanılır."},"paymentId":{"type":"integer","format":"int64","description":"iyzico tarafından atanan benzersiz ödeme kimliği. İade ve sorgulama işlemlerinde referans olarak kullanılır."}}},"ErrorResponse":{"type":"object","properties":{"status":{"type":"string","description":"İşlemin sonucunu gösterir. Hata durumunda her zaman \"failure\" döner."},"errorCode":{"type":"string","description":"iyzico tarafından tanımlanmış hata kodu. Hatanın türünü programatik olarak ayırt etmek için kullanılır."},"errorMessage":{"type":"string","description":"Hatayı açıklayan, okunabilir hata mesajı. Loglama ve hata ayıklama amacıyla kullanılabilir."}}}}},"paths":{"/payment/init":{"post":{"tags":["Payment"],"summary":"Ödeme Başlatma","description":"Müşterinin ödeme sürecini başlatır.\nBaşarılı yanıt içindeki `deepLinkUrl` ile müşteri iyzico uygulamasına yönlendirilir.\n\n**Entegrasyon Akışı:**\n1. Bu endpoint ile `deepLinkUrl` ve `paymentSessionToken` alınır.\n2. Müşteri `deepLinkUrl` ile yönlendirilir (iyzico uygulaması açılır).\n3. Müşteri ödemeyi tamamlar.\n4. Callback URL'e şifreli sonuç iletilir.\n5. `/crypt/decrypt` ile şifreli data çözülür.\n","operationId":"initPayment","parameters":[{"name":"x-callback-url","in":"header","required":true,"description":"İşlem sonucu bildirimi için callback URL","schema":{"type":"string","format":"uri"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInitRequest"}}}},"responses":{"200":{"description":"Ödeme başarıyla başlatıldı","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInitResponse"}}}},"422":{"description":"Validasyon hatası — eksik veya hatalı alan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Sunucu hatası","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

### **Ödeme Sonucu Şifre Çözme**

Callback URL'inize gelen şifreli `data` değeri, `/crypt/decrypt` endpoint'i aracılığıyla çözülür. İstek gövdesine şifreli veriyi ve ödeme başlatma adımından elde ettiğiniz `paymentSessionToken`'ı eklemeniz yeterlidir. Yanıt; ödeme durumu, tutar ve sipariş referansını açık metin olarak döner.

## Ödeme Sonucu

> Ödeme tamamlandıktan sonra callback ile gelen şifreli \`data\` değerini çözer\
> ve ödeme sonucunu döner.<br>

```json
{"openapi":"3.0.3","info":{"title":"iyzico In-Store API","version":"3.0"},"tags":[{"name":"Payment","description":"Ödeme işlemleri servisleri"}],"servers":[{"url":"https://sandbox-api.iyzipay.com/v2/in-store","description":"Sandbox (v2)"}],"security":[{"ApiKeyAuth":[],"SecretKeyAuth":[],"MerchantIdAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"DecryptRequest":{"type":"object","required":["data","paymentSessionToken"],"properties":{"data":{"type":"string","description":"Callback ile gelen şifreli ödeme verisi"},"paymentSessionToken":{"type":"string","description":"Ödeme başlatma adımında alınan token"}}},"DecryptResponse":{"type":"object","properties":{"status":{"type":"string","description":"İşlemin sonucunu gösterir. Başarılı durumlarda \"success\" döner."},"systemTime":{"type":"Long","description":"Sunucu tarafındaki işlem zamanı (Unix epoch, milisaniye)."},"inStoreCompleteOperation":{"description":"Şifresi çözülmüş ödeme sonucunu içeren nesne. Banka işlem detayları, kart bilgileri ve fiş verileri bu alan altında yer alır.","$ref":"#/components/schemas/InStoreCompleteOperation"}}},"InStoreCompleteOperation":{"type":"object","properties":{"transaction":{"description":"Ödemeye ait banka işlem detayları, kart bilgileri ve fiş verilerini içeren nesne.","$ref":"#/components/schemas/Transaction"}}},"Transaction":{"type":"object","properties":{"transactionDate":{"type":"string","description":"İşlem tarihi ve saati (okunabilir format)."},"transactionDateISO":{"type":"string","format":"date-time","description":"İşlem tarihi ve saati (ISO 8601 formatında)."},"receipt":{"$ref":"#/components/schemas/Receipt"},"screenMessage":{"type":"string","description":"Ekranda gösterilecek bilgilendirme mesajı."},"rrn":{"type":"string","description":"Referans işlem numarası (Retrieval Reference Number)."},"amount":{"type":"BigDecimal","description":"İşlem tutarı."},"currencyCode":{"type":"string","description":"İşlemin gerçekleştiği para birimi kodu."},"transactionCode":{"type":"string","description":"İşlem tipi kodu."},"recordId":{"type":"Long","description":"iyzico sistemindeki işlem kayıt numarası."},"maskedPan":{"type":"string","description":"Maskelenmiş kart numarası."},"authorizationCode":{"type":"string","description":"Banka tarafından sağlanan yetkilendirme kodu."},"responseCodeValue":{"type":"string","description":"Bankadan dönen ham yanıt kodu."},"statusCode":{"type":"string","description":"İşlemin durum kodu."},"resultText":{"type":"string","description":"İşlem sonucunun kullanıcıya gösterilecek metni."},"isVoidable":{"type":"boolean","description":"İşlemin iptal edilebilir olup olmadığını gösterir."},"isRefundable":{"type":"boolean","description":"İşlemin iade edilebilir olup olmadığını gösterir."},"bankResponseCodeValue":{"type":"string","description":"Bankadan dönen yanıt kodu."},"issuerBin":{"type":"string","description":"Kartı çıkaran bankanın BIN numarası."},"acquirerId":{"type":"string","description":"İşlemi gerçekleştiren acquirer'ın kimliği."},"hasDiscount":{"type":"boolean","description":"İşlemde indirim uygulanıp uygulanmadığını gösterir."},"hasInstallment":{"type":"boolean","description":"İşlemin taksitli olup olmadığını gösterir."}}},"Receipt":{"type":"object","properties":{"approved":{"type":"boolean","description":"Ödemenin onaylanıp onaylanmadığını gösterir."},"refundApproved":{"type":"boolean","description":"İade işleminin onaylanıp onaylanmadığını gösterir."},"voidApproved":{"type":"boolean","description":"İptal işleminin onaylanıp onaylanmadığını gösterir."},"schemaName":{"type":"string","description":"Kullanılan kart şemasının adı."},"paymentBrandUrl":{"type":"string","description":"Kart markasının logo URL'i."},"merchantLogoUrl":{"type":"string","description":"Üye işyerinin logo URL'i."},"detail":{"type":"array","description":"Fişte gösterilecek detay satırlarının listesi.","items":{"$ref":"#/components/schemas/ReceiptDetail"}}}},"ReceiptDetail":{"type":"object","properties":{"key":{"type":"string","description":"Fiş satırının anahtar adı."},"value":{"type":"string","description":"Fiş satırının değeri."}}},"ErrorResponse":{"type":"object","properties":{"status":{"type":"string","description":"İşlemin sonucunu gösterir. Hata durumunda her zaman \"failure\" döner."},"errorCode":{"type":"string","description":"iyzico tarafından tanımlanmış hata kodu. Hatanın türünü programatik olarak ayırt etmek için kullanılır."},"errorMessage":{"type":"string","description":"Hatayı açıklayan, okunabilir hata mesajı. Loglama ve hata ayıklama amacıyla kullanılabilir."}}}}},"paths":{"/crypt/decrypt":{"post":{"tags":["Payment"],"summary":"Ödeme Sonucu","description":"Ödeme tamamlandıktan sonra callback ile gelen şifreli `data` değerini çözer\nve ödeme sonucunu döner.\n","operationId":"decryptPaymentResult","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecryptRequest"}}}},"detail":{"type":"array"},"responses":{"200":{"description":"Şifre başarıyla çözüldü","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecryptResponse"}}}},"422":{"description":"Validasyon hatası — eksik veya hatalı alan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Sunucu hatası","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

### **İptal ve İade**

Tamamlanmış bir ödeme için `/payment/refund` endpoint'ini kullanabilirsiniz. `refundAmount` alanını doldurursanız kısmi iade, boş bırakırsanız tam iade gerçekleştirilir. Süreç, ödeme başlatmaya benzer şekilde işler: dönen `deepLinkUrl` üzerinden müşteri onayı alınır ve sonuç callback URL'inize iletilir.

## İptal / İade Başlat

> Daha önce gerçekleştirilmiş bir ödeme için iptal veya iade işlemi başlatır.\
> \`refundAmount\` girilmezse tam iade yapılır.<br>

```json
{"openapi":"3.0.3","info":{"title":"iyzico In-Store API","version":"3.0"},"tags":[{"name":"Payment","description":"Ödeme işlemleri servisleri"}],"servers":[{"url":"https://sandbox-api.iyzipay.com/v3/in-store","description":"Sandbox"}],"security":[{"ApiKeyAuth":[],"SecretKeyAuth":[],"MerchantIdAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"RefundRequest":{"type":"object","required":["userId","paymentId"],"properties":{"userId":{"type":"string","description":"İşlemi başlatan kullanıcı ID'si"},"paymentId":{"type":"Long","description":"İade edilecek ödemenin ID'si"},"refundAmount":{"type":"BigDecimal","nullable":true,"description":"Kısmi iade tutarı; girilmezse tam iade yapılır"}}},"RefundResponse":{"type":"object","properties":{"status":{"type":"string","description":"İşlemin sonucunu gösterir. Başarılı durumlarda \"success\" döner."},"errorCode":{"type":"string","nullable":true,"description":"Hata oluşması durumunda iyzico hata kodunu içerir, aksi hâlde null döner."},"errorMessage":{"type":"string","nullable":true,"description":"Hata oluşması durumunda açıklayıcı mesajı içerir, aksi hâlde null döner."},"deepLinkUrl":{"type":"string","description":"Müşteriyi iade onay ekranına yönlendiren deep link URL'i. İade akışı bu link üzerinden tamamlanır."},"paymentSessionToken":{"type":"string","description":"İade oturumuna özgü token. Callback sonrasında şifre çözmek için kullanılır."},"paymentId":{"type":"Long","description":"İade işlemi başlatılan orijinal ödemenin kimliği."}}},"ErrorResponse":{"type":"object","properties":{"status":{"type":"string","description":"İşlemin sonucunu gösterir. Hata durumunda her zaman \"failure\" döner."},"errorCode":{"type":"string","description":"iyzico tarafından tanımlanmış hata kodu. Hatanın türünü programatik olarak ayırt etmek için kullanılır."},"errorMessage":{"type":"string","description":"Hatayı açıklayan, okunabilir hata mesajı. Loglama ve hata ayıklama amacıyla kullanılabilir."}}}}},"paths":{"/payment/refund":{"post":{"tags":["Payment"],"summary":"İptal / İade Başlat","description":"Daha önce gerçekleştirilmiş bir ödeme için iptal veya iade işlemi başlatır.\n`refundAmount` girilmezse tam iade yapılır.\n","operationId":"refundPayment","parameters":[{"name":"x-callback-url","in":"header","required":true,"description":"İşlem sonucu bildirimi için callback URL","schema":{"type":"string","format":"uri"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefundRequest"}}}},"responses":{"200":{"description":"İade işlemi başarıyla başlatıldı","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefundResponse"}}}},"422":{"description":"Validasyon hatası — eksik veya hatalı alan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Sunucu hatası","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

### **Ödeme Sorgulama**

`/payment/query` endpoint'i, daha önce oluşturulmuş bir ödemenin güncel durumunu sorgulamanızı sağlar. Yanıtta ödeme durumu, tutar, sipariş numarası ve kullanıcı bilgisi yer alır. Bu endpoint özellikle callback alınamadığı durumlarda veya ödeme durumunu periyodik olarak doğrulamak istediğinizde kullanılır.

## Ödeme Sorgula

> Belirtilen \`paymentId\` ile bir ödemenin güncel durumunu sorgular.

```json
{"openapi":"3.0.3","info":{"title":"iyzico In-Store API","version":"3.0"},"tags":[{"name":"Payment","description":"Ödeme işlemleri servisleri"}],"servers":[{"url":"https://sandbox-api.iyzipay.com/v3/in-store","description":"Sandbox"}],"security":[{"ApiKeyAuth":[],"SecretKeyAuth":[],"MerchantIdAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"PaymentQueryResponse":{"type":"object","properties":{"status":{"type":"string","description":"İşlemin sonucunu gösterir. Başarılı durumlarda \"success\" döner."},"errorCode":{"type":"string","nullable":true,"description":"Hata oluşması durumunda iyzico hata kodunu içerir, aksi hâlde null döner."},"errorMessage":{"type":"string","nullable":true,"description":"Hata oluşması durumunda açıklayıcı mesajı içerir, aksi hâlde null döner."},"errorGroup":{"type":"string","nullable":true,"description":"Hata grubunu belirten alan. Başarılı işlemlerde null döner."},"locale":{"type":"string","nullable":true,"description":"İşlemin gerçekleştiği dil/bölge kodu."},"systemTime":{"type":"Long","description":"Sunucu tarafındaki işlem zamanı (Unix epoch, milisaniye)."},"conversationId":{"type":"string","nullable":true,"description":"İsteğe bağlı olarak iletilen konuşma/istek takip kimliği."},"paymentId":{"type":"Long","description":"Sorgulanan ödemenin iyzico sistemindeki benzersiz kimliği."},"orderId":{"type":"string","description":"Ödeme oluşturulurken iletilen sipariş referans numarası."},"userId":{"type":"string","description":"Ödemeyi gerçekleştiren kullanıcının kimliği."},"transactionDetail":{"description":"Ödemeye ait banka işlem detayları, kart bilgileri ve fiş verilerini içeren nesne.","$ref":"#/components/schemas/QueryTransactionDetail"}}},"QueryTransactionDetail":{"type":"object","properties":{"screenMessage":{"type":"string","description":"Ekranda gösterilecek bilgilendirme mesajı."},"rrn":{"type":"string","description":"Referans işlem numarası (Retrieval Reference Number)."},"transactionDate":{"type":"string","description":"İşlem tarihi ve saati (okunabilir format)."},"transactionDateISO":{"type":"string","format":"date-time","description":"İşlem tarihi ve saati (ISO 8601 formatında)."},"receipt":{"type":"object","description":"Fişe ait özet bilgiler ve detay satırları.","properties":{"detail":{"type":"array","items":{"$ref":"#/components/schemas/QueryReceiptDetail"}},"paymentBrandUrl":{"type":"string","description":"Kart markasının logo URL'i."},"merchantLogoUrl":{"type":"string","description":"Üye işyerinin logo URL'i."},"schemaName":{"type":"string","description":"Kullanılan kart şemasının adı."},"approved":{"type":"boolean","description":"İşlemin onaylanıp onaylanmadığını gösterir."}}},"approved":{"type":"string","description":"Banka onay kodu."},"amount":{"type":"BigDecimal","description":"İşlem tutarı."},"currencyCode":{"type":"string","description":"İşlemin gerçekleştiği para birimi kodu."},"transactionCode":{"type":"string","description":"İşlem tipi kodu."},"recordId":{"type":"Long","description":"iyzico sistemindeki işlem kayıt numarası."},"maskedPan":{"type":"string","description":"Maskelenmiş kart numarası."},"authorizationCode":{"type":"string","description":"Banka tarafından sağlanan yetkilendirme kodu."},"responseCodeValue":{"type":"string","description":"Bankadan dönen ham yanıt kodu."},"statusCode":{"type":"string","description":"İşlemin durum kodu."},"hexColor":{"type":"string","description":"İşlem durumuna karşılık gelen renk kodu."},"resultText":{"type":"string","description":"İşlem sonucunun kullanıcıya gösterilecek metni."},"isVoidable":{"type":"boolean","description":"İşlemin iptal edilebilir olup olmadığını gösterir."},"isRefundable":{"type":"boolean","description":"İşlemin iade edilebilir olup olmadığını gösterir."},"bankResponseCodeValue":{"type":"string","description":"Bankadan dönen yanıt kodu."},"issuerBin":{"type":"string","description":"Kartı çıkaran bankanın BIN numarası."},"acquirerId":{"type":"string","description":"İşlemi gerçekleştiren acquirer'ın kimliği."},"clearingDate":{"type":"string","nullable":true,"description":"Takas tarihi. Henüz gerçekleşmemişse null döner."},"hasDiscount":{"type":"boolean","description":"İşlemde indirim uygulanıp uygulanmadığını gösterir."},"discount":{"type":"object","nullable":true,"description":"İndirim detayları. İndirim yoksa null döner."}}},"QueryReceiptDetail":{"type":"object","properties":{"key":{"type":"string","description":"Fiş satırının anahtar adı."},"value":{"type":"string","description":"Fiş satırının değeri."},"colorHex":{"type":"string","description":"Fiş satırının renk kodu (hex)."},"showCheck":{"type":"boolean","description":"Fiş satırında onay işareti gösterilip gösterilmeyeceği."},"showTimes":{"type":"boolean","description":"Fiş satırında çarpım gösterilip gösterilmeyeceği."}}},"ErrorResponse":{"type":"object","properties":{"status":{"type":"string","description":"İşlemin sonucunu gösterir. Hata durumunda her zaman \"failure\" döner."},"errorCode":{"type":"string","description":"iyzico tarafından tanımlanmış hata kodu. Hatanın türünü programatik olarak ayırt etmek için kullanılır."},"errorMessage":{"type":"string","description":"Hatayı açıklayan, okunabilir hata mesajı. Loglama ve hata ayıklama amacıyla kullanılabilir."}}}}},"paths":{"/payment/query":{"get":{"tags":["Payment"],"summary":"Ödeme Sorgula","description":"Belirtilen `paymentId` ile bir ödemenin güncel durumunu sorgular.","operationId":"queryPayment","parameters":[{"name":"paymentId","in":"query","required":true,"description":"Sorgulanacak ödemenin ID'si","schema":{"type":"Long"}}],"responses":{"200":{"description":"Ödeme bilgileri başarıyla döndü","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentQueryResponse"}}}},"422":{"description":"Validasyon hatası — eksik veya hatalı alan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Sunucu hatası","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```
