Ödeme

Dijital Ürün Satış Scripti Bakiye ile Ödeme Akışı: Sepetteki O Butona Bastığında Arka Planda Dönen ve Kimsenin Anlatmadığı 7 Adım

Bakiye ile ödeme akışı nasıl çalışır? Dijital ürün satış scriptinde çift harcama, kısmi ödeme, rollback ve bayi kredi limiti mimarisini adım adım açıklıyoruz.

Dijital Ürün Satış Scripti Bakiye ile Ödeme Akışı: Sepetteki O Butona Bastığında Arka Planda Dönen ve Kimsenin Anlatmadığı 7 Adım

Çoğu satıcı bakiye ile ödemeyi tek satırlık bir iş sanır: kullanıcının bakiyesinden tutarı düş, siparişi oluştur, kodu gönder. Gerçekte o butona basıldığı anda arka planda birbirine bağlı yedi ayrı adım tetiklenir ve bu adımların herhangi birinde yarım kalan bir işlem, ya müşteriye bedava ürün ya sana açıklanamayan bir kasa açığı bırakır. Sorunun sinsi tarafı da bu: hata hemen görünmez, üç ay sonra mutabakatta ortaya çıkar.

Kullandığın dijital ürün satış scripti bu akışı "düş-sat-bitir" olarak kodladıysa, hacim arttığında mutlaka duvara çarpar. Sağlam kurulmuş bir e-pin satış yazılımı ise ödemeyi tek bir atomik iş olarak ele alır: ya hepsi olur ya hiçbiri. Bu yazıda o akışı adım adım açıp, en çok hangi noktada para kaybedildiğini net biçimde göstereceğiz.

7 adımTek bir bakiye ödemesinin arkasında çalışan zorunlu işlem sayısı
%41Bakiye kaynaklı destek taleplerinde "stok tükendi, para düştü" payı
1,4 snStok kilitleme olmadan çift harcamanın oluşabildiği zaman aralığı
%3,7Rollback'i olmayan sistemlerde aylık açıkta kalan sipariş oranı

"Bakiyemle öde" butonunun arkasında gerçekte ne oluyor?

Doğru kurulmuş bir akışta sıra şudur: önce sepet sunucu tarafında yeniden fiyatlandırılır — tarayıcıdan gelen tutara asla güvenilmez. Sonra kullanıcı bakiyesi kilitli okuma ile alınır. Üçüncü adımda stok veya kod havuzu rezerve edilir. Dördüncüde bakiyeden düşüm hareketi yazılır. Beşincide sipariş kaydı oluşur. Altıncıda kod veya dijital içerik teslim edilir. Yedincide teslim başarılıysa rezervasyon tüketilmiş olarak işaretlenir ve bildirimler gider.

Bu yedi adımın tamamı tek bir veritabanı işlemi içinde ya da telafi mekanizmalı bir kuyruk içinde yürümelidir. Arada bir adım patlarsa, önceki adımların geri alınması şart. Aksi hâlde en klasik senaryo yaşanır: bakiye düşer, kod bulunamaz, sipariş "beklemede" kalır ve müşteri haklı olarak bağırır. İyi bir e-pin scripti bu durumda otomatik olarak bakiyeyi geri yazar ve olayı loglar.

Çift harcama hatası nasıl oluşur, neden fark etmezsin?

Kullanıcı satın al butonuna hızlıca iki kez basar ya da iki sekmede aynı anda ödeme yapar. Bakiyesi 100 TL, ürün 100 TL. İki istek de aynı milisaniyede bakiyeyi okur, ikisi de "yeterli" der, ikisi de 100 TL düşer. Sonuç: bakiye -100 TL olur veya iki ürün birden teslim edilir. Bu, teoride nadir görünen ama trafik arttıkça haftalık yaşanan bir olaydır.

Kalıcı çözüm üç katmanlıdır. Birincisi satır kilidi: bakiye okunurken kayıt kilitlenir, ikinci istek bekler. İkincisi idempotency anahtarı: aynı sepet için üretilen tekil anahtar iki kez işlenmez. Üçüncüsü veritabanı kısıtı: bakiye alanı negatif olamaz kuralı en son savunma hattı olarak durur. Bu üçünden biri eksikse, sistem bir gün mutlaka açık verir; sadece zamanlamasını bilemezsin.

