Terminal API Entegrasyonu
Genel Bakış
Terminal API, Yazar Kasa ile Fiziksel POS cihazları arasında ödeme işlemleri sırasında güvenli ve kontrollü bir haberleşme sağlamak amacıyla geliştirilmiş özel bir iletişim protokolüdür.
Bu API, ödeme sürecinin başlatılmasından sonucun tekrar yazar kasaya iletilmesine kadar olan tüm akışı standart ve deterministik bir yapı ile tanımlar.
Dokümantasyon Kapsamı
Bu doküman kapsamında aşağıdaki başlıklar ele alınmaktadır:
Terminal API temel kavramları
Ödeme yaşam döngüsü ve durumları
İstek / yanıt mesaj formatlar
Entegrasyon Adımları
iyzico Fiziksel POS entegrasyonu, güvenli kimlik doğrulama ve kontrollü işlem adımlarından oluşan bir akış üzerinden çalışır. Bu bölüm, entegrasyonun hangi sırayla ve hangi amaçla ilerlediğini genel hatlarıyla açıklar.
1. Kullanıcı Doğrulama ve Yetkilendirme Başlatma
Entegrasyonun ilk adımında, üye işyeri sisteminde tanımlı kullanıcı bilgileri ile bir yetkilendirme süreci başlatılır.
Bu adımda:
Kullanıcı doğrulanır
Yetkilendirme sürecini temsil eden Authorization Code üretilir
Bu kod:
Kısa süreli ve tek kullanımlıktır
Bir sonraki adımda erişim yetkisi almak için kullanılır
2. Erişim Yetkisi (Access Token) Alma
Üretilen Authorization Code kullanılarak sistem tarafından bir access token oluşturulur.
Bu token:
Ödeme, iptal, iade ve günsonu işlemleri dahil tüm servis çağrılarında kullanılır
Süreli olarak geçerlidir
Süresi dolduğunda yenilenmesi gerekir
Bu aşamadan sonra sistem, yetkili bir terminal olarak işlem yapabilir duruma gelir.
3. Satış İşleminin Tamamlanması
Yetkilendirme tamamlandıktan sonra, satış işlemi başlatılır ve ödeme süreci tamamlanır.
Bu adımda:
Satışa ait benzersiz bir referans oluşturulur
Terminal ve yazar kasa bazlı kimliklendirme yapılır
Ödeme sonucu sistem tarafından kayıt altına alınır
İşlem sonunda dönen paymentId, sonraki tüm işlemler (iptal, iade, sorgu) için temel referans olarak kullanılır.
4. İşlem Durumu Sorgulama
Gerçekleşen işlemlerin durumu bu adımda sorgulanabilir.
Bu sorgulama ile:
Satışın başarılı olup olmadığı
İptal veya iade işlemlerinin durumu
İlgili işleme ait detaylar
tek bir servis üzerinden görüntülenebilir.
5. Satış İptali (Void)
Aynı gün içerisinde yapılan bir satışın iptali gerektiğinde bu adım kullanılır.
Orijinal satış işlemi ile ilişkilendirilir
Başarılı olması durumunda işlem sonucu sisteme iletilir
Bu adım yalnızca gün kapanışı yapılmamış işlemler için geçerlidir.
6. İade (Refund)
Satış sonrası, tam veya kısmi iade işlemleri bu adım üzerinden gerçekleştirilir.
Satıştan bağımsız, kendine ait bir referans ile yapılır
Başarılı olduğunda iade bilgileri sistem tarafından döndürülür
7. Günsonu (End of Day – EOD)
Gün içerisinde yapılan işlemlerin bankaya kapatılması için günsonu işlemi gerçekleştirilir.
Bu adımda:
Günlük işlemler toplu olarak kapatılır
Özet ve toplam bilgiler alınabilir
Banka tarafındaki batch süreci tamamlanır
Mimari Akış
Terminal API kapsamında ödeme akışı aşağıdaki şekilde ilerler:
Yazar Kasa, ödeme başlatma isteğini oluşturur.
POS cihazı, kullanıcı ile etkileşimi (kart okuma, şifre girişi, temassız vb.) yönetir.
Ödeme sonucu, tanımlı protokol mesajları ile tekrar yazar kasaya iletilir.
Protokol Tasarımı
Terminal API, tarafımızca tasarlanmış ve geliştirilen özel bir protokoldür.
Mesaj formatları, durum geçişleri ve hata senaryoları açık şekilde tanımlanmıştır.
Protokol aşağıdaki hedefler gözetilerek tasarlanmıştır:
Düşük gecikme süresi
Net ve öngörülebilir yanıtlar
Standartlaştırılmış hata yönetimi
POS üreticilerine özel genişletilebilir yapı
Desteklenen Poslar
Şu anda Terminal API aşağıdaki POS üreticisi ile uyumludur:
Pavo
İlerleyen aşamalarda, aynı protokol yapısı korunarak farklı POS üreticileri için destek eklenebilir.
Örnek Uygulama
1. Kullanıcı Doğrulama ve Yetkilendirme Başlatma
Response
2 .Erişim Yetkisi (Access Token) Alma
Reponse
3. Satış İşleminin Tamamlanması
Request
Response
4. Gün Sonu
Request
Response
Last updated
