Jump to content
Burak KAYMAKCI

İ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)

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More