Menü

Ingenico POS Cihazları için
Komple Entegrasyon Çözümü

Eczane, restoran, market ve benzinlik sistemleri için hazır protokol kütüphanesi ve dokümantasyon

örnek_kullanım.py
from okc_client import OKCClient

# POS bağlantısı
client = OKCClient('192.168.1.245')

# İşlem başlat
trans_id = client.start_transaction()

# Ürün ekle
client.add_item(
    name="Aspirin 100mg",
    quantity=2,
    price=25.50,
    vat_rate=8
)

# Ödeme al
success, result = client.process_payment(51.00)

Özellikler

code

Hazır Kütüphaneler

Python, C#, Node.js için hazır client kütüphaneleri

api

REST API & WebSocket

Modern web servisi ve gerçek zamanlı iletişim

phone_android

PWA Desteği

Android ve Windows için Progressive Web App

error_outline

Hata Yönetimi

Detaylı hata kodları ve çözüm önerileri

business

Sektörel Örnekler

Eczane, restoran, market ve benzinlik entegrasyonları

offline_bolt

Offline Destek

İnternet kesintilerinde çalışmaya devam

Hızlı Başlangıç

1

Kurulum

# Python için
pip install -r requirements.txt

# Node.js için
npm install

# Docker ile
docker-compose up -d
2

Bağlantı Testi

from okc_client import OKCClient

client = OKCClient('192.168.1.245', 7500)
if client.ping():
    print("POS bağlantısı başarılı!")
else:
    print("Bağlantı hatası!")
3

İlk İşlem

# İşlem başlat
trans_id = client.start_transaction("KASA1")

# Ürün ekle
client.add_item("Test Ürün", 1, 100.00)

# Ödeme
success, result = client.process_payment(100.00)

Dokümantasyon

lan

Protokol Analizi

TLV yapısı, mesaj formatları ve iletişim detayları

Görüntüle →
integration_instructions

Entegrasyon Kılavuzu

Adım adım entegrasyon ve best practices

Görüntüle →
api

API Referansı

Tüm metodlar, parametreler ve response'lar

Görüntüle →
warning

Hata Kodları

Tüm hata kodları, anlamları ve çözümleri

Görüntüle →

Sektörel Örnekler

Eczane POS Entegrasyonu

Reçeteli satış, SGK entegrasyonu ve ilaç yönetimi

class PharmacyPOS:
    def process_prescription_sale(self, prescription_no, patient_tc):
        """Reçeteli satış işlemi"""
        
        # İşlem başlat
        trans_id = self.client.start_transaction("ECZACI1")
        
        # Reçeteli ilaçlar
        medicines = [
            {
                "barcode": "8699532080158",
                "name": "AUGMENTIN BID 1000 MG",
                "patient_payment": 25.10,  # Hasta ödemesi
                "sgk_payment": 100.40      # SGK ödemesi
            }
        ]
        
        # Sadece hasta ödemesini POS'a gönder
        for med in medicines:
            self.client.add_item(
                name=med['name'],
                unit_price=med['patient_payment'],
                vat_rate=8,  # İlaç KDV'si
                department=Department.MEDICINE
            )
        
        # Ödeme işlemi
        success, result = self.client.process_payment(
            total_patient_payment,
            PaymentType.CREDIT_CARD
        )

Restoran POS Entegrasyonu

Masa yönetimi, sipariş takibi ve bahşiş hesaplama

class RestaurantPOS:
    def close_table(self, table_no, tip_percentage=10):
        """Masa hesabını kapat"""
        
        table = self.tables[table_no]
        trans_id = self.client.start_transaction(f"MASA_{table_no}")
        
        # Siparişleri ekle
        for item in table['items']:
            vat = 8 if item['category'] == 'YEMEK' else 18
            
            self.client.add_item(
                name=item['name'],
                quantity=item['quantity'],
                unit_price=item['price'],
                vat_rate=vat,
                department=Department.RESTAURANT
            )
        
        # Bahşiş ekle
        tip = subtotal * (tip_percentage / 100)
        total = subtotal + tip
        
        # Ödeme al
        success, result = self.client.process_payment(total)

Market POS Entegrasyonu

Barkod okuma, kampanya yönetimi ve stok takibi

class MarketPOS:
    def checkout(self, payment_type):
        """Kasa işlemi"""
        
        trans_id = self.client.start_transaction("KASIYER1")
        
        for item in self.basket:
            # KDV oranını belirle
            vat = self.get_vat_rate(item['category'])
            
            self.client.add_item(
                name=item['name'],
                quantity=item['quantity'],
                unit_price=item['price'],
                vat_rate=vat,
                barcode=item['barcode'],
                discount=item.get('discount', 0)
            )
        
        # Kampanya indirimi uygula
        total = subtotal - campaign_discount
        
        # Ödeme işlemi
        success, result = self.client.process_payment(total)

Benzinlik POS Entegrasyonu

Yakıt satışı, pompa yönetimi ve karma satış

class GasStationPOS:
    def fuel_sale(self, pump_no, fuel_type, liters, plate_no):
        """Yakıt satışı"""
        
        trans_id = self.client.start_transaction(f"POMPA_{pump_no}")
        
        # Güncel yakıt fiyatı
        price_per_liter = self.fuel_prices[fuel_type]
        
        # Yakıt satışını ekle
        self.client.add_item(
            name=f"{fuel_type} - {plate_no}",
            quantity=liters,
            unit_price=price_per_liter,
            vat_rate=18,
            department=Department.FUEL
        )
        
        total = liters * price_per_liter
        
        # Ödeme
        success, result = self.client.process_payment(total)

Yardımcı Araçlar

terminal

Network Monitor

POS trafiğini izleme ve analiz aracı

./network_monitor.sh 192.168.1.245
bug_report

Log Parser

Transaction loglarını analiz etme

python log_parser.py --file pos.log
science

POS Simulator

Test için POS simülatörü

python pos_simulator.py --port 7500
qr_code_scanner

Barcode Generator

Test barkodları oluşturma

python barcode_gen.py --type EAN13

Sık Karşılaşılan Hatalar

Hata Kodu Açıklama Çözüm
0x0825 Ödeme başarısız Kart bilgilerini kontrol edin
0x2508 Kullanıcı vazgeçti Normal iptal durumu
0x0826 Yetersiz bakiye Başka kart deneyin
0x0827 Kart blokeli Banka ile iletişime geçin
0x0829 Kartın süresi dolmuş Geçerli kart kullanın

Tüm Paketi İndir

Dokümantasyon, kaynak kodlar ve örneklerin tamamını indirin