Iyzico Ödeme Entegrasyonu
eOfis firması için Iyzico ile ödeme entegrasyonu yaptım.
Proje Açıklaması
eOfis firması için Iyzico ödeme altyapısını entegre ederek full-stack bir ödeme sistemi geliştirdim. Bu entegrasyon kapsamında, kullanıcıların kolaylıkla ödeme yapabilmesi için HTML, CSS ve JavaScript kullanarak kullanıcı dostu bir arayüz tasarladım. Arka planda .NET teknolojisini kullanarak ödeme işlemlerini gerçekleştiren servisler yazdım. Kayıtlı kartlar üzerinden ödeme yapma sürecini kolaylaştırmak adına, kullanıcının kart bilgilerini güvenli bir şekilde token olarak SQL veritabanında depoladım. Kullanıcının daha önce kaydettiği kartları görüntüleyebilmesi, kartını silebilmesi ve dilediği kartla ödeme başlatabilmesi için API endpoint’leri geliştirdim. Aynı zamanda Iyzico API’si üzerinden ödeme başarılı olduğunda tarafımıza dönen yanıtları işleyen endpoint’leri de sistemin bir parçası haline getirdim. Bu sayede ödeme süreci kullanıcı deneyimini bozmadan, hızlı ve güvenli şekilde tamamlanabilir hale geldi.
Ödeme sistemi içerisinde güvenliği ve doğruluğu artırmak adına kart bilgileri girişinde bazı validasyon kuralları uyguladım. Kullanıcının girdiği isim ve soyismin, kart üzerindeki gibi ad ve soyad formatında olması gerektiğini kontrol ettim. Kart numarasının Luhn algoritmasına göre geçerli olup olmadığını test eden özel bir doğrulama sistemi oluşturdum. Son kullanım tarihi geçmiş kartlar için kullanıcıya uyarı mesajları gösterdim ve CVV kodunun en az 3 haneli olmasını zorunlu kıldım. Ayrıca kart adı alanının boş geçilmemesi gerektiğini belirten önleyici kontrollerle kullanıcıyı yönlendirdim. Bu validasyonların tümü hem frontend tarafında anlık olarak hem de backend tarafında güvenlik amacıyla tekrar test edilerek devreye alındı. Böylece, kullanıcı hatalarının ve kötü niyetli girişimlerin önüne geçilerek sağlam bir altyapı oluşturuldu.
Arka tarafta ise sistemin sürdürülebilirliği için SQL üzerinde detaylı bir yapı kurdum. Yazdığım fonksiyon ve view’lar aracılığıyla borcu olan kullanıcıları günlük olarak tespit ettim ve oluşturduğum özel listeyi kullanarak otomatik ödeme işlemini devreye aldım. .NET ortamında geliştirdiğim Schedule API ve Hangfire zamanlayıcı entegrasyonu sayesinde sistem, günde iki kez otomatik olarak ödeme almayı denemekte ve duruma göre başarılı ya da başarısız yanıtları kaydetmektedir. Ayrıca, ödeme verilerinin analizini kolaylaştırmak amacıyla bir Store Procedure yazarak hem borç durumu hem de yapılan tahsilatların detaylarını içeren kapsamlı bir rapor hazırladım. Bu raporları sistemde tanımlı yetkili kişilere periyodik olarak iletecek şekilde yapılandırdım. Tüm bu geliştirmeler sayesinde ödeme operasyonları tamamen dijitalleştirilmiş, manuel hatalar minimize edilmiş ve finansal süreçlerde ciddi anlamda zaman tasarrufu sağlanmış oldu.