İstersen önce sepet ve havale ile ödeme işlemlerini halletmeye çalışalım. Spagetti bir program içinde boğuluyor gibisin. Elimi tut
Veritabanı yapısı nasıl?
product list
aldığın bir
/cart
sayfası gerekiyor. Burada gelen ürünleri veritabanından bulup sırasıyla listelemelisin. - - Sepet düzenleme işlemleri sonra!
Buradan ilerlediğimizde bir sipariş oluşturulmalı. Ardından ödeme sayfasına yönlendirilmeliyiz. - - Ödeme yapılmadıkça veritabanında sipariş "Ödenmedi" olarak kalmalı. Veritabanında buna özel bir de
ödeme_status
yazsan önbellek için iyi olur.
Ödeme sayfasına
sipariş_id
ile gitmeliyiz. Siparişin tutarına göre ödeme yapılınca, burada havale için sadece havale bilgilerini göstereceğiz, bir de
/payment_confirm
olmalı. Gelen isteği, çalışacağın ödeme sistemine göre düzenleyecek olsan da, şimdilik temel bir
{"order_ID", "paid_amount"}
isteği alsan yeterli. Bu da kartla ödemede, ödeme aracı şirketin sana gönderdiği onay olacak.
Havale ile ödeme de panelden elle bir ödeme oluşturtacak.
Değinmeyi unuttuğum şey de yapısı:
Sipariş ve ödemeler ayrı olacak. Ödemeleri birer fatura gibi de düşünebilirsin. Ödemeler ve siparişleri birbirine
one to one
veya
one to many
olarak bağlayabilirsin. One to many yapısıyla birden fazla ödemeleri, örneğin başarısız ödemeleri ve farklı ödeme yöntemleriyle denemeleri görebilirsin. Panelden ödemelerin geçmişi gözükür. Havale için elle ödeme aldım olarak girilir ve siparişin
ödeme_status
değeri de
true yapılır.