stack of books on table

TCMB Kur Servisi SSL Doğrulama Sorunu

01.04.2021 tarihi itibariyle www.tcmb.gov.tr/kurlar/today.xml üzerinden yapılan otomatik kur güncelleme entegrasyonlarında SSL kaynaklı sorunlar oluştu. Bu soruna dair geçici çözüm arıyorsanız doğru yerdesiniz 🙂

Çözüm: SSL doğrulamasını geçici olarak devre dışı bırakmak.

bu çözümün günü kurtarmak amacıyla geçici uygulanması gerektiğini unutmayalım…

Bu işlemi PHP’de nasıl yapabilirsiniz?
Eğer sizinde sitenizin herhangi bir yerinde “Warning: simple_xml_load_file(): SSL operation failed with code” şeklinde TCMB kur entegrasyonu kaynaklı mesajlar görünüyorsa;

Site kodlarınızda simple_xml_load_file şeklinde arama yapıp içerisinde ya da çok yakınında www.tcmb.gov.tr/kurlar/today.xml bulduğunuz kısımı aşağıdaki şekilde uyarlamalısınız;

$contextOptions = [
	'ssl' => [
		'verify_peer'      => false,
		'verify_peer_name' => false,
	],
];
$tcmbResponse = file_get_contents('https://www.tcmb.gov.tr/kurlar/today.xml', false, stream_context_create($contextOptions));

$currencies = simplexml_load_string($tcmbResponse);

Eskiden $kurlar = simple_load_file(‘https://www.tcmb.gov.tr/kurlar/today.xml’) şeklinde bir kullanım var ise siz yukarıdaki örnekteki $currencies kısmını $kurlar olarak düzenlemelisiniz.

Diğer diller içinde attığınız istekte SSL doğrulamayı devre dışı bırakacak çözümler arayarak derdinize derman olabilirsiniz 🙂


Son olarak bu durumun geçici ya da kalıcı olduğunu bilemeyeceğimizden önerdiğim bu çözümün geçici süreli kullanılması gerektiğini hatırlatmak isterim. Ara ara kodlarınızı SSL doğrulamasını yapacak şekilde düzenleyip problemin düzelip/düzelmediğini test etmenizi şiddetle tavsiye ederim zira güvenli olmayan bir bağlantı özellikle para birimi entegrasyonu gibi bir konuda hayati önem arz etmektedir 🙂

Güzel ülkemizin güzel para biriminin daha kıymetli olduğu günlerde görüşmek üzere, esen kalın…