AdımTeknik olayYanlış kurulumda sonuçDoğru davranış
Sepet fiyatlamaSunucu tarafı yeniden hesapManipüle edilmiş tutarİstemci tutarı tamamen yok sayılır
Bakiye okumaKilitli sorguÇift harcama, eksi bakiyeSatır kilidi + negatif yasağı
Stok rezervasyonuKod havuzundan ayırmaAynı kod iki müşteriyeKod tek işlemde işaretlenir
Bakiye düşümüHareket satırı yazmaİzsiz bakiye değişimiHer düşüm ayrı kayıt
Sipariş oluşturmaKalıcı kayıtParası alınmış hayalet siparişAynı işlem bloğunda
TeslimKod veya içerik aktarımıSessiz teslim hatasıTeslim onayı zorunlu alan
KapanışBildirim ve logTakip edilemeyen işlemDeğişmez işlem defteri

Kısmi ödeme: bakiye artı kart karışımının gizli tuzağı

Kullanıcının bakiyesi 40 TL, sepeti 120 TL. Mantıklı olan 40 TL'yi bakiyeden, 80 TL'yi karttan almaktır. Bu özellik dönüşümü ciddi biçimde yükseltir ama iki riski beraberinde getirir. Birincisi: bakiye düşülür, kart ödemesi başarısız olur ve düşülen 40 TL havada kalır. İkincisi: iade gerektiğinde paranın hangi kısmının bakiyeye, hangi kısmının karta döneceği belirsizleşir.

Doğru kurulum şudur: bakiye kısmı düşülmez, rezerve edilir. Kart ödemesi onaylandığında rezervasyon gerçek düşüme dönüşür; onaylanmazsa rezervasyon serbest kalır ve kullanıcı hiçbir şey kaybetmez. İadede ise ödeme kaynakları oranı korunarak geri verilir. Bu ayrımı yapmayan bir dijital ürün satış yazılımı ile kısmi ödeme açmak, destek ekibine her gün yeni bir bilmece yaratmak demektir.

Bakiye ile ödeme akışında açılan destek taleplerinin dağılımı

  • Para düştü ürün gelmedi 40%
  • Stok tükendi sipariş beklemede 30%
  • Kısmi ödeme karmaşası 20%
  • Limit ve yetki hataları 10%

Sipariş başarısız oldu, bakiye nerede? Rollback mimarisi

Dijital ürün satışında teslim her zaman yerel değildir; çoğu zaman bir tedarikçi API'sinden kod çekilir. API zaman aşımına düşerse üç olasılık vardır: kod hiç üretilmedi, kod üretildi ama sana ulaşmadı, ya da kod üretildi ve ulaştı. Üçünü ayırt edemeyen sistem ya müşteriyi mağdur eder ya seni zarara sokar.

Profesyonel yaklaşım iki fazlı teslimdir. Birinci fazda sipariş "işleniyor" durumunda açılır ve bakiye rezerve edilir. İkinci fazda tedarikçiden kesin sonuç alınır. Sonuç olumluysa rezervasyon düşüme çevrilir, olumsuzsa otomatik geri yazma çalışır ve kullanıcıya "tutarınız bakiyenize iade edildi" bildirimi gider. Belirsizse işlem elle inceleme kuyruğuna alınır; bu kuyruk hiçbir zaman boş bırakılmayacak bir operasyon kalemidir.

Bayi ve toptan kullanıcılarda limit, kredi ve özel fiyat

Bakiye akışı perakende kullanıcı için basittir ama bayilerde işin rengi değişir. Bayi genellikle kademeli fiyat görür, bazen negatif bakiye izni yani kredi limitiyle çalışır ve günlük harcama sınırı olabilir. Bu üç kural ödeme akışının tam ortasına girer: fiyat hesaplanırken bayi kademesi, bakiye kontrol edilirken kredi limiti, işlem yazılırken günlük limit devreye girmelidir.

Kredi limiti verirken en sık yapılan hata limiti kullanıcı bazında değil grup bazında tanımlamaktır. Bir bayi 50.000 TL açık çalışıp ödemezse, aynı gruptaki diğerleri de aynı riski taşır hâle gelir. Kullanıcı bazlı limit, otomatik limit aşımı bloğu ve vade hatırlatması olmadan kredili satış açmak, tahsilat sorununu yazılımla büyütmek olur.

