PHP tarafında bir çok entegrasyon gerçekleştirdim. Ama daha önce hiç sepet vs. bir sistemde entegrasyon yapmadım. Genelde bakiye sistemli oluyordu yaptığım işler. Fikirinizi almak istedim bu konuda.
PHP'de sepeti oluşturduk MYSQL tablosu aracılığı ile. Elimizde bir toplam fiyat var. Sepetin içinde ki ürünleri biliyoruz.
Ödeme adımına toplam fiyata göre gönderiyoruz. Bir sipariş id mi belirliyoruz ödemeyi kontrol etmek için? Sipariş ID nerede oluyor, hangi tabloda? Ödeme kontrolünü hangi mysql tablosuna göre yapıyoruz?
Kişi ödeme adımına geçip, sepetine üç beş ürün daha eklerse bunun kontrolü olması lazım.
Algoritma fikirlerinizi, bu yapı için fikirlerinizi bekliyorum.
Sepet & Ödeme Sistemi ve Sanal Pos İlişkisi
10
●179
- 17-02-2021, 22:48:54SEPET TablosuKRak3n_TR adlı üyeden alıntı: mesajı görüntüle
Kullanıcı ID yada Mail, Sepet içeriği (JSON), Tarih
Ödeme Yap butonuna tıklandı, sepet içeriği json'a göre fiyatlar çekildi, toplam fiyat ödeme sistemine gönderildi. Ödeme ekranındaykan kişi 2-3 ürün daha eklerse ve ödeme ekranına dönüp ödeme yaparsa bu 2-3 ürün bedavaya gelmiş olacak
- 17-02-2021, 22:50:03Üyeliği durdurulduo zaman token sistemine geç, ödemeyi başlatınca o mail için yeni token üret böylece sorun çözülmüş olacakemreires adlı üyeden alıntı: mesajı görüntüle
- 17-02-2021, 22:59:29çoğu sistemde cookie olarak tutuyor sepetin içindekileriniemreires adlı üyeden alıntı: mesajı görüntüle
- 18-02-2021, 19:10:13ben iki tablo açıyorum genelde projelerimde eğer yapıyı ben kuracaksam;
cookie ile sepet mantığını yaptığınızı varsayalım.
elinizde ürünler var sepet toplamı var kdvsi var vs. şimdi bu ürünleri nasıl kaydedeceksiniz?
ben iki tablo açıyorum demiştim bunlardan biri orders diğeri ise order_products
orders siparişleri tutuyorum sadece burada da sipariş ID'sini kaydediyorum daha sonra aynı sipariş id ile bu siparişteki ürünleri order_products tablosuna ekliyorum.
kısacası orders tablosu kdv, sepet toplamı, kargo gibi tek alanları tutar siparişin durumu da dahil eğer pazaryeri yapıyorsanız durumu ürüne de eklemeniz gerekli. orders_products ise bu sepetin ürünlerini tekil fiyat adeti ürün adı gibi vs.
edit; ödeme sisteminde de orders tablosunda durum ilk 0 olarak gidiyor. ödeme yapılmadı şeklinde eğer işlem başarılı ise o siparişin id si ile durumu güncelleyin.
edit2: sepet içeriğini veritabanına kaydetme derim eğer büyük bir proje değilse sepete göre analiz yapmayacaksan cookie tutabilirsin. https://github.com/seikan/Cart bu sınıfı kullanabilirsin. - 24-02-2021, 14:42:17emreakdascomtr adlı üyeden alıntı: mesajı görüntüle
Hocam
daha çok kafam karıştı desem yeridir.
Ben şöyle yapmayı düşünüyorum;
Ürünler bir MYSQL tablosunda olacak.
Attığınız CART sınıfı ile ürünleri mysql idlerine göre cookie olarak sepete ekleyeceğim.
Sepette cookieden çekecek ID'ye göre mysql'den arayacak müşteriye gösterecek örneğin.
Ödeme yap butonuna basınca ORDERS içine bir kayıt oluşacak sipariş id, üye id, ürünler (json şeklinde yanyana), toplam miktar (ödenecek fiyat), tarih ve ödeme durumu (0 = bekliyor, 1 = ödendi)
Sanal posa sipariş id ve miktarı göndereceğim.
Eğer sanal postan başarılı gelirse, ödeme durumunu = 1 yapacağım.
Kişinin başarılı satın alımlar kısmınada bu ORDERS içinde ürünler kısmında ki json'u döngüye sokup yazdıracağım.
Yada ödeme başarılı gelince PAID_ORDERS diye bir şey açıp json'u ayıra ayıra tek tek kayıt tutarım.
Düşünceniz nedir? Sağlıklı bir yapı olur mu? - 24-02-2021, 15:45:17Ödeme sayfasında ödeme apisinden önce sepetteki ürünleri siparişler tablosuna durumu 0 olarak taşı ve eklenen idleri ödeme apisine gönder. Ödeme başarılı ise bu idlere ait siparişlerin durumlarını değiştir.
- 24-02-2021, 15:47:56O zaman bu mantığa göre, 3 ürün sepete eklendiyse ödeme butonuna basılınca önce 3 adet ayrı ayrı kayıt eklenecek. 3 adet ürünün sipariş ID'leri aynı olacak. Sipariş ID ödeme apisine gönderilecek. Eğer ödeme başarılı ise o sipariş ID'ye sahip siparişler başarılı olacak. Doğru mudur?Bay_Keskin adlı üyeden alıntı: mesajı görüntüle