Vomsis Sanal POS API
Vomsis Sanal POS API Geliştirici Portalı'na Hoş Geldiniz...
Geliştirici Portalı, Vomsis Sanal POS API'lerini kullanarak kendi sisteminiz üzerinden ödeme almanıza olanak sağlar. İlk uygulamaya başlamanız için ihtiyacınız olan her şeyi sağladık. Yetkilendirme ve API Kullanımı bölümlerini içeren aşağıdaki kılavuza göz atmanızı öneririz.
Vomsis API KEY ve SECRET nasıl oluşturulur?
Vomsis panel üzerinden, API Ayarları sayfası ile yeni api uygulaması oluşturabilirsiniz. Oluşturulan api uygulaması detayından otomatik oluşturulan API KEY ve SECRET değerlerini alabilirsiniz. Uygulama oluştururken girdiğiniz statik ip adresi üzerinden isteklerde bulunabileceğinizi unutmayın.

Postman Collections
Servislerin kullanırken Postman koleksiyonlarından yardım alabilir örnek kod çıktıları ile servisleri projelerinize hızlıca adapte edebilirsiniz. Dökümana aşağıdaki link üzerinden ulaşabilirsiniz.
Authentication - User Authentication
POST https://uygulama.vomsis.com/api/vpos/v3/auth/token
Params
Field | Type | Description |
---|---|---|
app_key | String |
Api Key |
app_secret | String |
Api Secret |
Response
Field | Type | Description |
---|---|---|
success | boolean | |
access_token | String |
Bearer access token |
Installments
POST https://uygulama.vomsis.com/api/vpos/v3/installments
Headers
Field | Type | Description |
---|---|---|
Authorization | String |
Bearer {access_token} |
Response
{ "pos_banks": [ { "bank_name": "akbank", "family": "Axess", "installment": [ { "installment": 1, "title": "Tek Çekim", "status": "true", "rate": 0, "extra_installment": 0, "discount_rate": 0 }, { "installment": 2, "title": "2 Taksit", "status": "true", "rate": 0, "extra_installment": "3", "discount_rate": 0 }, { "installment": 3, "title": "3 Taksit", "status": "true", "rate": 0, "extra_installment": "3", "discount_rate": 0 } ] }, { "bank_name": "isbank", "family": "Maximum", "installment": [ { "installment": 1, "title": "Tek Çekim", "status": "true", "rate": 0, "extra_installment": 0, "discount_rate": 0 }, { "installment": 2, "title": "2 Taksit", "status": "true", "rate": 0, "extra_installment": "3", "discount_rate": 0 }, { "installment": 3, "title": "3 Taksit", "status": "true", "rate": 0, "extra_installment": "3", "discount_rate": 0 } ] } ] }
BIN Check / Get Installments
POST https://uygulama.vomsis.com/api/vpos/v3/bin-check
Headers
Field | Type | Description |
---|---|---|
Authorization | String |
Bearer {access_token} |
Request Body
Field | Type | Description |
---|---|---|
cc_number | integer |
Girilen kartın ilk 6 hanesi. |
Response
Field | Type | Description |
---|---|---|
success | boolean | |
message | string |
İşlem başarısız ise hata açıklaması burada yazar. |
posId | integer |
Ödeme alınacak POS'un ID'si |
availablePosName | string |
Ödeme alınacak POS'un banka adı. |
cardLogo | string |
Girilen kartın ait olduğu banka logosu. |
cardAssociation | string |
Girilen kartın tipi. (MASTER_CARD, VISA, AMEX, TROY...) |
cardFamilyName | string |
Girilen kartın ailesi. (Bonus, World...) |
cardType | string |
Kart tipi (DEBIT, CREDIT_CARD) |
bankName | string |
Girilen kartın ait olduğu banka |
force3d | boolean |
3D işlemi zorunlu tutulması. |
installments | array |
Girilen karta uygulunabilecek taksit bilgileri. |
Payment
POST https://uygulama.vomsis.com/api/vpos/v3/payment
Headers
Field | Type | Description |
---|---|---|
Authorization | String |
Bearer {access_token} |
Request Body
Field | Type | Description |
---|---|---|
referanceNo | string |
Benzersiz işlem ID'si. Burada gönderdiğiniz değer Vomsis tarafında ve banka tarafında saklanır. Bu değere göre iki tarafta da sorgulama yapılabilir. (Zorunlu) |
returnUrl | string |
Ödeme işlemi sonrası dönen sonucun uygulamanıza gönderileceği callback uridir. (Zorunlu) |
lang | string |
tr, en değerlerini alabilir. (Opsiyonel) |
creditCardHolderName | string |
Kartın ön yüzündeki ad soyad. (Zorunlu) |
creditCardPan | integer |
Kart numarası (Zorunlu) |
creditCardExpiryMonth | string |
Örnek: 06 (Zorunlu) |
creditCardExpiryYear | string |
Örnek: 2025 (Zorunlu) |
creditCardCvc | integer |
Örnek: 000 (Zorunlu) |
installment | integer |
Taksit sayısı. Belirtilmediğinde 1 değerini alır. (Opsiyonel) |
installment_ratio | integer |
Komisyon'u dilerseniz buradan elle istediğiniz değeri gönderebilir, dilerseniz binCheck servisinden dönen; Vomsis uygulamasında ayarlanmış olan POS'un taksit vade oranlarını gönderebilirsiniz. (Opsiyonel) |
amount | float |
Örnek: 100.00 (Zorunlu) |
currency | string |
TRY,USD,GBP,EUR değerlerini alabilir. Belirtilmediğinde TRY değerni alır. (Opsiyonel) |
paymentNote | string |
İşleme ait not. (Opsiyonel) |
invoiceType | string |
Fatura bilgi cinsi. (commercial,individual değerleri alabilir) (Opsiyonel) |
user.title | string |
İşlem yapılan müşteri ünvanı. (Opsiyonel) |
user.name | string |
İşlem yapılan müşteri ad soyadı. (Opsiyonel) |
user.email | string |
İşlem yapılan müşteri e-mail adresi. (Opsiyonel) |
user.phone | string |
İşlem yapılan müşteri telefonu. (Opsiyonel) |
user.tax_office | string |
İşlem yapılan müşteri vergi dairesi. (Opsiyonel) |
user.tax_no | integer |
İşlem yapılan müşteri vergi no / tckn. (Opsiyonel) |
user.address | string |
İşlem yapılan müşteri adres bilgisi. (Opsiyonel) |
securePayment | boolean |
İşlem güvenli ödeme yöntemi ile mi gerçekleştirilecek? (3D Secure) (Zorunlu) |
Response
Field | Type | Description |
---|---|---|
gateway | string |
3d işleminin başlatılması için gönderilmesi gereken banka tarafındaki URL'dir. |
inputs | array |
İçerisindeki parametre ve değerler gateway'de dönen URL ye POST edilir ve 3d ekranına yönlendirme yapılır. |
htmlContent | html |
Bu parametre sayfaya basıldığında otomatik olarak bu değerler bankaya gönderilir ve 3d ekranı açılır. |
Transaction Detail
GET https://uygulama.vomsis.com/api/vpos/v3/transaction/find
Headers
Field | Type | Description |
---|---|---|
Authorization | String |
Bearer {access_token} |
Request Body
Field | Type | Description |
---|---|---|
referanceNo | string |
Benzersiz işlem idsi. |
Response
Field | Type | Description |
---|---|---|
referanceNo | string |
Benzersiz işlem no. |
transactionDate | string |
İşlem tarihi ve saati. |
posName | string |
İşlemin gerçekleştirildiği POS. |
errorCode | string |
İşlem hata kodu. |
errorMessage | string |
İşlem hata mesajı. |
description | string |
İşlem açıklaması. |
maskedPan | string |
Maskeli kredi kart no. |
creditCardBank | string |
Kredi Kart banka adı. |
clientIp | string |
Müşteri ip adresi. |
amount | string |
Tutar |
paidAmount | string |
Ödenen tutar |
installment | string |
Taksit sayısı. |
installmentRatio | string |
Taksit komisyon oranı. |
Refund / Cancel
POST https://uygulama.vomsis.com/api/vpos/v3/transaction
Headers
Field | Type | Description |
---|---|---|
Authorization | String |
Bearer {access_token} |
Request Body
Field | Type | Description |
---|---|---|
transactionType | string |
Sadece refund ve cancel değerlerini alabilir. refund iade için, cancel iptal için kullanılır. |
referanceNo | string |
İşlemin benzersiz ID'si |
amount | float |
İade işlemlerinde zorunludur. Örnek: 100.00 |
Response
Field | Type | Description |
---|---|---|
transId | string |
Benzersiz işlem idsi. |
response | string |
Approved, Declined, Error değerlerini alır. |
proc_return_code | string |
İşlem sonuç kodu. |
error_code | string |
İşlem hata kodu. |
error_message | string |
İşlem hata mesajı. |
Customers
GET https://uygulama.vomsis.com/api/vpos/v3/customers
Headers
Field | Type | Description |
---|---|---|
Authorization | String |
Bearer {access_token} |
Response
Field | Type | Description |
---|---|---|
id | integer |
Benzersiz işlem idsi. |
string |
Müşteri e-posta adresi. |
|
related | array |
Müşterinin varsa bağlı olduğu bayi bilgileri. |
companyTitle | string |
Müşteri ünvanı. |
invoices | array |
Müşteri fatura bilgileri. |
Customer Detail
GET https://uygulama.vomsis.com/api/vpos/v3/customer/{id}
Headers
Field | Type | Description |
---|---|---|
Authorization | String |
Bearer {access_token} |
Response
Field | Type | Description |
---|---|---|
id | integer |
Benzersiz işlem idsi. |
string |
Müşteri e-posta adresi. |
|
related | array |
Müşterinin varsa bağlı olduğu bayi bilgileri. |
companyTitle | string |
Müşteri ünvanı. |
invoices | array |
Müşteri fatura bilgileri. |
Customer Detail
POST https://uygulama.vomsis.com/api/vpos/v3/customers/store
Headers
Field | Type | Description |
---|---|---|
Authorization | String |
Bearer {access_token} |
Request Body
Field | Type | Description |
---|---|---|
string |
Müşteri e-posta adresi. |
|
password | string |
Müşteri parola. |
companyTitle | string |
Müşteri ünvan. |
gsm | string |
Müşteri telefon numarası. |
invoiceInformation | array |
Müşteri fatura bilgileri. |
invoiceInformation.invoiceInfoName | string |
Müşteri fatura başlığı. |
invoiceInformation.invoiceType | enum |
Müşteri fatura türü (commercial,individual). |
invoiceInformation.nameSurname | string |
Müşteri ad soyad. |
invoiceInformation.taxNumber | integer |
Müşteri vergi kimlik/tc kimlik no.. |
invoiceInformation.invoiceEmail | string |
Müşteri e-posta. |
invoiceInformation.phone | string |
Müşteri telefon. |
invoiceInformation.address | string |
Müşteri adres. |
invoiceInformation.companyTitle | string |
Müşteri fatura bilgileri. |
invoiceInformation.taxOffice | string |
Müşteri vergi dairesi. |
Response
Field | Type | Description |
---|---|---|
id | integer |
Benzersiz işlem idsi. |
string |
Müşteri e-posta adresi.. |
|
related | array |
Müşterinin varsa bağlı olduğu bayi bilgileri. |
companyTitle | string |
Müşteri ünvanı. |
invoices | array |
Müşteri fatura bilgileri. |
Customer Update
PUT https://uygulama.vomsis.com/api/vpos/v3/customers/{id}
Headers
Field | Type | Description |
---|---|---|
Authorization | String |
Bearer {access_token} |
Request Body
Field | Type | Description |
---|---|---|
string |
Müşteri e-posta adresi. |
|
password | string |
Müşteri parola. |
companyTitle | string |
Müşteri ünvan. |
gsm | string |
Müşteri telefon numarası. |
Response
Field | Type | Description |
---|---|---|
id | integer |
Benzersiz işlem idsi. |
string |
Müşteri e-posta adresi.. |
|
related | array |
Müşterinin varsa bağlı olduğu bayi bilgileri. |
companyTitle | string |
Müşteri ünvanı. |
invoices | array |
Müşteri fatura bilgileri. |
Customer Delete
DELETE https://uygulama.vomsis.com/api/vpos/v3/customer/{id}
Headers
Field | Type | Description |
---|---|---|
Authorization | String |
Bearer {access_token} |
Response
Field | Type | Description |
---|---|---|
success | boolean |
İşlem başarılı/başarısız. |
message | string |
İşlem mesajı |
Payment Request API
Create Payment Request
POST https://uygulama.vomsis.com/api/vpos/v3/request-payment
Bu servis ile gönderilen istek paremetreleri ile ödeme talebi oluşturulur.
Headers
Field | Type | Description |
---|---|---|
Authorization | String | Bearer {access_token} |
Request Parameters
Field | Type | Required | Description |
---|---|---|---|
title | String | Optional | Tahsilat başlığı. Girilmezse default (Yeni Ödeme) değeri verilir. |
amount | String | Required | Tutar 0’dan büyük olmalı. |
expire_date | String (dd.mm.yyyy) | Optional | Talebin geçerli olacağı son tarih. Boş bırakılırsa default 3 ay sonrası kabul edilir. |
String | Optional | E-posta gönderilecek müşteriye ait mail adresi. | |
phone | String | Optional | SMS gönderilecek olan müşteriye ait telefon numarası. (0551234567) |
sms_notification | Boolean | Optional | true gönderilirse SMS bildirimi aktif olur. |
mail_notification | Boolean | Optional | true gönderilirse e-posta bildirimi aktif olur. |
lang | string (en,de,it,es,tr) | Optional | Bildirim metinlerinin dil seçimi. Varsayılan (tr). |
max_installments | int | Optional | Maksimum taksit sayısı. Varsayılan (0 = taksit yok). |
currency | string (TRY, USD, EUR) | Optional | Para birimi. (Varsayılan TRY). |
inputs | Array | Optional | Ödeme talebi oluşturmada müşteriden toplanacak ek alanlar bulunur. Anahtar adları sizin form yapınıza göre değişebilir. |
inputs:
Bu alanda ek olarak gönderilecek fatura veya iletişim bilgileri gibi bilgilerin detaylandırılmasını sağlayan dinamik alanlar yer alır.
Her alt anahtar, form üzerinde nasıl görüntüleneceğini ve kullanıcının müdahalesine (değiştirilebilir olup olmadığı, zorunluluk durumu vb.) dair ayarları içerir.
-
show:
Bu özellik, ilgili alanın kullanıcı arayüzünde görünüp görünmeyeceğini belirler.
Örnek: "true" değeri alanın ekranda gösterileceğini, "false" ise gizleneceğini ifade eder. -
changable:
Bu özellik, kullanıcının ilgili alanın değerini değiştirme yetkisine sahip olup olmadığını kontrol eder.
Örnek: "true" değeri, kullanıcının alanı düzenleyebileceğini; "false" değeri alanın salt okunur olduğunu belirtir. -
required:
Bu özellik, alanın doldurulmasının zorunlu olup olmadığını belirtir.
Örnek: "true" değeri alanın doldurulmasının zorunlu olduğunu, "false" değeri ise isteğe bağlı olduğunu gösterir.
Bu dinamik ayarlarla, ödeme formu üzerindeki ek alanların görünürlüğü, düzenlenebilirliği ve zorunluluk durumu, uygulamanın ihtiyaçlarına göre özelleştirilebilir hale gelir.
Request Example (basic)
{ "title": "ödeme test", "amount": "10", "expire_date": "12.12.2025", "email": "example@domain.com", "phone": "05555555555", "sms_notification": true, "mail_notification": true, "lang": "tr", "max_installments": 2, "currency": "TRY", }
Request Example (detailed) içerisindeki invoiceType: Bu alan, gönderilecek fatura bilgilerinin yapısını belirler.
Bireysel (individual):
Müşterinin kimlik bilgileri (örneğin: ad soyad, e-posta, telefon, adres, T.C. kimlik numarası veya vergi numarası) gönderilir.
Bu durumda, fatura için kişisel bilgiler kullanılır.
Kurumsal (commercial):
Şirket bilgileri (örneğin: şirket unvanı, vergi dairesi, vergi numarası, e-posta, telefon, adres) gönderilir.
Kurumsal faturalandırmada, bireyselden farklı olarak şirketin resmi bilgileri kullanılır.
Request Example (detailed)
{ "title": "ödeme test", "phone": "05555555555", "email": "example@domain.com", "amount": "10", "currency": "TRY", "expire_date": "12.12.2025", "max_installments": 2, "sms_notification": true, "mail_notification": true, "lang": "tr", "inputs": { "infoEmails": { "value": "example@domain.com", "show": "true", "changable": "true", "required": "true" }, "description": { "show": "true", "changable": "true", "required": "true" }, "invoiceType": { "value": "individual" }, "nameSurname": { "value": "John doe", "show": "true", "changable": "true", "required": "false" }, "email": { "value": "example@domain.com", "show": "true", "changable": "true", "required": "false" }, "phone": { "value": "05555555555", "show": "true", "changable": "true", "required": "false" }, "taxNumber": { "value": "12121212", "show": "true", "changable": "true", "required": "false" }, "address": { "value": "123 Sample Street, İstanbul", "show": "true", "changable": "true", "required": "false" } } }
Success Response
{ "payment_uid": "149b13aa-1ab3-11f0-838a-e9b87fc9797a", "success": true, "message": "İşlem Başarılı" }
List Payment Requests
GET https://uygulama.vomsis.com/api/vpos/v3/request-payment?page=1
Bu servis ile gönderilen istek paremetreleri ile gönderilen ödeme talepleri listelenir.
Headers
Field | Type | Description |
---|---|---|
Authorization | String | Bearer {access_token} |
Example Response
{ "success": true, "items": { "current_page": 1, "data": [ { "uid": "149b13aa-1ab3-11f0-848a-e9b87fc9797a", "baslik": "ödeme test", "tutar": "10", "telefon": "05555555555", "gecerlilik_tarihi": "2025-04-08 23:59:59", "lang": "tr", "inputs": { "infoEmails": { "value": "example@domain.com", "show": "true", "changable": "true", "required": "true" }, "description": { "show": "true", "changable": "true", "required": "true" }, "invoiceType": { "value": "individual" }, "nameSurname": { "value": "John Doe", "show": "true", "changable": "true", "required": "false" }, "email": { "value": "example@domain.com", "show": "true", "changable": "true", "required": "false" }, "phone": { "value": "05555555555", "show": "true", "changable": "true", "required": "false" }, "taxNumber": { "value": "12121212", "show": "true", "changable": "true", "required": "false" }, "address": { "value": "123 Sample Street, İstanbul", "show": "true", "changable": "true", "required": "false" } }, "max_taksit": 2, "para_birimi": "TRY", "durum": "Beklemede", "created_at": "2025-04-21 09:18:53" } } ], "first_page_url": "https://vomsis.test/api/vpos/v3/payment?page=1", "from": 1, "last_page": 15, "last_page_url": "https://vomsis.test/api/vpos/v3/payment?page=15", "next_page_url": "https://vomsis.test/api/vpos/v3/payment?page=2", "path": "https://vomsis.test/api/vpos/v3/payment", "per_page": 15, "prev_page_url": null, "to": 15, "total": 222 }
Delete Payment Request
DELETE https://uygulama.vomsis.com/api/vpos/v3/request-payment/{uid}
Bu servis ile gönderilen istek paremetreleri ile gönderilen ödeme talepleri silinebilir.
Headers
Field | Type | Description |
---|---|---|
Authorization | String | Bearer {access_token} |
Path Parameter: uid
(payment_uid)
Success Response
{ "success": true, "message": "Ödeme talebi başarılı bir şekilde silindi." }
Failure Response
{ "success": false, "message": "Silinecek ödeme talebi bulunamadı." }
Detail Payment
GET https://uygulama.vomsis.com/api/vpos/v3/request-payment/{uid}
Bu servis ile gönderilen istek paremetreleri ile gönderilen ödeme talepleri detayları görüntülenebilir.
Example Response
{ "success": true, "requestDetail": { "uid": 7f6ce58c-1e78-11f0-ac74-0a00c7465c20, "title": "Invoice Payment", "status": "Pending", "installments": 3, "information_email": "example@domain.com", "information_phone": "05555555555", "email_notification": "Active", "sms_notification": "Inactive" "payment_info": { "link": "https://demotahsilat.odemetahsilat.com/?tuid=418a632e-1f50-11f0-a12c-0a00c7465c20", "amount": "10 TRY", "expire_date": "30.09.2025", "description": "note", "created_date": "01.03.2025 12:00:00" } } }