Paytr ödeme altyapısı kullanan sitenizde PAYTR IFRAME connection error. err: Unsupported SSL protocol version hatası çözümü için yazının devamını inceleyin.
OpenCart, WooCommerce, PrestaShop ve Magento benzeri e-ticaret sistemleri kullanan sitelerinizde Paytr ve Paypal ödeme sayfasında PAYTR IFRAME connection error, Unsupported SSL protocol version benzeri hatalar alıyorsanız, hatanın nedeni ve çözümüne yazının devamından ulaşabilirsiniz.
İçindekiler
Hata Kodları
#PAYTR IFRAME connection error. err: Unsupported SSL protocol version
#PAYTR IFRAME connection error.
#err: Unsupported SSL protocol version
#Unknown SSL protocol error in connection to tls.paytr.com:443
Hatanın Nedeni
Hatanın nedeni sunucunuzda güvenlik açığı bulunan ve artık desteklenmeyen OpenSSL/1.0.0 sürümünün kullanılmasıdır. OpenSSL 1.0.0 sürümünde güvenlik açığı olduğu için bu SSL türü artık desteklenmemekte ve Paytr tarafından, bu SSL sürümü kullanan sitelerde ödemelere izin verilmektedir.
Sunucu SSL Sürümü Öğrenme
#Kendi sunucunuzda kullanılan SSL sürümünü öğrenmek için aşağıdaki adımları takip edebilirsiniz.
- info.php adında bir dosya oluşturun. (farklı bir isimde kullanabilirsiniz.)
- İçerisine aşağıdaki kodları yazarak kaydedin.
1 | <?php phpinfo(); ?> |
- Dosyayı FTP aracılığı ile sitenizin ana dizinine gönderin.
- http://www.siteadresi.com/info.php şeklinde oluşturduğunuz PHP dosyasını çalıştırın.
- SSL Version kısmını bulun.
- SSL Version karşısında yazan değer SSL sürümünüzdür.
Hatanın Çözümü
#Bu hatayı düzeltmek için sunucuzda SSL versiyonunu güncellemeniz gerekmektedir. Bireysel hosting paketleri kullanıyorsanız bu işlemi kendiniz yapamazsınız. Düzeltilmesi için Sunucu/Hosting yöneticinizle iletişime geçebilirsiniz.
Şuan kullanılan güncel SSL sürümü: OpenSSL/1.0.2 dir. Son sürüm veya bir önceki 1.0.1 sürümüne geçiş yaparak sorunu düzeltebilirsiniz.
Alternatif Çözüm
#Sunucunuz SSL 1.1 veya 1.2 sürümlerini destekliyorsa, Paytr modül dosyalarınızda aşağıdaki değişikliği yaparak, SSL versiyonunu kendiniz belirleyebilirsiniz.
- FTP ile sunucunuza bağlantı yapın.
- /public_html/catalog/controller/extension/payment/paytr_checkout.php dosyasını açın. (3.x sürümleri içindir.)
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0 ); satırını bulup, altına ekleyin.
- curl_setopt($ch, CURLOPT_SSLVERSION, 6);
- Dosyayı kaydedip, sunucunuza göndererek tekrar test edin.
#Deneyebileceğiniz diğer SSL sürümleri:
#curl_setopt($ch, CURLOPT_SSLVERSION, 4); (TLS v 1.0 30/06/2017 tarihinde güncelleme yapılan sürümdür.)
#curl_setopt($ch, CURLOPT_SSLVERSION, 5); (TLS v 1.1 sürümüdür.)
#curl_setopt($ch, CURLOPT_SSLVERSION, 6); (TLS v 1.2 sürümüdür.)
OpenSSL ile daha detaylı bilgi için aşağıdaki siteyi ziyaret edebilirsiniz.
https://www.openssl.org/news/vulnerabilities.html
PAYTR IFRAME connection error. err: Connection timed out after 90000 milliseconds