Jump to content

İyzico Modülü Kullanırken ContextErrorException Hatası


Recommended Posts

Merhabalar,

 

Prestashop mağazamda ücretsiz iyzico modülünü - sanıyorum kahvedigital tarafından kodlanmış - kullanıyorum.

Modülü kurduktan sonra iyzico sandbox'tan elde ettiğim apiler ile modülü denemek istedim.

Ödeme sayfasında test kredi kartı bilgilerini girip 3D-Secure'u seçtiğimde SMS şifresi istenen sayfaya yönlendiriliyorum fakat orada herhangi bir şifre girdikten sonra debug modda aşağıdaki hata ile karşılaştım.

Sipariş onaylanıyor fakat aşağıdaki hatayı alıyorum debug modda.

 

Sorun hakkında yardımcı olabilirsiniz lütfen?

Modülü de ekliyorum göz atmak arkadaşlar için, zaten internette de kolay bir şekilde bulabilirsiniz.

 

Edit: Aslında bu hatayı ödemekten vazgeçip "Cancel" butonuna tıkladığımda ya da yanlış SMS onay kodu girdiğimde alıyorum. Aşağıda SMS onay sayfasının ekran görüntüsünü bulabilrsiniz.

 

Teşekkür ediyorum.

iyzico-prestashop1.7-master.zip

Screenshot from 2018-04-30 14-39-13.png

Screenshot from 2018-04-30 17-21-55.png

Edited by Burak KAYMAKCI (see edit history)
Link to comment
Share on other sites

bildiğim kadarıyla yeni bir tarihte güncelleme yaptılar, aynı hatayı bende aldım 1.6 versiyonu için ancak son gelen güncelleme de düzeldi. 1.6 da yaptılar 1.7de yapmamış olabilirler, bunun için desteğe mail attığında çözüyorlar

Link to comment
Share on other sites

Teşekkür ederim bilgilendirme için.
Aslında 1.6 sürümünü de kontrol ettim fakat 1.7 sürümünden farklı bir şey göremedim.

 

Ben de söylediğiniz gibi direk modüle katkıda bulunan Iyzico çalışanlarına mail attım ve cidden beklemediğim hızda bir dönüş aldım.

Sağ olsunlar, çok yardımcı oldular.

Sorunun tanımı: 3D-Secure sayfasında ödeme yapma reddedilirse, yani "Cancel" butonuna basılırsa, ya da SMS kodu yanlış girilirse sanırım bu durumlar için herhangi bir error mesajı atanmıyor.


Error mesajı atanmadığı için de order_result.tpl dosyasındaki else kısmı okunmaya devam ediyor ve oradaki,

{if locale = 'tr'} 

bloğu ile karşılaşıyor. Herhangi bir hata mesajı ile karşılaşıldığında sadece error değişkeni smarty'e gönderildiğinden locale değişkeni gibi diğer değerler atanmıyor ve bu yüzden "Undefined index" hatası veriyor.

 

Sorunun çözümüne gelecek olursak; aldığım tavsiye üzerine ben burada order_result.tpl yerine success_result.tpl ve error_result.tpl adında iki farklı dosya oluşturdum ve hata durumunda error_result.tpl'ye, ödemenin başarılı olduğu durumda da success_result.tpl'ye yönlendirdim. Bu dosyaları ekte bulabilirsiniz.

 

Bunun için /controllers/front/result.php dosyasında try bloğu içindeki

$this->setTemplate('module:iyzicocheckoutform/views/templates/front/order_result.tpl');

satırını

$this->setTemplate('module:iyzicocheckoutform/views/templates/front/success_result.tpl');

olarak değiştirmelisiniz.

Ayrıca catch bloğu içindeki

$this->setTemplate('module:iyzicocheckoutform/views/templates/front/order_result.tpl');

satırını yine aynı şekilde

$this->setTemplate('module:iyzicocheckoutform/views/templates/front/error_result.tpl');

olarak değiştirmelisiniz.

success_result.tpl

error_result.tpl

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...