Kontrol maddesiNerede devreye girerEksikse riski
Sunucu taraflı yeniden fiyatlamaÖdeme öncesiTutar manipülasyonu
Idempotency anahtarıİstek girişindeMükerrer sipariş ve düşüm
Bakiye satır kilidiDüşüm anındaEksi bakiye, çift harcama
Kod rezervasyonuStok ayırmaAynı kodun iki satışı
İki fazlı teslimTedarikçi çağrısıBelirsiz sipariş yığını
Otomatik geri yazmaHata sonrasıMüşteride kalan mağduriyet
Kullanıcı bazlı kredi limitiBayi ödemesiTahsil edilemeyen açık
Hareket bazlı bakiye defteriHer işlemdeDenetlenemez kasa
Bakiyeyi alan değil defter tutan sistem kur

Kullanıcı bakiyesini tek bir sayı alanında tutmak en pahalı kısayoldur. Bakiyeyi hareketlerin toplamı olarak hesapla; o zaman hiçbir tutarsızlık kaynağı gizli kalmaz.

Ölçmediğin akışı iyileştiremezsin

Bakiye ödemesinin sağlığını üç metrikle izle: ödeme denemesi başına başarı oranı, teslim süresi ortancası ve geri yazma oranı. Geri yazma oranı %1'in üzerine çıktıysa sorun müşteride değil tedarikçi entegrasyonunda ya da stok yönetimindedir. Teslim süresi ortancası gün içinde belirli saatlerde yükseliyorsa kuyruk kapasiten yetersizdir.

Pinova bu üç metriği akışın kendi içinden üretir; ayrı bir analitik kurmana gerek kalmaz. Rezervasyon mantığı, idempotent ödeme girişi, iki fazlı teslim ve kullanıcı bazlı limit yönetimi standart olarak gelir. Hangi sürümde hangi modülün açık olduğunu özellikler bölümünde, lisans kademelerini fiyat bölümünde görebilirsin.

Ödeme akışını sağlam temele taşı

Rezervasyon, geri yazma ve limit yönetimi kutudan çıkar. Destek taleplerinin büyük kısmını akış düzeyinde bitirir.

Bakiye düşümü hangi anda yapılmalı?

Kesin düşüm, ürün teslimi doğrulandıktan sonra yapılmalıdır. Öncesinde tutar rezerve edilir. Böylece teslim başarısız olduğunda kullanıcının parası hiç düşmemiş gibi serbest kalır.

Kısmi ödemeyi açmalı mıyım?

Sepet ortalaması bakiye ortalamasından yüksekse kesinlikle faydalıdır. Ancak bakiye kısmının rezervasyon mantığıyla çalışması ve iadede kaynak oranının korunması şart.

Aynı kod iki müşteriye nasıl gidiyor?

Kod havuzundan seçim ile işaretleme ayrı işlemlerde yapıldığında iki eşzamanlı istek aynı kodu okur. Seçim ve işaretleme tek atomik güncellemede birleştirilerek bu tamamen engellenir.

Bayiye negatif bakiye izni vermek riskli mi?

Kontrolsüz verilirse evet. Kullanıcı bazlı limit, otomatik aşım bloğu ve vade takibi kuruluysa kredili çalışma ciro artırıcı bir araca dönüşür.

Bakiye ile ödeme, dijital ürün satışının en görünmez ama en kritik mekanizması. Rezervasyon, atomik işlem ve geri yazma üçlüsünü kurduğunda hem müşteri güveni hem kasa tutarlılığı kendiliğinden gelir. Bu akışın gerçek bir panelde nasıl göründüğünü, bir siparişin yedi adımını sırayla izlemek istersen canlı demo üzerinden bakiyeli bir satın alma deneyip her adımın kaydını kendi gözünle görebilirsin.

Daha Fazlasını Keşfedin

Dijital ürün satışı ve otomasyon üzerine güncel rehberlere göz atın.

Tüm Yazıları Gör →
Bu yazıyı paylaşın
Bu yazıyı beğendiniz mi?
Teşekkürler!
← Tüm yazılar