
Ödeme sistemiyle ilgili genel bilgileri bu ders ile öğrenebiliriz
Bu eğitimde yapacağımız projenin kapsamını ve kullanacağımız teknolojileri öğreneceğiz.
Bu videoda Iyzipay'in sağlamış olduğu dökümantasyon ve ekstra modüller hakkında bilgi sahibi olacağız.
Bu bölümde Sandbox üzerinden ilerleyeceğimiz Iyzico'nun test panelinin özelliklerini kontrol edeceğiz.
Bu bölümde Node.js kurulumunu gerçekleştireceğiz.
Bu bölümde Postman istek yönetim aracını bilgisayarımıza kuracağız.
Bu bölümde NoSQLBooster isimli NoSQL ve SQL veri tabanı yönetim aracını bilgisayarımıza kuracağız.
Bu bölümde dünyadaki sayılı en önemli kod editörlerinden birisi olan Visual Studio Code editörünü bilgisayarımıza kuracağız ve gerekli kısımların üzerinden geçeceğiz.
Bu bölümde Cloud servisimiz olan Heroku üzerindeki işlemlerimizi yönetmek için Heroku-cli kurulumu gerçekleştireceğiz.
Bu bölümde git işlemlerimizi GitHub ve diğer versiyon kontrol sistemlerinde gerçekleştirebilmek için GitHub'ın ara yüz programı olan GitHub Desktop'ı kuracağız.
Bu bölümde projemizi GitHub üzerinde kurmaya başlıyoruz. Bunun yanında BabelJs ayarlarını tamamlayarak kod yazmaya başlıyoruz.
Bu bölümde Iyzipay ayarlarını gerçekleştiriyoruz. Bunun yanında utils olarak çalışabilecek fonksiyonları yazıyoruz.
Bu bölümde iyzipay üzerindeki kart modülünün metotlarını kuruyoruz.
Bu bölümde iyzipay üzerindeki kart modülünün metotlarını test ediyoruz.
Bu bölümde iyzipay üzerindeki taksit modülünün metotlarını kuruyoruz.
Bu bölümde iyzipay üzerindeki taksit modülünün metotlarını test ediyoruz.
Bu bölümde iyzipay üzerindeki ödeme modülünün metotlarını kuruyoruz.
Bu bölümde iyzipay üzerindeki ödeme modülünün metotlarını test ediyoruz.
Bu bölümde iyzipay üzerindeki 3 aşamalı ödeme modülünün metotlarını kuruyoruz.
Bu bölümde iyzipay üzerindeki 3 aşamalı ödeme modülünün metotlarını test ediyoruz.
Bu bölümde iyzipay üzerindeki Checkout form ödeme modülünün metotlarını kuruyoruz.
Bu bölümde iyzipay üzerindeki Checkout form ödeme modülünün metotlarını test ediyoruz.
Bu bölümde iyzipay üzerindeki ödeme iptal modülünün metotlarını kuruyoruz.
Bu bölümde iyzipay üzerindeki ödeme iptal modülünün metotlarını test ediyoruz.
Bu bölümde iyzipay üzerindeki geri ödeme modülünün metotlarını kuruyoruz.
Bu bölümde iyzipay üzerindeki geri ödeme modülünün metotlarını test ediyoruz.
Bu bölümde sunucu için gerekli dosya yapısını ve npm modüllerini kuruyoruz.
Bu bölümde sunucunun doğru environment ile çalışabilmesi için .env ve config dosyalarının ayarlarını gerçekleştiriyoruz.
Bu bölümde geliştirme ve ürün için ayrı ayrı çalıştırma scriptlerini package.json üzerine kuruyoruz.
Bu bölümde Express yapısının doğru çalışabilmesi için index.js içerisinde gerekli olan kod ayarlarını yapıyoruz.
HTTPS Onaylamasını Tarayıcı Üzerindeki Komut ile Geç: sendCommand(SecurityInterstitialCommandId.CMD_PROCEED)
Bu bölümde lokal geliştirme için HTTPS yapısını hazır sertifikalar üzerinden kuruyoruz.
Bu bölümde sunucu tarafı için hata yönetimi yapacağız.
Bu bölümde sunucunun güvenli şekilde çalışabilmesi için CORS ve HELMET isminde 2 paketi kodumuza dahil ederek Express üzerine middleware olarak tanımlıyoruz.
Bu bölümde bir MongoDb atlas cluster'ı oluşturuyoruz ve URI üzerinden bu veritabanına NoSQLBooster'dan bağlantı sağlıyoruz.
Bu bölümde API sistemimiz için bir kullanıcılar modeli ve collection 'ı oluşturuyoruz. Bu model aracılığıyla veri tabanı işlemlerimizi gerçekleştireceğiz. Bunun yanında da örnek veriyi veri tabanına yazacak metotlar kuruyoruz.
Bu bölümde API sistemimiz için bir ürünler modeli ve collection 'ı oluşturuyoruz. Bu model aracılığıyla veri tabanı işlemlerimizi gerçekleştireceğiz. Bunun yanında da örnek veriyi veri tabanına yazacak metotlar kuruyoruz.
Bu bölümde API sistemimiz için bir sepetler modeli ve collection 'ı oluşturuyoruz. Bu model aracılığıyla veri tabanı işlemlerimizi gerçekleştireceğiz. Bunun yanında da örnek veriyi veri tabanına yazacak metotlar kuruyoruz.
Bu bölümde API sistemimiz için bir ödeme başarılı modeli ve collection 'ı oluşturuyoruz. Bu model aracılığıyla veri tabanı işlemlerimizi gerçekleştireceğiz.
Bu bölümde API sistemimiz için bir ödeme başarısız modeli ve collection 'ı oluşturuyoruz. Bu model aracılığıyla veri tabanı işlemlerimizi gerçekleştireceğiz.
Bu bölümde bütün veri tabanı modellerimizi bir yere topluyoruz. Buradaki modellerin hepsini mongoose.connect methodu ile veritabanına bağlıyoruz. Bu sayede bütün uygulama çerçevesinde modeller otomatik olarak veri tabanına bağlanmış olacak.
Bu bölümde veri tabanı bağlantısını environment değişkenleri üzerinden gerçekleştiriyoruz.
Bu bölümde Passport.js, serialize, deserialize mekanizmalarını kuruyoruz. Bu sayede API mekanizmasının herhangi bir yerinde passport üzerinden bir session oluşturabiliyoruz.
Bu bölümde passport-jwt aracılığıyla uygulamaya gelen JWT kodunun açılmasını sağlayarak basit bir yetkilendirme mekanizmasının temelini atmış oluyoruz.
Bu bölümde passport.session üzerinden bir middleware oluşturuyoruz. Bu middleware aracılığıyla sisteme authorize olmadan gelen anonim kişilerin bazı route'ları hiç kullanamamasını sağlıyoruz.
Bu bölümde express.Router mekanizmasını ve örnek bir router fonksiyonunu kuruyoruz. Router fonksiyonların her birini bir array'de tutacak şekilde bir index.js dosyası oluşturuyoruz. Bu fonksiyonların array 'inin üzerinden bir loop döndürerek her bir router fonksiyonunun router değişkeniyle birlikte çalışmasını sağlıyoruz. Böylece sistemimizi genişletirken farklı dosyalara farklı route'lar tanımlayabiliyoruz.
Bu bölümde hazır Postman dışarıya aktarmasının kendi bilgisayarımızda içeriye alınmasını gerçekleştiriyoruz. Bu sayede Postman üzerinde istekleri tekrar tekrar oluşturmak yerine tek bir yerden kullanmaya devam edebiliyoruz.
Bu bölümde kullanıcının giriş yapıp JWT token üretmesini sağlıyoruz. Bu token aracılığıyla yollanan isteklerde kullanıcının yetki verilmiş olduğunu görüyoruz.
Bu bölümde bir kullanıcıya kart ekleyerek gerekli veri tabanı kayıtlarını atıyoruz. Ayrıca kullanıcıya kart eklendikten sonra dönen kullanıcı token'ı kaydederek yeni kartlar eklendiğinde bu kartların kullanıcıyla ilişkilendirileceği aşamaları yazıyoruz.
Bu bölümde bir kullanıcıya ait kartları okumak için bir route yazıyoruz. Daha sonrasında bunu Postman aracılığıyla test ediyoruz.
Bu bölümde bir kullanıcıya ait bir kartı cardToken ile silmek için bir route yazıyoruz. Daha sonrasında bunu Postman aracılığıyla test ediyoruz.
Bu bölümde bir kullanıcıya ait bir kartı cardIndex ile silmek için bir route yazıyoruz. Daha sonrasında bunu Postman aracılığıyla test ediyoruz.
Bu bölümde fiyat ve binNumber aracılığıyla taksit bilgisi sorgulamak için bir route yazıyoruz. Daha sonrasında bunu Postman aracılığıyla test ediyoruz.
Bu bölümde cartId ve binNumber aracılığıyla taksit bilgisi sorgulamak için bir route yazıyoruz. Bu sorguyla veri tabanındaki sepetin toplam büyüklüğünden fiyatı elde edip taksitleri sorgulayabiliyoruz. Daha sonrasında bunu Postman aracılığıyla test ediyoruz.
Bu bölümde birden fazla yerde kullanılacak ve tekrar tekrar aynı aşamaların yazmak istemediğimiz için bir utils fonksiyonu oluşturuyoruz. Bu utils fonksiyonu ödemenin durumuna göre otomatik veri tabanı kayıtları atıyor.
Bu bölümde kullanıcının route üzerinde yeni bir kart üzerinden normal ödeme gerçekleştirebilmesi ve ödeme sonucunda kredi kartının kaydedilmemesi için Normal Ödeme modülünü kontrolleriyle birlikte kuruyoruz.
Bu bölümde kullanıcının route üzerinde yeni bir kart üzerinden normal ödeme gerçekleştirebilmesi ve ödeme sonucunda kredi kartının kaydedilmesi için Normal Ödeme modülünü kontrolleriyle birlikte kuruyoruz.
Bu bölümde kullanıcının route üzerinde hali hazırda kayıtlı bir kart index numarası üzerinden normal ödeme gerçekleştirebilmesi için Normal Payment modülünü kontrolleriyle birlikte kuruyoruz.
Bu bölümde kullanıcının route üzerinde hali hazırda kayıtlı bir kart token üzerinden normal ödeme gerçekleştirebilmesi için Normal Payment modülünü kontrolleriyle birlikte kuruyoruz.
Bu bölümde kullanıcının route üzerinde 3D Secure ödemeyi tamamlayabilmesi için 3D Secure Ödeme modülünü kontrolleriyle birlikte kuruyoruz.
Bu bölümde kullanıcının route üzerinde yeni bir kart üzerinden 3D Secure ödeme gerçekleştirebilmesi ve ödeme sonucunda kredi kartının kaydedilmemesi için 3D Secure Ödeme modülünü kontrolleriyle birlikte kuruyoruz.
Bu bölümde kullanıcının route üzerinde yeni bir kart üzerinden 3D Secure ödeme gerçekleştirebilmesi ve ödeme sonucunda kredi kartının kaydedilmesi için 3D Secure Ödeme modülünü kontrolleriyle birlikte kuruyoruz.
Bu bölümde kullanıcının route üzerinde hali hazırda kayıtlı bir kart index numarası üzerinden 3D Secure Ödeme gerçekleştirebilmesi için 3D Secure Ödeme modülünü kontrolleriyle birlikte kuruyoruz.
Bu bölümde kullanıcının route üzerinde hali hazırda kayıtlı bir kart token üzerinden 3D Secure Ödeme gerçekleştirebilmesi için 3D Secure Ödeme modülünü kontrolleriyle birlikte kuruyoruz.
Bu bölümde kullanıcının route üzerinde Checkout Formu ile ödemeyi tamamlayabilmesi için Checkout Form modülünü kullanıyoruz.
Bu bölümde kullanıcının route üzerinde Checkout Formu ile ödeme başlatabilmesi için Checkout Form modülünü kullanıyoruz.
Bu bölümde kullanıcının route üzerinde bir ödemeyi iptal edebilmesi için Ödeme İptal modülünü kullanıyoruz.
Bu bölümde kullanıcının route üzerinde ödeme kırılımlarının bir kısmını veya tamamını iade edebilmesi için Geri Ödeme modülünü kullanıyoruz.
Node.js 'in standar bir Dockerfile üzerinden dockerize edilmesini sağlıyoruz. Daha sonrasında ilgili package.json içerisindeki scriptleri güncelliyoruz. Bu scriptler docker aracılığıyla kodumuzu ayağa kaldırmak için kullanılabiliyor.
Bir önceki videoda Dockerize ettiğimiz kodumuzu Heroku üzerinde yeni açacağımız uygulamamıza GitHub ve Heroku CLI kullanarak deploy ediyoruz.
Canlıya aldığımız Online Ödeme API sisteminin Heroku sunucusu üzerinde Postman testlerini gerçekleştiriyoruz.
Bu kursta Online Ödeme Sistemlerinin nasıl çalıştığını anlayacaksın. Node.js kullanarak hem web hem de mobil / desktop uygulamaları ile çalışabilen bir RESTful API yazacağız.
Bu kursta Node.js ve Express.js teknolojilerini sunucu taraflı işlemlerimizi yazmak için kullanacağız. Node.js sunucumuzu Docker ve Heroku kullanarak yayına alacağız. Veri tabanı tarafında MongoDb ve MongoDb Atlas alt yapısını kullanacağız. Geliştirme yaparken JavaScript kodumuzun Node.js tarafında ES6, ES7, ES8, ES9 geliştirmelerini desteklemesi için Babel.js ve @babel/preset-env yapısını kullanacağız. Bu sayede yeni özellikler kodumuzda kullanılabilir olacak.
Iyzico API sisteminin alt yapısını ve Iyzico Merchant panelini öğreneceksin.
Iyzico entegrasyonu yaptıktan sonra aşağıdaki modüllerini kullanmayı öğreneceksin
Kart Modülü
Taksit Modülü
Normal Ödeme Modülü
3D Secure Ödeme Modülü
Checkout Form ile Ödeme Modülü
Ödeme İptal Modülü
Geri Ödeme Modülü
Bu modüller üzerindeki metotların Promise yapısıyla fonksiyonel olarak dağıtılmasını sağlayacağız. Daha sonra dağıttığımız bu metotların testlerini gerçekleştireceğiz
Testler tamamlandıktan sonra sunucu tarafında Express.js ve HTTPS gibi mekanizmaların ayarlarını yapacağız. Yine güvenliği sağlamak için Node.js üzerinde çokca kullanılan metodolojileri kullanacağız.
Sunucu tarafında Authorization (Yetkilendirme) ayarlarını passportjs ve passport-jwt modülleri aracılığıyla gerçekleştireceğiz
MongoDb Atlas üzerinde bir cluster oluşturarak MongoDb bağlantısını tamamlayacağız. Daha sonrasında Kullanıcı, Ürün, Sepet, Ödeme başarılı ve Ödeme başarısız veri tabanı modelleri oluşturacağız. Daha sonrasında örnek verileri bu veri tabanına yazacağız. Bu sayede ödeme sisteminin çalışması için gerekli olan ufak bir BackEnd sistemi elde etmiş olacağız
Bu BackEnd sistemi üzerinde express.Router aracılığıyla mantıksal olarak dağıtılmış route'lar kullanarak yukardaki Iyzico modüllerinin istek bazlı olarak çalışmasını sağlayacağız. Yine bunlar için önceden kurulmuş Postman istekleriyle yazdığımız kodları test edeceğiz.
Node.js uygulamamızı Dockerize ederek GitHub'a kodumuzu yollayacağız. Heroku Container servisleriyle birlikte bu kodun Heroku tarafında çalışmasını sağlayacağız. Daha sonra Heroku tarafında çalışan sistemimiz üzerinden Postman testlerini gerçekleştireceğiz.