Cogu kisi e-pin satisini basit bir mantik sanir: musteri odemeyi yapar, sistem havuzdan bir kod ceker, ekrana basar, is biter. Kulaga temiz geliyor degil mi? Ta ki ayni saniyede iki farkli musteri ayni urune tiklayana kadar. Iste tam o anda, saniyenin yuzde biriyle olculen o kucucuk araliğin icinde, senin butun itibarin tehlikeye giriyor. Cunku kodu "satis aninda" cekmek, teknik olarak en riskli yontemdir ve piyasadaki basit kurulumlarin buyuk kismi hala boyle calisiyor.
Gercek su: profesyonel bir e-pin satis scripti kodu satista degil, sepete girildigi ya da odeme baslatildigi anda rezerve eder ve kilitler. Bu yaziyi okuduktan sonra "stok var gorunuyordu ama kod gelmedi" mazeretini bir daha kurmayacaksin. Cunku rezervasyon, kilitleme, zaman asimi ve serbest birakma dortlusunun nasil kurgulandigini adim adim goreceksin. Pinova'nin bu dortluyu nasil tek bir akista topladigini da isin icine katacagim.
Kodu satis aninda cekmek neden bir zaman bombasi?
Kodu satis aninda cekmenin tek bir varsayimi vardir: o ana kadar hicbir sey degismeyecek. Oysa gercek trafikte her sey degisir. Odeme saglayicisi callback'i gecikir, musteri sayfayi yeniler, mobil baglanti kopar, bir bayi ayni urunu toplu alir. Bu durumlarin hepsinde havuzdan kod cekme sorgusu birden fazla kez tetiklenebilir. Eger kod satirinda bir durum alani ve satir bazli kilit yoksa, iki islem ayni kaydi okur ve ikisi de "bos" gorur.
Bu mimari hatanin en sinsi tarafi, dusuk trafikte kendini hic belli etmemesidir. Gunde otuz siparis alirken hicbir sorun yasamazsin. Ama bir indirim duyurusu yapip ayni dakikada iki yuz siparis aldiginda sistem catlar. Iyi bir dijital urun satis scripti bu yuzden stok mantigini iyimserlik uzerine degil, kotumserlik uzerine kurar: her kod, aksi ispatlanana kadar "birileri tarafindan isteniyor olabilir" kabul edilir. Pinova'da kod havuzundaki her satir bagimsiz bir varlik gibi ele alinir; tek basina durumu, sahibi, kilit zamani ve gecmisi olan bir kayittir.
Rezervasyon ile kilitleme ayni sey mi?
Hayir, ve bu ayrimi kavramayan her epin yazilim kurulumu er ya da gec ayni duvara toslar. Rezervasyon ticari bir karardir: "Bu kod su siparis icin ayrildi, sure dolmadan baskasina verilmez." Kilitleme ise teknik bir islemdir: veritabani seviyesinde o satirin ayni anda baska bir islem tarafindan okunup degistirilmesini engeller. Rezervasyon dakikalarla, kilitleme milisaniyelerle olculur.
Pratikte ikisi zincirleme calisir. Musteri odemeye gectiginde sistem once satir kilidini alir, kodun hala musait oldugunu dogrular, durumu "rezerve" yapar, siparis kimligini ve son gecerlilik zamanini yazar, sonra kilidi birakir. Toplam sure birkac milisaniye. Ardindan rezervasyon suresi boyunca o kod hicbir sorguda "satilabilir stok" olarak sayilmaz. Odeme onaylanirsa durum "satildi"ya doner ve teslim edilir; onaylanmazsa sure dolar ve kod havuza geri doner. Bu iki asamali yapiyi kurmadan sagliklI bir e-pin satis yazilimi isletmen mumkun degil.
| Kod durumu | Anlami | Stok sayimina girer mi? | Otomatik cikis |
|---|---|---|---|
| Musait | Havuzda bekliyor, kimse talep etmedi | Evet | - |
| Rezerve | Bir siparis icin ayrildi, odeme bekleniyor | Hayir | Sure dolunca musaite doner |
| Satildi | Odeme onaylandi, musteriye teslim edildi | Hayir | - |
| Karantina | Tedarikciden supheli geldi, incelemede | Hayir | Manuel karar |
| Iptal | Iade veya hatali kod, kullanim disi | Hayir | - |
Zaman asimi suresini yanlis secersen ne olur?
Rezervasyon suresi, isletmenin en az konusulan ama en cok para kaybettiren ayarlarindan biridir. Cok kisa tutarsan havale ile odeyen musterinin kodu elinden kayar; adam parayi gonderir, sistem rezervasyonu birakmis, urun tukenmis gorunur ve sen manuel telafi yapmak zorunda kalirsin. Cok uzun tutarsan sepette unutulan yuzlerce siparis stogunu rehin alir, gercekte kodun varken vitrinde "tukendi" yazar.
Dogru yaklasim tek bir sure belirlemek degil, odeme yontemine gore farkli sureler tanimlamaktir. Kredi karti ve aninda onay veren cuzdanlar icin 10-15 dakika fazlasiyla yeterlidir. Havale ve EFT icin sure saatlerle, hatta is gunu mantigiyla olculmelidir. Kripto odemede blok onayini beklemen gerektigi icin ara bir deger uygundur. Pinova'da bu sureler urun bazinda degil odeme kanali bazinda tanimlanir, boylece ayni urun karti farkli musteriler icin farkli pencerelerde kilitlenir. Sure dolmadan once musteriye hatirlatma gonderen bir mekanizma da terk oranini gozle gorulur bicimde dusurur.
Rezervasyonlarin sonuclanma dagilimi
- Odeme onaylandi, teslim edildi 40%
- Sure doldu, havuza dondu 30%
- Musteri vazgecti, iptal edildi 20%
- Manuel mudahale gerekti 10%
Toplu bayi alimlarinda kilit nasil davranmali?
Tek adet satista mesele basit. Ama bir bayi tek seferde iki yuz adet istedigi zaman is degisir. Burada iki yanlis yaklasim vardir: kodlari tek tek dongude cekmek ve hepsini tek bir devasa kilitle tutmak. Birincisi yarim kalan sepetler uretir, ikincisi ise o urunun tum satisini saniyelerce dondurur.
Dogrusu parti bazli rezervasyondur: istenen adet tek bir sorguda, sirali ve limitli bicimde secilir, ayni islem icinde topluca rezerve edilir. Eger istenen adet kadar musait kod yoksa islem hicbir kodu rezerve etmeden basarisiz doner; yarim rezervasyon birakmaz. Bu "ya hep ya hic" prensibi, muhasebe tarafinda da hayat kurtarir cunku bir siparise bagli kod adedi ile fatura adedi her zaman esit kalir. Iyi bir e-pin scripti bayiye ayrica "su an kac adet gercekten cekilebilir" bilgisini rezervasyondan once gosterir; boylece bayi bos yere odeme baslatmaz.
Rezervasyon suresi dolan kodlari havuza geri birakirken kuyrugun sonuna ekle, basina degil. Boylece uzun suredir bekleyen eski kodlar once satilir ve tedarikciden gelen gecerlilik tarihli partiler elinde yaslanmaz.
Iade ve hatali kod durumunda kilit geri alinabilir mi?
Alinamaz, ve bu bilinerek tasarlanmis bir kisittir. Bir kod musteriye bir kez gosterildikten sonra teknik olarak "tuketilmis" sayilir; musteri kullanmamis olsa bile geri alip baskasina satmak buyuk bir risktir. Bu yuzden iade sureci kodu havuza dondurmez, iptal durumuna alir ve yerine telafi kaydi acar. Telafi ya yeni bir kod tahsisiyle ya da bakiye iadesiyle kapanir.
Burada kritik olan izlenebilirliktir. Hangi kodun kime, hangi sipariste, hangi IP ve hangi saatte gosterildigi kayit altinda olmali. Boylece "kod calismiyor" diyen musteriyle tedarikci arasinda kaldiginda elinde tarafsiz bir kanit bulunur. Pinova bu kayitlari kodun kendi gecmis satirinda tutar; siparis silinse bile kod gecmisi kalir. Dijital urun satis yazilimi tarafinda en cok ihmal edilen sey tam olarak budur ve ihmal edenler her ay birkac bin liralik supheli iadeyi kendi ceplerinden karsilar.
| Kontrol | Neden onemli | Sende var mi? |
|---|---|---|
| Satir bazli kilit kullaniliyor mu? | Ayni kodun iki siparise dusmesini engeller | Evet / Hayir |
| Odeme kanalina gore rezervasyon suresi | Havale musterisini kaybetmeni onler | Evet / Hayir |
| Sure dolunca otomatik serbest birakma | Hayalet stok tikanmasini cozer | Evet / Hayir |
| Toplu alimda ya hep ya hic mantigi | Yarim siparis ve fatura farkini bitirir | Evet / Hayir |
| Kod gosterim gecmisi (IP, saat, siparis) | Iade tartismalarinda kanit saglar | Evet / Hayir |
| Karantina durumu | Supheli partiyi satisa cikarmadan tutar | Evet / Hayir |
Kilitleme performansi yavaslatir mi?
Yanlis kurulursa evet, dogru kurulursa hayir. Yavaslamanin sebebi kilidin varligi degil, kilidin ne kadar genis ve ne kadar uzun tutuldugudur. Tum urun tablosunu kilitleyen bir yapi elbette tikanir. Sadece secilen kod satirlarini, sadece durum guncellemesi suresince kilitleyen bir yapi ise binlerce es zamanli istegi rahatlikla tasir.
Pratik kural sudur: kilit icinde asla yavas is yapma. Odeme saglayicisina istek atma, e-posta gonderme, PDF uretme gibi islemler kilit acildiktan sonraya birakilmalidir. Kilit icinde sadece "oku, dogrula, durumu yaz" ucgeni olmali. Ayrica kod tablosunda durum ve urun alanlari uzerinde dogru indeksler bulunmali; aksi halde her rezervasyon tum tabloyu taramak zorunda kalir ve sistem trafik altinda diz coker. Iyi yazilmis bir e-pin yazilimi, kilit suresini kullanicinin hissedemeyecegi bir araliga sikistirir. Ozellikler tarafinda bu mimarinin detaylarini /#ozellikler bolumunde gorebilirsin.
Stok kaosunu bir daha yasama
Rezervasyon, kilitleme, zaman asimi ve karantina mantigi Pinova'da kutudan cikar cikmaz calisir. Kurulum sonrasi tek bir satir kod yazmadan cift satis riskini kapatirsin.
Rezervasyon suresi dolunca musteri parayi gondermisse ne olur?
Sistem odeme kaydini siparisle eslestirir ve stok musaitse yeni bir kod otomatik tahsis edilir. Musait kod yoksa siparis manuel kuyruga duser ve yoneticiye bildirim gider; boylece musteri parasi havada kalmaz.
Ayni kodun iki kez satildigini nasil anlarim?
Kod gecmisi kaydinda birden fazla teslim satiri varsa cift satis olmus demektir. Saglikli bir kurulumda bu satir zaten tekil kisitla engellenir, yani veritabani ikinci teslimi kabul etmez.
Manuel olarak bir kodu kilitleyebilir miyim?
Evet. Supheli veya tedarikci dogrulamasi bekleyen partileri karantinaya alarak satisa cikmasini engelleyebilirsin. Karantinadaki kodlar stok sayiminda gorunur ama satilabilir sayilmaz.
Kilitleme sistemi yuksek trafikte cokme yapar mi?
Kilit dar tutuldugu ve indeksler dogru kuruldugu surece hayir. Sorun cikaran kurulumlarda genellikle kilit icinde e-posta gonderimi veya harici API cagrisi gibi yavas isler yapiliyordur.
Stok yonetimi, dijital urun satisinda gorunmeyen ama her seyi belirleyen omurgadir. Rezervasyon ve kilitleme mantigini dogru kurdugun gun, musteri destek yukun dusecek, iade oranin gerileyecek ve kampanya gunlerinde sistemine guvenerek reklam verebileceksin. Fiyatlandirmayi /#fiyat bolumunden inceleyebilir, bu akisin gercek bir panelde nasil isledigini gormek icin canli demo uzerinden kendi test siparisini olusturabilirsin.

