ERP ve CRM geliştirirken iş, bir noktada başka bir sistemden veri almaya ya da ona veri göndermeye geliyor. Pazaryerindeki siparişi uygulamaya taşımak, ödeme sonucunu öğrenmek, bankadan gelen yanıtı doğru yorumlamak gerekiyor. GitHub’da paylaştığım Marketplace Integrator, PayTR Laravel Client ve Garanti POS, bu alanlarda geliştirdiğim üç paket.
Üçünü burada birlikte anlatmak istedim. Aynı işi yapmıyorlar; hangi ihtiyaca cevap verdiklerini bilmek, doğru projeye bakmayı kolaylaştırıyor.
Marketplace Integrator: farklı veriyi ortak bir modelle okumak
Bir pazaryerinin ürün ve sipariş verisi, diğerininkiyle aynı yapıda gelmiyor. Marketplace Integrator, Trendyol ve Amazon’dan okunan bu verileri ortak Product ve Order modellerine dönüştürmeye odaklanıyor. Listeleme, filtreleme ve alan eşleme işlemleri de bu kapsamda.
Burada önemli bir sınır var: Paket pazaryerinde ürün oluşturmak veya güncellemek için yazılmadı. Ürün bilgisini uygulamanın beklediği alanlara dönüştürmekle, o bilgiyi veritabanına kaydetmek de ayrı işler. Alan eşlemesini paket yapabilir; veriyi kendi kayıt düzenine nasıl yerleştireceğine uygulama karar verir.
Kapsamı ve kullanım örneklerini Marketplace Integrator deposunda bulabilirsiniz.
PayTR Laravel Client: ödeme akışını uygulamaya bağlamak
Ödeme almak, kullanıcıyı bir ödeme ekranına göndermekle bitmiyor. Sonucun öğrenilmesi, gerektiğinde durumun sorgulanması ve iade işlemlerinin ele alınması da gerekiyor. PayTR Laravel Client’ı bu entegrasyon için geliştirdim.
Projenin dokümantasyonunda Direct API ve iFrame akışları, ödeme durumu sorgulama, iade ve webhook doğrulaması yer alıyor. Burada bütün kurulum adımlarını yeniden sıralamak yerine paketin deposuna ve Türkçe dokümantasyonuna yönlendirmek daha faydalı. Kullanılacak sürümün ayarları ve örnekleri birlikte görülebiliyor.
Garanti POS: bankanın farklı akışlarını ele almak
Garanti POS, Garanti sanal POS entegrasyonu için hazırladığım PHP/Laravel paketi. XML istekleri, 3D Secure, GarantiPay ve callback doğrulaması dokümantasyondaki başlıklardan bazıları.
Banka entegrasyonunda akışın adı kadar, kullanılan sürüm ve ayarlar da önemli. Depodaki açıklamalar farklı akışlar için yapılandırma notları içeriyor. Paketi incelerken kendi terminalinizin ve bankayla kullandığınız yöntemin bu ayarlarla eşleşmesine bakmanız gerekir. Kaynak kodu ve örnekleri içeren dokümantasyon GitHub’da açık.
Bu yazıyı üç projeye kısa bir giriş olarak düşünün. Bir paketin kapsamını görmekle kendi uygulamanızdaki akışı doğrulamak farklı aşamalar. Kurulumda paketin güncel açıklamalarını, ilgili servisin resmî belgelerini ve kendi test senaryolarınızı birlikte değerlendirmek gerekiyor.
Bu çalışmaların geliştirme notlarına Projeler bölümünde; entegrasyonların tasarımına ilişkin yazılara da Teknoloji & Yazılım kategorisinde yer vereceğim.
