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.

https://documenter.getpostman.com/view/1546119/2sA2r55RMD

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.

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

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

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

email 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.
email 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"            
        }
    }
}