Evet biraz oyle oldu farkindayimÇok geniş bir soru olmadı mı? Hangi ödeme sağlayıcısını kullanacaksan onunun API'sine uygun bir yol çizmelisin.
İstersen önce sepet ve havale ile ödeme işlemlerini halletmeye çalışalım. Spagetti bir program içinde boğuluyor gibisin. Elimi tutEvet biraz oyle oldu farkindayim. Soyleydi aslinda ben bir Flask uygulamasi yaptim. Bunu aslinda Wordpress'e koymam lazimdi. Mesela, benim Flask sayfalarimi routelayamadim. Cozemedim. Sonra eger onlari routelayabilseydim. Odeme kismini yapmaya calisacaktim. Kullanici albumden secip satin alacakti boylelikle stajyerlik unvanindan kurtulacaktim ama bir cozum getiremedim. Sadece tek basima yapiyorum arastirip cozuyorum. Yuzdum yuzdum karaya 1 metre kaldi cikamiyoruz. Altini cizmek isterim pro-kickbox'tan self-taught developer olma yolunda gidiyorum. Bazi noobluklarim olabilir . Velhasil, durum boyle. Aslinda hedefim suydu iste: Flask'i routelayacaktim sonra JS ile `Cart` icindeki producti AJAX ile alip kontrol edicektim. Mesela, kullanici secti aldi o zaman onaylandiginda uygulamam secmeye izin verecek.
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!ödeme_status
yazsan önbellek için iyi olur.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.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.Yardim eline hayir dememİ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ınasipariş_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 birbirineone to one
veyaone 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.
Öncelikle buradan hiçbir özel mekana geçemeyiz, bunu aklınızdan bir çıkarın.Yardim eline hayir demem. Simdi, aslinda bu kismi anladim. Istersen musaitsen discorddan 5 dakika gosterebilirim yapmak istedigimi. Zaten bu cozum yapisi benim icin kolay gibi. Yani mantiksal olarak sizin gibi dusundum yada ona yakinim diyebilirim. Sadece benim aklimi karistiran konuya nasil saldirmam gerektigi. Buarada Armut'tan bana yardimci olabilecek hocada ariyorum. Elimde ne kaynak olabilirse onun ile cozmeye calisiyorum.
Okay, sikinti yok. Boyle bir kural varsa bilmiyordum kusura bakmayin. Sadece daha kolay oluyor screen acip gostermek vs ondan dedim kasitli birsey yok rica ederim. Ben simdi antremana gidecegim ama kisaca soyle anlatayim. Beni staja alan yer sagolsunlar (31 yasinda yinede aldilar staja) bana basit projeler ile basladilar cogunu yaptim bitirdim. Simdi, bir album yapiyorum. Bir sayfada bir suru fotograf var onu secip satin aliyorsun o fotograf senin oluyor.Öncelikle buradan hiçbir özel mekana geçemeyiz, bunu aklınızdan bir çıkarın.
Programın ne yaptığını kodlar ve görsel çizimler ile açıklarsanız üzerinden anlatabilirim. Müsait olduğumda da veritabanı ve fonksiyon şemaları ile anlatımımı destekleyeceğim.
Aceleniz yoktur inşallah?
Hocam selam bir bakma ihtimaliniz olabildi mi?Öncelikle buradan hiçbir özel mekana geçemeyiz, bunu aklınızdan bir çıkarın.
Programın ne yaptığını kodlar ve görsel çizimler ile açıklarsanız üzerinden anlatabilirim. Müsait olduğumda da veritabanı ve fonksiyon şemaları ile anlatımımı destekleyeceğim.
Aceleniz yoktur inşallah?
PS: Ben son acikcasi Route'lamanin daha kolay ve daha iyi olacagini dusundum ama tabi sizin yorumunuzuda merak ediyorum. Ilk basta Route'lamaya calisacagim yani buna cok iyi bir zaman ayiracagim.Öncelikle buradan hiçbir özel mekana geçemeyiz, bunu aklınızdan bir çıkarın.
Programın ne yaptığını kodlar ve görsel çizimler ile açıklarsanız üzerinden anlatabilirim. Müsait olduğumda da veritabanı ve fonksiyon şemaları ile anlatımımı destekleyeceğim.
Aceleniz yoktur inşallah?
Hocam selam bir bakma ihtimaliniz olabildi mi?
Tamamdir sikinti yok. Ben o arada arastirma yapiyorum ama rica ederim bir attigim linklere bakin. Bende detayli bir arastirmasini yapiyorum. Sundan cok rahat olur. Mesela admin olaylari. Odeme olaylari hersey hazir WP'de. Yapan senaryolar gordum ve onlarada ulasmaya calisiyorum. 2 secenekte uygun. 2'sinede varim. Ben WordPress'e <iframe> araciligi ile eklemeye calistim ama boyut sikintisi yasadim. Eski ders aldigim bootcamp hocamada yazacagim. Yaparkende ogrenmek istiyorum ders gibi.Hocam saat 2 gibi mesaj yazarım diye planladım kendimi. Mesajınıza detaylıca bakmadım, ama WordPress'e bağlamanın pek mantıklı bir şey olacağını düşünmüyorum. Yapacaksak tam bir program yapalım
Bunu WordPress'e entegre etmek (route) biraz ilginç açıkcası. WordPress'e bir de PHP eklentisi yapıp Flask ile Wordpress'i bağlamanız gerekir. Aradaki bağlantı sizi yorar ve bence bu doğru bir yol değil.Sende ricam madem ki bana yardim eli uzatiyorsun, bana sunu gostermen: Ben uygulamami Wordpress'e Routelamaya mi calisayim ? Mesela boyle.Yoksa kendim Flask app'ime bir payment section yapip Bunu gibi mesela ustune iste bazi WordPress ozelliklerini kendi elimle kodlayayim mi ? Mesela admin page vesaire gibi seyler. Yani bunun dogrusu nedir sence? Yani bir metafor daha yapayim. Karanlikta birkac aydinlik goruyorum ama hangisi en dogru yol bunu kestiremiyorum maalesef.
Bu veritabanı şekli bana çok basit ve kusurlu geldi. Bir mağazanın veritabanı şöyle olmaldıır:Ben MySQL'de database'imi kurdum. 2 DB var. Biri Img's DB oburu User DB. User DB icersinde : id-username-email-password-profile_img-selected_img-link-payment_status var.
Img DB'de ise : img_id-img(blob) ve Reserved(1-0) tarzinda