PerfexCRM PayTR Eklenti Düzeltmeleri
KategorilerGenelİnternetPHPYardım ve Destek

PerfexCRM PayTR Eklenti Düzeltmeleri

Bu sıralar oldukça fazla kişi tarafından kullanıldığını gördüğüm ve bir yıldan beri severek kullandığım CRM yazılımı olan PerfexCRM’yi bilmeyen yoktur sanırım. Müşteri yönetiminden, teklif yönetimine. Projelerden, zaman takibine kadar oldukça özellik barındıran PerfexCRM’i pek çok özelliği ile Türkiye’de de kullanabiliyoruz.

PerfexCRM’i başta düşünmemi sağlayan yegane şey de PayTR ödeme altyapısı ve PerfexCRM’nin PayTR tarafından desteklenmesi. Resmi eklentisi tamamen ücretsiz ve söylemeliyim ki gerçekten güzel kodlanmış.

Fakat sürekli kullanımlarda PerfexCRM’in bize sağlamış olduğu bazı rahatlıklar gözden kaçmış olacak ki internette de çeşitli yerlerde denk geldiğim ve bizzat iki kez de kendi yaşadığım bir problem mevcut. O da aşağıda gördüğümüz hata.

PAYTR IFRAME failed. reason:Zorunlu alan degeri gecersiz veya gonderilmedi (get-token): email 

Sürekli karşımıza çıkan hata.

Neden PAYTR IFRAME Hatası Alıyorum?

Sebebi aslında çok basit. PerfexCRM kullanıcılarına oldukça fazla opsiyon sunmakta. Bunlardan en önemlisi de faturaları görüntülemek için kullanıcı girişinin zorunlu olmaması. Bu ayar varsayılan olarak aktif. Yani faturaları görüntülemek için özel oluşturulmuş bir fatura bağlantısına tıklandığında kullanıcı girişi gerektirmeden direkt olarak faturaya ulaşabiliyorsunuz. Yanlış anlaşılma olmasın; bu bağlantılar özel olarak karışık bir hash değeri ile üretildiği için tahmin edilmesi zor, yani faturaya farklı bir kişinin ulaşması oldukça zor.

İşte sorun da tam burada başlıyor. PAYTR Iframe API’si İsim, soy isim ve e-posta gibi çeşitli değerlerin gönderilmesini zorunlu kılıyor. Fakat kullanıcı girişi olmadığı için PerfexCRM PayTR modülü bu değeri alamıyor. Ve doğal olarak bu hata ile karşılaşılıyor.

İşin kötü yanı da şöyle oluyor; Siz yönetim panelinden personel girişi yapmış olduğunuz için PerfexCRM PayTR modülü sizin bilgilerinizi kullanıyor. Ve siz hata mesajını görmüyorsunuz. Hata ile sadece giriş yapmamış (ki varsayılan olarak o özellik aktif olduğu için giriş yapmadan faturayı görüntüleyebilen) müşteriniz karşılaşıyor.

Sanırım PerfexCRM’nin bu serbestliği eklenti kodlanırken gözden kaçtı ve bu sebeple bu hata mesajı genel olarak sistemi kurup kullanan kişilerin müşterilerinin başına geliyor. Aşağıdaki güncellemeyi uygulamadan da bu sorunu çözmenin bir yolu var aslında, o da faturaların kullanıcı girişi yapılmadan görüntülenmesini engellemek. Fakat bu da PerfexCRM’nin sunmuş olduğu kolaylıklardan yararlanmamızı engelliyor.

PerfexCRM PayTR IFRAME Hatası Nasıl Düzeltilir?

Bu konuda resmi eklentiye bir iki küçük değişiklik ile yeni özellikler kazandırdım.

Öncelikle giriş yapmamış müşteriler için o şirkete kayıtlı birincil kişinin kullanılmasını sağlıyorum. Bu sayede müşteri giriş yapmadan da ödeme yapabiliyor.

Fakat bu da bizi ikinci bir problem ile karşı karşıya bırakıyor. Bu bir hata mı yoksa bilinçli olarak bırakılmış bir serbestlik mi bilemiyorum. Fakat şirkete kayıtlı aktif bir kişi mevcut olmasa bile PerfexCRM fatura görüntülemesi yapılmasına olanak sağlıyor.

İşte bundan ötürü aktif bir kişi olmasa da fatura ödemelerinin yapılabilmesi için bir ekleme yaptım. O da varsayılan E-posta.

Bu güncelleme ile Kurulum -> Ayarlar -> Ödeme Geçitleri -> PayTR Virtual Pos iFrame API menüsüne düzenleyebileceğiniz bir varsayılan E-posta adresi alanı ekleniyor. Default Mail For No Contact Companies şeklinde. Buraya kendi E-posta adresinizi veya Şirket E-posta adresinizi girebilirsiniz.

Bu sayede şirkete kayıtlı aktif bir kişi olmasa dahi PerfexCRM ile PayTR ödemelerini sorunsuz alabilecek ve PAYTR IFRAME failed. reason:Zorunlu alan degeri gecersiz veya gonderilmedi (get-token): email hatası ile karşılaşmayacaksınız 😊

Türkçe ve İngilizce Ayarı

Ayrıca resmi eklenti bütün iframe isteklerinin Türkçe olarak gönderilmesini sağlıyordu. Yurt dışı müşterileriniz için biraz sıkıntı çıkarabilir diye eklentide dil değerinin de müşterinin varsayılan diline göre ayarlanmasını sağladım.

Eğer müşterinin varsayılan dili Türkçe seçili ise Türkçe, değilse İngilizce olarak PayTR’a bilgi gönderiliyor ve PayTR’da iFrame Ödeme Ekranını ona göre oluşturuyor.

PerfexCRM PayTR Eklenti Güncellemesini Nasıl Kurabilirim?

Bu güncellemeyi kurmak aslında çok basit. Çünkü bütün değişiklikleri tek bir dosyada gerçekleştirdim.

  1. Öncelikle güncellemeyi içeren yukarıdaki PHP dosyasını indirin.
  2. Ardından bu dosyayı modules/paytr_gateway/libraries/ klasöründeki Paytr_gateway.php dosyası ile değiştirin.
  3. Kurulum -> Ayarlar -> Ödeme Geçitleri -> PayTR Virtual Pos iFrame API menüsündeki Default Mail For No Contact Companies alanını yukarıda bahsettiğim şekilde doldurun.
  4. Bol kazançlar diliyorum 🙂

Bu değişiklikleri kısa süre içerisinde PerfexCRM PayTR eklentisinin GitHub reposuna da göndermeyi planlıyorum. Eğer PayTR yetkilileri onaylarsa gerekli güncellemeleri buradan yapmanıza gerek bile kalmayacak.

PerfexCRM SMS Eklentileri

PerfexCRM’i severek kullanıyor ve PerfexCRM için SMS eklentilerine ihtiyacınız var ise aşağıdaki PerfexCRM için özel olarak kodladığımız SMS entegrasyon eklentilerine ulaşabilirsiniz.

NetGSM, MutluCell, KobiKom ve İletiMerkezi gibi çeşitli SMS sağlayıcıları için eklentilerimiz mevcut ve eklenti havuzumuzu genişletmeye devam ediyoruz.

SMS Eklentilerimiz SMS entegrasyonlarını PerfexCRM’nin resmi SMS entegrasyonları nasılsa aynı şekilde bağlantı kuruyor, bu sayede gelecek güncellemelerde gelebilecek tetikleyiciler de dahil olmak üzere bütün tetikleyicileri kullanabiliyorsunuz. Örnek tetikleyicileri görmek için kılavuzumuza bakabilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir