sepet mantığı tamamen sizin hayal gücünüze kalmış. Benim genel senaryom sepeti dbde tutmaktan yana böylece kullanıcının alışverişini hatırlamak kolaylaşıyor.
Bunun yanında ürün için ek seçenekler tutulacaksa bununda gözönünde bulunması gereklidir. Stoktan düşme çok basit bir ayrıntı.
Ödeme yöntemleri ile ilgili durumda aynı anda birden fazla ödeme sistemini desteklemekle ilgili.
Ödeme sistemleri ile ilgili sevdiğim kütüphane :
https://github.com/omnipay/omnipay
çok deneme fırstatım olmadı fakat çok işinize yarayacağını düşünüyorum.
Sepet içinde :
https://github.com/moltin/laravel-cart
HalkBank EST altyapısı kullanır. Oldukça basit bir abisi var. cUrl ile xml data post edip sonuçları işlersiniz. 3D model'de de böyledir. 3D_PAY modeli en hızlı çözüm üretebileceğiniz EST ödeme modelidir. Maalesef müşteri haricinde döküman vermiyorlar. Test için ayrı bir adres ve kart bilgisi mevcut.
Ziraatle çalışmadım ama sistem 3 aşağı 5 yukarı aynıdır. Yerli yabancı bir çok ödeme sistemi ile çalıştım 1 tanesi haricinde sistemler hep aynı şekilde işliyor. XML yada POST data üret cURL ile gönder sonucu işle.
Dikkat edilmesi gereken husus aynı şipariş için 2 defa ödeme çekilmemesi. Mesela Garanti bankası buna izin vermez zaten buda sorun çıkartır. Bunun yanında sepet alt özellik yoksa çok sorun teşkil eden bir bölüm değil. Yukarda verdiğim 2 paket ortalama bütün senaryolarınıza cevap verecektir.
İyi çalışmalar kolay gelsin.