MDB protokolü nedir?
MDB (Multi-Drop Bus), bir otomatın bozuk para ünitesi, banknot okuyucu ve kartlı ödeme terminaliyle konuşmasını sağlayan seri protokoldür. Otomat ödeme sisteminin temelini burada anlatıyoruz.
Otomat işletiyorsanız, yıllardır MDB'ye güveniyorsunuz — üstelik onu hiç görmeden. MDB, bir kahve otomatının, atıştırmalık makinesinin ya da soğutucunun; makine ile ödeme cihazı birbirinin iç yapısını hiç bilmeden bozuk para, banknot veya kart kabul etmesini sağlayan sessiz standarttır. Bu protokolü anlamak, bir makineye “kapalı kutu” olarak mı yoksa “genişletilebilir bir platform” olarak mı bakacağınızı belirler.
Tek cümleyle MDB
MDB — Multi-Drop Bus — tek bir yöneticiyi (otomat kontrol kartını) tek bir paylaşımlı hat üzerinden birçok ödeme ve çevre birimine bağlayan seri bir protokoldür. Otomat sektörü tarafından (ABD'de NAMA, Avrupa'da EVA) standartlaştırıldı; amacı, uyumlu herhangi bir bozuk para ünitesinin, banknot okuyucunun veya nakitsiz ödeme cihazının uyumlu herhangi bir makineye takılabilmesiydi. Bu uyumluluk işin özüdür: makine, bozuk para ünitesini kimin ürettiğini umursamaz; bozuk para ünitesi de ne sattığını umursamaz.
Fiziksel resim
MDB, 9600 baud hızında çalışan iki telli bir seri hattır ve opto-izolelidir — yani bir çevre birimindeki arıza, makine kontrol kartına zarar veremez. Bir cihaz — VMC, yani Otomat Kontrol Kartı (Vending Machine Controller) — her zaman yöneticidir. Geri kalan her şey, yalnızca kendisine sorulduğunda konuşan bir çevre birimidir.
Yönetici, çevre birimleri ve adresler
Her çevre birimi türünün ayrılmış bir adresi vardır. Bozuk para ünitesi 0x08 adresinde, banknot okuyucu 0x30 adresinde, ilk nakitsiz cihaz (kart okuyucu veya mobil ödeme terminali) 0x10 adresinde, ikinci nakitsiz cihaz 0x60 adresinde yanıt verir. Hat paylaşımlı olduğu için MDB, 9 bitlik bir seri format kullanır: dokuzuncu bit — mod biti — bir baytın adres mi (yönetici, kimin dinleyeceğini seçer) yoksa düz veri mi olduğunu belirtir. Yalnızca adreslenen çevre birimi yanıtlar. Her mesaj bir sağlama toplamıyla biter; böylece bozulmuş bir çerçeve işlenmez, yeniden istenir.
Yönetici, konuşmayı bir döngü içinde yürütür. Her çevre birimini yoklar, “bildirecek bir şey var mı?” diye sorar; çevre birimi ya yanıtlar ya da susar. Bir MDB hattında, önce VMC istemeden hiçbir şey olmaz. Birbirinden bağımsız birkaç cihaz taşıyan bir hattı öngörülebilir kılan tek kural budur.
Bir ödeme gerçekte neye benzer
Bir işletmeci için ilginç kısım nakitsiz cihaz sınıfıdır — çünkü modern bir terminal (kart okuyucu, QR tarayıcı, yemek kartı kabul birimi) tam olarak orada yaşar. Nakitsiz bir işlem, kısa bir durum makinesidir:
- Etkinleştirme. VMC, nakitsiz cihaza ödeme almasına izin verildiğini bildirir.
- Oturum başlangıcı. Müşteri kart ya da telefon okutur. Cihaz, VMC'ye bir ödeme yönteminin hazır olduğunu ve gerekiyorsa mevcut bakiyeyi bildirir.
- Satış isteği. Müşteri ürün seçer; VMC, nakitsiz cihazdan belirli bir ürün için belirli bir tutarı onaylamasını ister.
- Onay / ret. Cihaz tutarı yetkilendirir ya da reddeder.
- Satış başarılı. Makine ürünü verir ve satış ancak o zaman kesinleşir, para ancak o zaman tahsil edilir.
Bu sıralama önemlidir. Para, ürün düştükten sonra alınır, önce değil — yani sıkışmış bir spiral ya da boş bir göz müşteriyi borçlandırmaz. MDB bu güvenceyi doğrudan protokole gömer.
Neden temel, neden dipnot değil
MDB otuz yıllık, bilinçli olarak yalın ve sahadaki neredeyse her makinede hâlâ mevcut. Gücü tam olarak buradan gelir: bir cihaz MDB konuşabiliyorsa, kendisinden yıllar önce üretilmiş bir makineye katılabilir. Nakitsiz çevre birimi olarak kaydolan bir terminal, makinenin yeniden tasarlanmasını, yeniden kablolanmasını ya da değiştirilmesini gerektirmez. Yalnızca hattı konuşmasını gerektirir.
Tüm platformumuz bu menteşe üzerinde döner. Ödeme terminalinin içinde çalışan Android yazılımı Hero Nexus, MDB hattına nakitsiz cihaz olarak kaydolur — böylece 1998'de bozuk para için tasarlanmış bir makine, bugün temassız kart, yemek kartı ya da QR ödeme kabul eder; hem de makinenin kendi kontrol kartında hiçbir değişiklik olmadan. Bunun üzerindeki her şey — telemetri, bulut raporlama, filo yönetimi — temiz bir MDB entegrasyonunun sırtında taşınır.
Terminalin hatta katıldıktan sonra neleri kabul ettiğinin tam resmini istiyorsanız, otomat ödeme sistemleri sayfamız kartı, temassızı, yemek kartlarını, İstanbulkart'ı ve QR'ı ayrı ayrı okuyucular değil, tek bir yetenek olarak anlatıyor.
MDB gösterişli değildir. Sağlama toplamlı, 9600 baud'luk bir seri döngüdür. Ama bir self-servis makinesinin atılmak yerine yükseltilebilmesinin nedeni de odur — ve bir sonraki filonuzu almadan önce bunu anlamaya değer.