Arkadaşlar ilginize teşekkürler.
Bir eticaret sitemiz var ve opencart 1.5.5.1 sürüm üzerinde epixel tarafından hazırlanmış ve başka birisi tarafında Türkçeleştirilmiş bir tema kullanıyoruz. Bu arkadaş bize PayU ortak ödeme modülünü de (kendi yazdığı) ücreti karşılığı yükledi. Sorun, aslında en başta kendini belli etmişti ama ben sorduğumda "browser'dan kaynaklıdıri chrome ya afirefoz'a geçin düzelir" demişti. Bende yükledim ama tesadüf test ederken sorun olmayan satışlara baktığım için gözden kaçtı.
Problemi geçenlerde bir başka şey için test yaparken farkettim. Kredi kartı ödemelerimizi PayU şirketi üzerinden alıyoruz. Kullandığımız modül, PayU ortak ödeme sayfasına açılmasını sağlıyor satışın. FAkat dikkat ettim ki ürün adları içinde Ç-Ö ve Ü harfleri varsa, ödemeyi onayla dedikten sonra PayU ortak sayfasına geçmesi gerekirken, browser'da "success checkout" la sonu biten bir linkle, aslında düşmemesi gereken "siparişiniz alınmıştır" diye bir sayfaya düşüyor. PayU'ya asla böyle bir satış bilgisi gitmiyor.
Türkçe harf hatası olması muhtemel gözüktüğü halde İ-Ğ ve Ş harflerinde herhangi bir sorun yok. Dikkatimi çeken bazı verilerdeki harflerde de, Opencart içinde nadiren ama PayU ortak ödeme sayfası ile PayU tarafından gönderilen mutabakat formunda "kodlanmış" şekilde çıkıyor. Örneğin "Sipariş toplamı" şu şekilde çıkıyor "SipariÅ? Toplamı"
PayU ile konuştuğumuzda istedikleri şeyin UTF8 encoding olması. Modülü yapan kişiye sorduğumda ne temada ne de modülde UTF8 sorunu yok diyor. Dediğine göre isimtescil firmasının hosting'i sorunluymuş , başka heryerde çalışıyormuş. Bana Turhost'u öneriyor buraya geçersem sorun kalmauyacakmış . KEndi hosting firmama soruyorum sizde böyle birşey varmı, harflerle ilgili olarak diye onlarda yok diyor.
Bende iyice emin olmak istiyorum çünkü basit bir yazılım kod hatası ise durduk yere yüzlerce lirayı çöpe atmış olacağım. Ve taşırken biliyorumki mutlaka birşeyler unutulacak eksik olacak vsvsv.
Opencart'ın kendi içinde bir hata günlüğü var. Burada 3 tane hata oluşuyor;
2014-01-30 17:12:13 - PHP Notice: Undefined variable: button_confirm in /home/pheptgi2/public_html/catalog/view/theme/default/template/payment/payu.tpl on line 4
Bu TPL dosyasını açtım zaten topu topu 4 satır var, ama birşey ifade ediyormu bilmiyorum isterseniz buraya koyarım.
2014-01-30 15:26:40 - PHP Notice: Undefined variable: product in /home/pheptgi2/public_html/vqmod/vqcache/vq2-catalog_view_theme_fashion-black_template_product_category.tpl on line 188
2014-01-30 15:22:16 - PHP Notice: Undefined variable: product in /home/pheptgi2/public_html/vqmod/vqcache/vq2-catalog_view_theme_fashion-black_template_product_category.tpl on line 251
Bunlara baktığımda her iki satırın da karşılığı boş.
Özetle, içinde Ç-Ö-Ü harfleri olan ürün adları , kredi kartı ile satın alınmak istendiğinde PayU ortak ödeme sayfasına gitmiyor. (tuhaf olan, ürün açarken kazara İngilizce kısmına Türkçe karakterlerle yazsam bile sistem kabul ediyor :) )Bunun dışındaki tüm satışlarım aktif bir sorun yok sadece bu 3 harfde sorun var.
Pratik çözüm var elbette; bütün sorunlu ürünlerden bu 3 harfi çıkarmak. Ama nihayetinde asıl sorunu çözmüyor ve unutma ihtimalim var.
Ne dersiniz? her türlü fikre açığım.
PayU'ya soruyorum "daha önce böyle bir sorun yaşadınız mı?" diye, hayır diyorlar. Bizim için tek önemli olan UTF8 encoding olması ve kullandığınız modülün bize uyması (gerekli alanların adları vsvsvs).
Hosting'in database'ine baktık Fatih Koz'la beraber (ben çok anlamam çünkü), UTF8-ci Türkçe şeklinde ayarlı. İsimtescil'e de anlattım durumu ama onlar bir hata kodu varsa ancak bakabiliriz diyorlar.
Modül'ü hazırlayan arkadaş benden büyük ve fena halde alıngan! ne söylesem ters anlıyor. Bana göre de bazı kodlarda sorun var ama adama bunu söyleyince "başkalarında çalışıyor bu "diyip bozuluyor!
Bende tıkandım kaldım böyle. Hosting şirketine çıkışsam banada mantıksız geliyor mutlaka benzer şekilde php kodları ile birileri birşey yapıyordur onlarda da hata oluşması lazım. Adama çıkışacağım artık doğrumu söylüyor yalan mı oarasını bimiyorum, herkesde çalışıyor senin hosting dandirik diyor. PayU benim senle işim yok senin benimle işin var, hata senin tarafında diyor-ki herhalde bir ton insan bu şekilde çalışıyor adamlarla, sorun olsa çözümünü söylerler.
Sorun sadece bu 3 harf'de ve mutlaka bir yerde bu harflerle ilgili bir hata var ama beni aşıyor. PHP Kodlarına bakınca ben pek birşey anlamıyorum. Evet mantıklı bir çözüm Ç-Ö-Ü harflerini değiştirdiğinde PayU ortak ödemeye geçerse harflerin değişmesi hiç sorun değil.
Arkadaşlar,
şu Ç,Ö ve Ü harflerini gönderirken C,O ve U şeklinde düzletecek olan kodu bana yazmanız mümkünmüdür?